Bài 1: Flutter là gì ? Học lập trình Flutter cơ bản

Bài viết này sẽ giới thiệu cho bạn Flutter là gì và series Học lập trình Flutter cơ bản cho người mới bắt đầu làm app trên điện thoại.

Flutter là gì?

Flutter là một framework mã nguồn mở cho phép tạo ứng dụng di động với hiệu năng cao, chất lượng tốt hỗ trợ đa nền tảng, phù hợp với phát triển ứng dụng Android và iOS. 

Flutter là gì ? Học lập trình Flutter cơ bản
Flutter là gì ? Học lập trình Flutter cơ bản

Sử dụng ngôn ngữ Dart của chính Google, Flutter rất dễ học, mạnh mẽ, hiệu năng cao và phát triển ứng dụng di động một cách nhanh chóng.Trong khoá học này, mình sẽ giúp các bạn làm quen với Flutter framework, hướng dẫn cài đặt Flutter SDK, thiết lập Android Studio để xây dựng một ứng dụng Flutter căn bản, nắm vững kỹ thuật của  Flutter framework và có khả năng phát triển các loại ứng dụng khác nhau sử dụng Flutter framework.

Giới thiệu Flutter

Nhìn chung phát triển ứng dụng di động là một công việc phức tạp và nhiều khó khăn. Có rất nhiều framework hỗ trợ bạn phát triển một ứng dụng mobile. Android cung cấp một framework cơ bản dựa trên ngôn ngữ lập trình Java còn iOS thì cung cấp framework dựa trên Objective-C / Swift.

Tuy nhiên hầu hết các ứng dụng hiện nay, đều hỗ trợ cả 2 nền tảng Android và iOS, do đó cùng lúc phát triển 2 dự án khác nhau với 2 framework khác nhau là một công việc phức tạp và lãng phí thời gian công sức. Do đó người ta đã phát triển các framework lập trình đa nền tảng để giải quyết vấn đề này. Một framework rất phổ biến hiện nay là React Native được phát triển bới Facebook đang được sử dụng rất rộng rãi. Tuy nhiên React Native vẫn thông qua các api của các framework gốc như Android hay iOS do đó bị hạn chế và tốc độ kém.

Như một sự phát triển của tương lai, Flutter được phát triển bới chính Google, đơn vị sở hữu Android như một đối trọng trực tiếp với React Native. Thay vì gọi các api của framework gốc, Flutter tạo ra giao diện trực tiếp từ api của hệ điều hành. Nhờ đó ứng dụng sẽ chạy nhanh hơn, mượt mà hơn và đẹp hơn.Flutter cung cấp rất nhiều widgets (UI) là các thành phần đồ hoạ được thiết kế riêng. Những đối tượng đồ hoạ này được tối ưu phù hợp với môi trường mobile và dễ dàng trong việc thiết kế như HTML.

Cụ thể, ứng dụng Flutter sẽ sử dụng các widget riêng. Flutter widgets cung cấp các animations (hiệu ứng) và gestures (thao tác) riêng. Ứng dụng được phát triển dựa trên logic của  reactive programming. Mỗi Widget sẽ có rất nhiều trang thái. Bằng cách thay đổi trạng thái của widget, Flutter sẽ tự động (reactive programming) so sánh trạng thái của widget (cũ và mới) để tạo ra những thay đổi cần thiết thay vì khởi tạo lại cả đối tượng.

Mình sẽ nói kỹ hơn về kĩ thuật này trong các bài tiếp theo

Tính năng của Flutter
Tính năng của Flutter

Tính năng của Flutter

Flutter framework có những đặc điểm sau

  1. Là một framework Open source nên hoàn toàn miễn phí và có thể được sử dụng cho bất kỳ mục đích nhất định nào để phát triển ứng dụng.
  2. Flutter dựa trên codebase duy nhất để phát triển các ứng dụng hỗ trợ cả hai nền tảng Android và IOS
  3. Sử dụng ngôn ngữ lập trình Dart. Nó là ngôn ngữ lập trình được phát triển bởi Google và hỗ trợ tất cả các OS. Dart rất dễ học, ổn định, có khả năng mở rộng cao và deployable. Nó có hỗ trợ với một số libraries và tools tốt nhất hiện nay.
  4. Flutter được hỗ trợ tính năng Hot Reload. Điều đó có nghĩa là nếu bạn thực hiện bất kỳ thay đổi nào trong mã thì bạn có thể thấy chúng ngay lập tức mà không cần chờ đợi hoặc khởi động lại ứng dụng.
  5. Hỗ trợ rất nhiều widget khác nhau
  6. MVP hoặc minimum viable product là một sản phẩm được thiết kế với các tính năng tối thiểu để có thể làm hài lòng khách hàng ở giai đoạn đầu.
  7. Nó được thiết kế để phát triển ứng dụng nhanh hơn các nền tảng có sẵn khác. Do nhiều tính năng của nó, nó cho phép các developers code nhanh hơn và hiệu quả.
  8. Flutter cung cấp cho bạn quyền truy cập các tính năng gốc của thiết bị của bạn như máy ảnh, định vị địa lý và các ứng dụng khác giống như bất kỳ ứng dụng native nào khác.
  9. Được hỗ trợ chính thức từ Google và cộng đồng lập trình viên nhiều năm kinh nghiệm
Flutter kết hợp với Dart khiến việc develop app trở nên nhanh chóng hơn
Flutter kết hợp với Dart khiến việc develop app trở nên nhanh chóng hơn

Điểm mạnh của Flutter

Flutter đi kèm với nhiều widget đẹp và có độ tuỳ biến cao giúp phát triển ứng dụng hiệu năng cao vượt trội đáp ứng mọi nhu cầu và tuỳ biến. Bên cạnh đó Flutter còn có những điểm mạnh sau:

  1. Dart có một kho lớn các gói phần mềm cho phép bạn mở rộng khả năng cho ứng dụng của mình
  2. Các lập trình viên chỉ cần viết một chương trình duy nhất cho tất cả các ứng dụng (Android và iOS) . Flutter có thể mở rộng ra các nền tảng khác trong thời gian tới.
  3. Flutter dễ dàng kiểm thử hơn do tiết kiệm thời gian kiểm thử trên từng nền tảng.
  4. Nhờ sự đơn giản của mình, Flutter là lựa chọn hàng đầu cho các ứng dụng mới. Nó còn dễ dàng tuỳ biến và mở rộng lên càng mạnh mẽ hơn
  5. Với Flutter, lập trình viên có toàn quyền để sắp xếp bổ trí điều khiển các widget
  6. Flutter có bộ công cụ phát triển (developer tools) rất hoàn thiện và đầy đủ, đặc biệt với tính năng hot reload đẩy nhanh tốc độ build ứng dụng đáng kinh ngạc

Điểm yếu của Flutter

Flutter với nhiều điểm mạnh so với các framework khác nhưng bản thân nó cũng có nhiều điểm yếu nhưng cũng đang được cộng đồng đóng góp thêm các ý tưởng mới và các bản nâng cấp sau này cũng đã có nhiều cải thiện mới.

  1. Thư viện và Supports hạn chế hơn so với native SDK. Vì Flutter SDK mới chỉ phát hành chính thức vào năm 2017 nên cộng đồng chưa mạnh được như các nền tảng native.
  2. Kích thước file lớn: Ví dụ cùng một app “Hello world”, App Flutter có kích thước là 4.7MB, App Kotlin là 550KB, App native Java là : 539KB. Cũng dễ hiểu thôi, bởi cấu trúc của Flutter SDK chứa các thư viện để xử lý trên cả iOS và Android.

Tóm lại

Để tóm tắt tất cả, chúng ta có thể nói rằng đó là một cross-platform đang trở nên phổ biến mỗi ngày. Flutter rất dễ dàng, đơn giản và cũng có tiềm năng lớn để phát triển một ứng dụng một cách dễ dàng. Rõ ràng, mất ít thời gian hơn nhiều so với việc tạo 2 ứng dụng tương tự trên các nền tảng khác nhau.

Nếu bạn muốn học Lập trình Flutter cơ bản có thể xem qua Lập trình Flutter cơ bản trên 1kho.info. Và theo dõi Fanpage 1Kho.info để theo dõi những bài mới nhất https://www.facebook.com/1kho.info

Trả lời

Email của bạn sẽ không được hiển thị công khai.