Tóm tắt tin mới:
Google gần đây đã phát hành bản cập nhật Dart 2.6 và Flutter 1.9 để nó có thể hỗ trợ cho iOS 13 và macOS Catalina.
Flutter 1.9 hiện sẽ cho phép các developer tạo ra các ứng dụng di động, web và máy tính để bàn từ một và cùng một cơ sở code.
Chi tiết về tất cả các bản cập nhật này để chúng ta hiểu nó rõ hơn.
Lần update này Google tập trung chinh dart2native, nó một phần mở rộng của bộ biên dịch hiện có của họ, với khả năng biên dịch các chương trình Dart thành các tệp thực thi độc lập có chứa code của máy được biên dịch. Với dart2native, bạn có thể tạo các tool bằng các dòng lệnh trên macOS, Windows hoặc Linux bằng cách sử dụng Dart.
Dart đã hỗ trợ biên dịch AOT (trước thời hạn) cho các code native trong vài năm và do đó, Dart Native là công nghệ khá trưởng thành. Tuy nhiên, trước đây chúng ta chỉ tiếp xúc với khả năng này trên thiết bị di động iOS và Android, thông qua Flutter.
Với dart2native, chúng tôi đã mở rộng hỗ trợ biên dịch riêng để hỗ trợ các hệ điều hành máy tính để bàn truyền thống chạy macOS, Windows và Linux.
Nếu bạn đã sử dụng dart2aot trước đó, thì đến 2.6 bạn sẽ sử dụng dart2native. Nó cung cấp một bộ các chức năng dart2aot.
Trình biên dịch dart2native là một lựa chọn tuyệt vời để xây dựng và triển khai các ứng dụng dựa trên Dart bằng dòng lệnh. Các ứng dụng này thường sử dụng các thư viện như dart:io
(basic I/O), package:http
(networking), and package:args
(argument parsing). Hãy cùng xem lại demo cơ bản trong việc biên dịch một ứng dụng Hello World thành một tệp thực thi:
Mã nguồn hello.dart:
1
2
3
4
5
|
main() {
print(‘Hello Dart developers and cafedev.vn’);
}
|
Biên dịch hello.dart thành file hello để run:
1
2
3
4
|
$ dart2native src/hello.dart -o hello
Generated: /Users/mit/hello
|
Chạy hello:
1
2
3
4
5
6
|
$ time ./hello
Hello Dart developersreal 0m0.049s
user 0m0.018s
sys 0m0.020s
|
Nhiều developer đã dùng dart2native
để tạo ra một số tool command-line như: SASS, linkchecker tool.
Các ứng dụng native thường cần truy cập chức năng native từ hệ điều hành. Các API hệ thống này thường được hiển thị trong các thư viện dựa trên C và Dart hỗ trợ khả năng tương tác với các thư viện này thông qua dart: ffi, cơ chế mới của họ cho C interop, Họ đã đưa ra trong bản preview trong Dart 2.5. Trình biên dịch dart2native tương thích với dart: ffi, vì vậy bạn có thể tạo và biên dịch các ứng dụng Dart thông qua sử dụng nó.
Một ứng dụng tiềm năng khác của trình biên dịch dart2native dành cho các services nhỏ – ví dụ: dịch vụ trợ hỗ trợ frontend app được viết bằng Flutter. Trong những năm gần đây, một xu hướng ngày càng tăng là việc sử dụng các dịch vụ chạy trên máy tính không có máy chủ(serverless computing). Đây là những dịch vụ được quản lý hoàn toàn tự động mở rộng quy mô, mang lại tiềm năng giảm chi phí rất nhiều vì chúng chỉ được lập hóa đơn khi thực sự chạy. Google Cloud cung cấp tính toán không cần máy chủ thông qua Cloud Run.
Phiên bản mới phát hành Flutter 1.9 giúp hỗ trợ chạy tốt cho macOS Catalina và iOS 13 với các cải tiến như công cụ mới, material widget mới và các tính năng mới trong ngôn ngữ Dart.
Google tuyên bố Flutter 1.9 là bản cập nhật lớn nhất cho đến nay với hơn 1.500 Pull Request từ hơn 100 người đóng góp.
Trên thực tế, Flutter 1.9 mới cung cấp hỗ trợ cho 24 ngôn ngữ khác là: Tiếng Nam Phi, tiếng Albania, tiếng Amharic, tiếng Assamese, tiếng Ailen, tiếng Basque, tiếng Bêlarut, tiếng Bengal, tiếng Miến Điện, tiếng Gujarati, tiếng Iceland, tiếng Gruzia, tiếng Kannada , Oriya, Punjabi, Sinhalese, Tiếng Telugu, Tiếng Uzbek và Zulu.
Đánh giá kỹ thuật lần đầu tiên cho Flutter for Web là bản phát hành trong hội nghị I / O của Google năm 2019. Công ty hiện đã tích hợp kho lưu trữ web Flutter với repo Flutter chính, có nghĩa là các developer sẽ có thể viết code cho thiết bị di động, web và máy tính để bàn với cùng một cơ sở code.
Flutter tạo một tiến trình để chạy web thông qua một tệp web//index.html . Sau này, tệp cho phép bạn sử dụng công cụ Flutter CLI hoặc các plugin IDE để chạy và cũng như chỉnh sửa các ứng dụng Flutter trên web.
Tuy nhiên, Google cũng đã nói rằng việc hỗ trợ cho web output vẫn đang được tiến hành.
Flutter hỗ trợ iOS13 và macOS là kết quả của việc Google muốn làm cho Flutter hoạt động tốt với Xcode 11. Flutter cũng hỗ trợ hệ thống xây dựng Xcode mới và hỗ trợ 64 bit trong toàn bộ chuỗi công cụ và đơn giản hóa các trên từng nền tảng.
Flutter 1.9 cũng có triển khai thanh công cụ có thể kéo trong iOS 13, với cả nhấn và kéo từ phải sang trong khi hỗ trợ phản hồi rung.
Ngoài ra, Flutter 1.9 đi kèm với một số tiện ích mới, sử dụng Google’s Material Design. Các tiện ích biểu tượng và văn bản kết hợp để tạo thành một bộ nút. Tiện ích ColorFiltered mới giúp bạn tô màu lại các widget con và tương tự, bạn có thể tô màu lại một hình ảnh với sự trợ giúp của các thuật toán khác nhau.
Devmaster Academy via CafeDev