Flutter là gì ?

Flutter là một framework được tạo bởi Google và được phát hành vào tháng 5 năm 2017. Flutter cho phép bạn tạo một ứng dụng di động chỉ với một lần code. Bạn có thể sử dụng một ngôn ngữ lập trình và một mã nguồn để tạo ra hau ứng dụng khác nhau (Ios và Android) .

Flutter đề cập tới hai thành phần quan trọng

SDK - Soft ware Development Kit ( Bộ công cụ phát triển phần mềm) : Một tập hợp các công cụ sẽ giúp bạn phát triển các ứng dụng của mình. Nó bao gồm các công cụ để biên dịch mã nguồn của bạn thành các mã máy native( mã sử dụng cho Ios và Android).

Framework - UI Library Based on Widgets ( Thư viện giao diện người dùng dựa trên widgets) : Tập hợp các phần tử giao diệ người dùng có thể tái sử dụng ( Button, Text inputs , Slider ….) giúp bạn có thể các nhân hoá ứng dụng bạn tạo theo nhu cầu cá nhân của mình.

Để phát triển với Flutter , bạn sẽ sử dụng một ngôn ngữ lập trình có tên là Dart . Đây cũng là ngôn ngữ của Google được tạo vào tháng 10 năm 2011 và đã được cải thiện rất nhiều trong những năm qua. 

Quá trình phát triển

qua-trinh-phat-trien-cua-flutter
Vào năm 2015, Google đã công bố Flutter, một SDK mới dựa trên ngôn ngữ Dart, làm nền tảng tiếp theo để phát triển Android và vào năm 2017, phiên bản alpha của nó (0.0.6) đã được phát hành cho công chúng lần đầu tiên.

Tại I/O 2017 , Google đã trình diễn việc sử dụng Flutter và khả năng đa nền tảng của nó, đồng thời tiếp tục quảng bá nó tại I/O 2018. Kể từ đó, Google đã đầu từ vào Flutter và kiến nghị đây là cách mà mọi người nên phát triển ứng dụng di động.

Vào ngày 4/12/2018 Flutter 1.0 đã được phát hành tại sự kiện Flutter Live và có sẵn để các nhà phát triển có thể bắt đầu sử dụng SDK để tạo ứng dụng dễ dàng hơn. Đây được đánh dấu là phiên bản  “stable” đầu tiên.

Tại Google I/O 2019 , việc hỗ trợ Flutter cho desktop và web platforms đã được công bố công khai, các công cụ để phát triển ứng dụng Flutter cho Windows, macOS, Linux và web đã được phát hành. Cùng với đó là sự ra đời của Flutter 1.12.

Tính đển ngày 15/10/2021 , 2.5.3 là phiên bản cập nhật mới nhất của Flutter.

Đặc điểm

dac-diem-flutter
 

Sự ra đời của Flutter đã phần nào giảm bớt những khó khăn thường gặp trong mobile là Fast Development Native Performance. Trong khi React Native chỉ đảm bảo được Fast Development và navite thuần chỉ đảm bảo được Native Performance, thì Flutter làm được cả hai điều trên.

Hot Reload

Công cụ hot reload đã được khắc sau vào kiến trúc của Flutter và không yêu cầu bất kỳ plugin nào hoạt động. HOt reload về cơ bản cho phép bạn xem các bản cập nhật trong thời gian thực.

Hãy tưởng tượng bạn đã gặp lỗi khi chạy một chương trình. Trong Flutter , bạn có thể sửa nó ngay lập tức, tiếp tục từ nơi bạn đã dừng lại mà không cần khởi động lại toàn bộ. Quay trở lại lập trình thông thường (native code), việc chạy lại ứng dụng mất vài phút có thể là một cuộc đấu tranh gian khổ.

Hot reload nâng cao năng suất của lập trình viên, giúp họ tiết kiệm thời gian phát triển sản phẩm, kiểm tra mã nguồn ( testing ) và tìm lỗi (debug) nhanh hơn đáng kể. Khi bạn đã quen thuộc với hot reload, đó là một trải nghiệm rất khó từ bỏ.

AOT

Khi tiến hành biên dịch để đóng gói sản phẩm ( archive), Dart sẽ sử dụng trình biên dịch AOT để có được file thực thi hiệu năng cao. Đây là một đặc tính cho phéo DARt vừa có khả năng hot load trong lúc phát triển vừa có tính chất như một ngôn ngữ static typed.

Expressive and Flexible UI

Đây là lý do thúc đẩy Flutter ra đời. Trước đó việc xây dựng các ứng dụng có UI đẹp , animation mượt mà rấy phức tạp và gian nan với hầu hết các nhà phát triểu ứng dụng di động.

Trong Flutter, giao diện người dùng được xây dựng với các widget , các khối xây dựng UI nhỏ được lắp ráp bằng một kỹ thuật gọi là Composition. Bản thân Flutter cũng có sẵn rất nhiều Widget dựng sẵn, các  developer có thể tận dụng dễ dàng hơn thay vì phải xây dựng chúng từ đầu.

Toàn bộ quá trình này tương tự như sử dụng các thành phần React. Có sẵn hai bộ UI : Material Design ( tương thích với các nguyên tắc thiết kế của Google) dành cho Android và Cupertino ( tươg thích với Appple's Human Interface Guidelines) dành cho IOS. Các developer có thể dùng một trong hai hoặc phối hợp chúng lại với nhau.

Tools

Ứng dụng Flutter có thể được viết bằng bất kỳ trình soạn thảo nào, nhưng hai ứng dụng được ưu tiên là Android Studio và Visual Studio Code.

Các lệnh tích hợp trong Flutter (command line tools) cũng cho phép bạn chạy các ứng dụng Flutter trên nhiều thiết bị cùng lúc. Đây là một tính năng cực kỳ tiện dụng, vì bạn có thể thấy ứng dụng của bạn trong như thế nào và hoạt độn như thể nào trên nền tảng IOS và Android , và thậm chí cả nền tảng Web.

Viết code một lần duy nhất


 Flutter thực sự là một single-code base đa nền tảng. Điều này có nghĩa là bạn chỉ cần viết code một lần và nó sẽ hoạt động được trên iOS, Android và thậm chí cả web.

Khác với những nền tảng trước đó , như React Native , code web và mobile App dù có chung các khái niệm nhưng cơ bản là bạn cần thay đổi source code để đảm bảo chúng hoạt động tốt. Với Flutter bạn không còn phải làm điều này nữa, thực sự là source code được tái sử dụng với cả web và mobile.

Một quan niệm sai lầm lớn về việc phát triển trong Flutter là bạn phải nhắm mục tiêu giao diện cho IOS và Android riêng biêt. Vì điều này đánh mất lợi thế mạnh nhất của FLuter. Thay vào đó, bạn hãy thống nhất UI/UX trên cả 2 nền tảng IOS và Android , điều mà các nền tảng frameword khác không thể làm được.

Kết

Trong thời kỳ phát triển mạnh mẽ của công nghệ, tốc độ, chính xác và tiện lợi là những yêu cầu tiên quyết . Mình Nghĩ Flutter có thể đáp ứng điều này khi mà hiện nay có nhiều ứng dụng tin tưởng và lựa chọn Flutter để build và phát triển. Và trong tương lai gần, mình tin Fluttr sẽ tạo nên sự bùng nổ trong ngành công nghệ thông tin

Theo 200lab.io