Năm nay, ứng dụng di động tiếp tục trở nên phổ biến hơn. May mắn thay có nhiều công cụ lập trình cho các nhà phát triển muốn tạo ra chúng. Trong số đó có Flutter, nổi bật gần đây.
Flutter là gì?
Flutter là một framework UI di động miễn phí và mã nguồn mở do Google tạo ra và phát hành tháng 5 năm 2017. Nói ngắn gọn, nó cho phép bạn tạo ứng dụng di động native chỉ với một codebase. Nghĩa là bạn có thể dùng một ngôn ngữ lập trình và một codebase để tạo hai ứng dụng khác nhau (cho iOS và Android).
Flutter bao gồm hai phần quan trọng:
- SDK (Software Development Kit): Bộ công cụ giúp bạn phát triển ứng dụng. Bao gồm công cụ biên dịch code thành native machine code (code cho iOS và Android).
- Framework (Thư viện UI dựa trên widget): Bộ sưu tập các element UI tái sử dụng (nút bấm, ô nhập văn bản, thanh trượt, v.v.) mà bạn có thể cá nhân hóa cho nhu cầu của mình.
Để phát triển với Flutter, bạn sẽ dùng ngôn ngữ lập trình Dart. Ngôn ngữ này được Google tạo ra vào tháng 10 năm 2011, nhưng đã cải tiến rất nhiều những năm gần đây.
Dart tập trung vào phát triển front-end, và bạn có thể dùng nó để tạo ứng dụng di động và web.
Nếu bạn biết chút về lập trình, Dart là ngôn ngữ lập trình hướng đối tượng có kiểu (typed). Bạn có thể so sánh cú pháp Dart với JavaScript.
“Flutter là UI toolkit của Google để xây dựng ứng dụng đẹp, compiled native cho mobile, web, và desktop từ một codebase duy nhất.” - Google, flutter.dev
Tại sao bạn nên học Flutter?
Tôi chọn một số lý do tôi thích Flutter và muốn dùng nó năm sau. Tôi sẽ đưa ra chi tiết và phản hồi của mình bên dưới.

Dễ học và sử dụng
Flutter là một framework hiện đại, và bạn có thể cảm thấy điều đó! Nó đơn giản hơn nhiều để tạo ứng dụng di động với nó. Nếu bạn đã dùng Java, Swift, hoặc React Native, bạn sẽ nhận ra Flutter khác biệt như thế nào.
Tôi cá nhân chưa bao giờ thích phát triển ứng dụng di động trước khi bắt đầu dùng Flutter.
Điều tôi yêu thích về Flutter là bạn có thể tạo ứng dụng native thực sự mà không cần một đống code.
Biên dịch nhanh: Tính năng sản xuất tối đa
Nhờ Flutter, bạn có thể thay đổi code và thấy kết quả real-time. Điều này gọi là Hot-Reload. Chỉ mất một chút thời gian sau khi lưu để cập nhật ứng dụng.
Các sửa đổi lớn buộc bạn phải reload app. Nhưng nếu bạn làm việc như thiết kế, ví dụ thay đổi kích thước element, nó real-time!
Lý tưởng cho MVP của Startup
Nếu bạn muốn trình bày sản phẩm cho nhà đầu tư sớm nhất, Flutter là lựa chọn tốt.
Dưới đây là 4 lý do hàng đầu để dùng nó cho MVP của bạn:
- Phát triển ứng dụng di động với Flutter rẻ hơn vì bạn không cần tạo và maintain hai ứng dụng (một cho iOS và một cho Android).
- Chỉ cần một developer để tạo MVP.
- Hiệu năng tốt – bạn sẽ không nhận ra sự khác biệt giữa ứng dụng native và ứng dụng Flutter.
- Đẹp – bạn có thể dễ dàng dùng widget do Flutter cung cấp và cá nhân hóa để tạo UI giá trị cho khách hàng (bạn có thể tìm ví dụ ứng dụng làm bằng Flutter bên dưới).

Tài liệu tốt
Đối với công nghệ mới, tài liệu tốt là quan trọng. Nhưng không phải lúc nào cũng có!
Bạn có thể học rất nhiều từ tài liệu Flutter, và mọi thứ rất chi tiết với ví dụ dễ dàng cho các trường hợp sử dụng cơ bản. Mỗi khi tôi gặp vấn đề với widget trong code, tôi đã có thể kiểm tra tài liệu và câu trả lời luôn ở đó.

Cộng đồng đang phát triển
Flutter có cộng đồng mạnh mẽ, và mới chỉ là khởi đầu!
Như bạn có thể biết, tôi thích chia sẻ kiến thức và nội dung hữu ích về lập trình trên website. Tôi cần biết tôi đang làm việc trên một công nghệ đầy tiềm năng với nhiều người ủng hộ.
Khi tôi bắt đầu dùng Flutter, điều đầu tiên tôi làm là tìm cộng đồng, và đến ngạc nhiên… có rất nhiều nơi để trao đổi thông tin về Flutter.
Tôi sẽ đưa ra một số ví dụ nơi tôi thích xem hàng ngày. Đừng ngần ngại gửi tin nhắn Twitter cho tôi với gợi ý của bạn.
- Flutter Awesome: Danh sách awesome curate các thư viện và công cụ Flutter tốt nhất. Website xuất bản nội dung hàng ngày với nhiều ví dụ, template ứng dụng, lời khuyên, v.v.
- Awesome Flutter: Repository GitHub (liên kết với Flutter Awesome) với danh sách bài viết, video, component, tiện ích, v.v.
- It’s all widgets!: Danh sách mở các ứng dụng được xây dựng với Flutter.
- Flutter Community: Một publication trên Medium nơi bạn tìm thấy bài viết, tutorial, và nhiều hơn.
Được hỗ trợ bởi Android Studio và VS Code
Flutter có sẵn trên các IDE khác nhau. Hai trình soạn thảo code chính cho phát triển với công nghệ này là Android Studio (IntelliJ) và VS Code.
Android Studio là phần mềm hoàn chỉnh với mọi thứ đã tích hợp. Bạn phải tải plugin Flutter và Dart để bắt đầu.
VS Code là công cụ nhẹ, và mọi thứ có thể cấu hình qua plugin từ marketplace.
Tôi dùng Android Studio vì tôi không cần cấu hình nhiều thứ để làm việc.
Bạn tự do chọn IDE ưa thích!
Phần thưởng
Freelance
Nếu bạn muốn bắt đầu làm freelance, bạn nên nghĩ đến việc dùng Flutter.
Năm 2020, tôi tin rằng công nghệ này sẽ bùng nổ. Và nghĩa là rất nhiều người sẽ tìm developer biết dùng nó.
Nền tảng freelance lớn nhất tại Pháp, tên là Malt, gần đây đã công bố xu hướng công nghệ năm nay. Flutter tăng trưởng +303% trên nền tảng này giữa 2018 và 2019.

Kết luận
Vậy bạn nghĩ sao về Flutter? Bạn sẽ bắt đầu học nó năm sau?
Tôi hy vọng bài giới thiệu này đã khiến bạn hứng thú và có động lực. Đừng ngần ngại chia sẻ bài viết nếu bạn thích.
Nếu bạn muốn thêm nội dung như thế này, bạn có thể theo dõi tôi trên Twitter, nơi tôi tweet về phát triển web, tự hoàn thiện, và hành trình của tôi như một full stack developer!