Flutter (phần mềm)

Bách khoa toàn thư mở Wikipedia
Flutter
Thiết kế bởiGoogle
Phát triển bởiGoogle và cộng đồng
Phát hành lần đầuAlpha (v0.0.6) / tháng 5 năm 2017; 6 năm trước (2017-05)[1]
Phiên bản ổn định
Flutter 1.10.15 / 2 tháng 11 năm 2019; 4 năm trước (2019-11-02)[2]
Bản xem thử
Release Preview 2 (v0.8.2) / tháng 9 năm 2018; 5 năm trước (2018-09)[3][4]
Kho mã nguồn
Viết bằngC, C++, DartSkia Graphics Engine[5]
Nền tảngDevelopment: Windows, MacOSLinux, Target: Android, iOSGoogle Fuchsia
Thể loạiKhung ứng dụng
Websiteflutter.io

Flutter là một SDK phát triển ứng dụng di động nguồn mở được tạo ra bởi Google. Nó được sử dụng để phát triển ứng ứng dụng cho AndroidiOS, cũng là phương thức chính để tạo ứng dụng cho Google Fuchsia.[6]

Lịch sử[sửa | sửa mã nguồn]

Phiên bản đầu tiên của Flutter được gọi là"Sky"và chạy trên hệ điều hành Android. Nó được công bố tại hội nghị nhà phát triển Dart 2015, với dự định ban đầu để có thể kết xuất ổn định ở mức 120 khung hình trên giây.[7] Trong bài phát biểu chính ở hội nghị Google Developer Days tại Thượng Hải, Google công bố phiên bản Flutter Release Preview 2, đây là phiên bản lớn cuối cùng trước Flutter 1.0.[8] Vào ngày 4 tháng 12 năm 2018, Flutter 1.0 đã được phát hành tại sự kiện Flutter Live, là phiên bản"ổn định"đầu tiên của framework này.

Kiến trúc khung[sửa | sửa mã nguồn]

Các thành phần chính của Flutter gồm:

  • Nền tảng Dart
  • Flutter engine
  • Thư viện Foundation
  • Các widget được thiết kế riêng

Nền tảng Dart[sửa | sửa mã nguồn]

Ứng dụng Flutter được viết bằng ngôn ngữ Dart và tận dụng nhiều tính năng nâng cao của ngôn ngữ này.[9]

Trên Android, và trên Windows, macOSLinux thông qua dự án chưa chính thức mang tên Flutter Desktop Embedding, Flutter chạy trên máy ảo Dart với engine thực thi just-in-time (JIT). Do giới hạn về thực thi mã động của App Store, ứng dụng Flutter sử dụng biên dịch ahead-of-time (AOT) trên iOS.[10]

Một tính năng đáng chú ý của nền tảng Dart là hỗ trợ"tải lại nóng"(hot reload) trong đó các sửa đổi trong tập tin nguồn có thể được chèn vào ứng dụng đang chạy. Flutter mở rộng sự hỗ trợ này cho tính năng"tải lại nóng giữ trạng thái (stateful hot reload), để các sửa đổi trong mã nguồn có thể được cập nhật ngay lập tức lên ứng dụng đang chạy mà không cần phải khởi động lại hoặc mất mát các trạng thái đang có.[11] This feature as implemented in Flutter has received widespread praise.

Flutter engine[sửa | sửa mã nguồn]

Engine của Flutter được viết chủ yếu bằng C++, cung cấp sự hỗ trợ kết xuất ở mức độ thấp bằng thư viện đồ họa Skia của Google. Thêm vào đó, nó giao tiếp với các SDK của riêng nền tảng như các SDK do AndroidiOS cung cấp.[9]

Thư viện Foundation[sửa | sửa mã nguồn]

Widgets[sửa | sửa mã nguồn]

Design-specific widgets[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ Chris Bracken. “Release v0.0.6: Rev alpha branch version to 0.0.6, flutter 0.0.26 (#10010) · flutter/flutter”. GitHub. Truy cập ngày 8 tháng 8 năm 2018.
  2. ^ Google Developers (ngày 02 tháng 11 năm 2019). “Flutter 1.10.15: Google's Portable UI Toolkit”. Google Developers. Truy cập ngày 02 tháng 11 năm 2019. Kiểm tra giá trị ngày tháng trong: |access-date=|date= (trợ giúp)
  3. ^ “Google Developers Blog: Flutter Release Preview 2: Pixel”. Truy cập 20 tháng 12 năm 2018.
  4. ^ https://github.com/flutter/flutter/wiki/Changelog
  5. ^ “FAQ - Flutter”. Truy cập ngày 8 tháng 8 năm 2018.
  6. ^ “Google's"Fuchsia"smartphone OS dumps Linux, has a wild new UI”. Ars Technica.
  7. ^ Amadeo, Ron (ngày 1 tháng 5 năm 2015). “Google's Dart language on Android aims for Java-free, 120 FPS apps”. Ars Technica.
  8. ^ “Google Announced Flutter Release Preview 2”. Apptunix. Bản gốc lưu trữ ngày 25 tháng 9 năm 2018. Truy cập ngày 20 tháng 12 năm 2018.
  9. ^ a b “Technical Overview - Flutter”. flutter.io (bằng tiếng Anh). Truy cập ngày 13 tháng 12 năm 2017.
  10. ^ stephenwzl (ngày 1 tháng 8 năm 2018). “Flutter's Compilation Patterns”. ProAndroidDev. Truy cập ngày 6 tháng 12 năm 2018.
  11. ^ Lelel, Wm (ngày 26 tháng 2 năm 2018). “Why Flutter Uses Dart”. HackerNoon. Truy cập ngày 5 tháng 12 năm 2018.

Liên kết ngoài[sửa | sửa mã nguồn]