Chào mừng các bạn đến với Cafedev, nơi chúng ta cùng nhau khám phá những bước quan trọng trong hành trình đa nền tảng phát triển trong năm nay. Trong một năm đầy biến động, chúng ta đã chứng kiến những bước tiến lớn của ngôn ngữ Dart và framework Flutter với các phiên bản SDK mới như Dart 3.2 và Flutter 3.16. Hãy cùng nhau tìm hiểu về những cập nhật quan trọng và những thành tựu đáng kể trên con đường phát triển đa nền tảng này.”
Hôm nay, Cafedev vô cùng vui mừng thông báo về hai phiên bản SDK mới — Dart 3.2 và Flutter 3.16 — cùng với một cập nhật lớn cho Bộ công cụ Flutter Casual Games.
Nội dung chính
1. Đề xuất giá trị của Flutter và Dart
Đầu năm tại sự kiện Flutter Forward tại Nairobi, Kenya, họ giới thiệu các lộ trình mới cho Flutter và Dart. Cả hai lộ trình đều tập trung vào bốn chủ đề cấp cao: trải nghiệm đồ họa đột phá, tích hợp mượt mà với nền tảng web và di động, sớm hỗ trợ kiến trúc mới và nổi bật, và tiếp tục tập trung vào trải nghiệm phát triển viên.
Tháng 5 tại sự kiện Google I/O, họ đã công bố tiến triển đáng kể đối với tầm nhìn đó, bao gồm (nhưng không giới hạn) cải thiện hiệu suất rendering trên iOS (với Impeller), hỗ trợ nhúng phần tử trên web và hoàn thành hành trình đến tính an toàn null 100% trong Dart 3.
Khi chúng ta tiến gần cuối năm, đây là một cập nhật khác về tiến triển đã đạt được kể từ đó.
2. Tạo giá trị người dùng với Flutter và Dart
Với mỗi tính năng mới, cải tiến hoặc sửa lỗi, mục tiêu chung vẫn không thay đổi: cung cấp một cặp ngôn ngữ và framework mạnh mẽ, giúp bạn xây dựng ứng dụng đẹp, phong phú và nhanh chóng. Và bạn có thể làm điều đó từ một mã nguồn duy nhất, chia sẻ — đưa đến người dùng ứng dụng trên di động, web và máy tính — mà không cần phải phân mảnh lộ trình sản phẩm của bạn. Họ cũng cam kết duy trì mã nguồn mở, không có chi phí cấp phép, và khuyến khích phát triển các hệ sinh thái phong phú được động viên bởi sự mở cửa và sự hợp tác.
Mục tiêu này vẫn thu hút sự quan tâm của các nhà phát triển cả trong Google và toàn cầu trong hệ sinh thái rộng lớn của Flutter. Nhiều ứng dụng tuyệt vời từ Google xây dựng bằng Flutter đã được ra mắt trong năm nay:
- Như họ thông báo tại sự kiện Flutter Forward, đội ngũ Google Classroom sử dụng Flutter cho ứng dụng di động của họ, hiện đã hoạt động trên iOS và đang trong phiên bản beta trên Android. Họ đang thấy sự cải thiện đáng kể về hiệu suất , được hiển thị bởi trình kết xuất mới Impeller .
- YouTube Create, một ứng dụng Flutter mới khác được phát hành bởi Google, đang có sẵn trong phiên bản beta tại 8 quốc gia. Ứng dụng này tận dụng tính linh hoạt của thư viện widget Flutter để cung cấp trải nghiệm chỉnh sửa video đầy đủ với bộ lọc, hiệu ứng và chỉnh sửa âm nhạc & giọng nói.
- Với Google Earth 10 — hiện đã được cung cấp bởi Flutter — người dùng có thể dễ dàng tạo, cộng tác và tổ chức bản đồ và dữ liệu địa lý không chỉ trên web mà còn trên thiết bị di động và máy tính bảng Android và iOS! Kiểm tra thêm chi tiết về thiết kế mới.
Sự rộng rãi Flutter cũng tiếp tục tăng trưởng bên ngoài Google, trên toàn thế giới:
- Các ứng dụng được ra mắt trong năm nay bao gồm các ứng dụng ngân hàng như Skandia ở Thụy Điển và Credit Agricole ở Ba Lan, ứng dụng giáo dục đầu tư MarketWatch Virtual Stock Exchange ở Hoa Kỳ, ứng dụng bảo hiểm sức khỏe CZ ở Hà Lan và ứng dụng thị trường rao vặt Kijiji của Canada. Một chủ đề chung là những đội ngũ này chọn Flutter để tạo ra một bộ tính năng nhất quán trên Android và iOS trong khi vẫn cung cấp một trải nghiệm UI phong phú và hấp dẫn.
- Phía đông hơn, Tencent đã tung ra Cloud Chat , một Chat SDK và thư viện giao diện người dùng mới đầy đủ và hiện đang đứng đầu thị trường dịch vụ trò chuyện ở Trung Quốc và đang mở rộng quốc tế.
- Tại Brazil, nhóm thời trang SOMA khởi xướng một cuộc làm mới số lớn cho thương hiệu Farm của họ và, trong quá trình đó, nhận ra tính linh hoạt của Flutter cho phép họ mở rộng điều này cho các thương hiệu khác trong nhóm. Ở Mỹ, Caribou Coffee kết hợp Flutter với Firebase để tăng tốc năng suất của họ, trong khi Lucid Motors báo cáo rằng Flutter không chỉ giúp họ triển khai hai ứng dụng di động với một nhóm nhỏ, mà còn có thể chia sẻ nội bộ các mẫu thử nghiệm với hỗ trợ web của Flutter.
Cafedev rất vui mừng khi chứng kiến sự tiến hóa của những ứng dụng này. Đọc tiếp để thấy sự tiến triển liên tục mà Flutter team đang đạt được trong framework cốt lõi.
3. Hiệu suất đồ họa đột phá
Họ mạnh mẽ tin rằng phát triển đa nền tảng không nên áp đặt sự suy giảm trải nghiệm cho các nhà phát triển hoặc người dùng cuối. Vì vậy, họ đã nỗ lực lớn để thực hiện điều này. Tại sự kiện Flutter Forward, Flutter team giới thiệu Impeller — một thiết kế và triển khai lại hoàn toàn của kiến trúc kết xuất đồ họa để tối ưu hóa tốc độ và sức mạnh. Trong Flutter 3.10, họ thông báo rằng Impeller đã được kích hoạt mặc định trên iOS. Hôm nay, trong Flutter 3.16, Cafedev hân hạnh chia sẻ rằng Impeller trên Android đã sẵn sàng để đón phản hồi từ các bản xem trước. Hiệu suất đã cải thiện đáng kể qua năm; so với một năm trước, hiệu suất đo được trong thử nghiệm Flutter Gallery nhanh gấp đôi với Impeller trên Vulkan. Để biết chi tiết về cách kích hoạt Impeller, hãy xem .
4. Bộ công cụ Trò chơi Casual
Một loại ứng dụng đặc biệt được hưởng lợi từ việc kết xuất đồ họa nhanh và mạnh mẽ là trò chơi. Trong năm 2022, họ đã công bố Bộ công cụ Trò chơi Casual Flutter ban đầu. Hôm nay, họ tiếp tục thông báo một bản cập nhật lớn với một loạt các mẫu mới, từ trò chơi thẻ đến trò chơi theo kiểu chạy, và một bộ tài nguyên phát triển dành cho các dịch vụ trò chơi với các chủ đề như bảng xếp hạng, kiếm tiền và điều tra.
5. Tích hợp mượt mà
Mặc dù ứng dụng Flutter nói chung có mức độ chia sẻ mã rất cao qua các nền tảng — nhiều nhà phát triển báo cáo 95–99% chia sẻ — họ vẫn tin rằng việc hỗ trợ các tính năng cụ thể của nền tảng là quan trọng. Trên iOS, tiện ích ứng dụng cung cấp một cách cho người dùng tương tác với phiên bản nhỏ của ứng dụng từ các ứng dụng khác trên điện thoại của họ. Trong bản phát hành ổn định cuối cùng, Flutter team đã ra mắt tài nguyên mới để giúp bạn xây dựng các tiện ích trang chủ và màn hình khóa cho ứng dụng Flutter của bạn. Trong Flutter 3.16, họ đã thêm hỗ trợ kết xuất giao diện người dùng cho một số tiện ích ứng dụng iOS bằng Flutter, ví dụ như tiện ích chia sẻ . Android 14 giới thiệu một cử chỉ lùi dự đoán mới , mang lại khả năng cho người dùng nhìn nhận giao diện người dùng hệ thống sau ứng dụng khi sử dụng cử chỉ lùi (vuốt sang trái). Flutter 3.16 hỗ trợ cử chỉ này.
6. Tiếp tục tập trung vào trải nghiệm
Các thiết bị hiện đại có nhiều hình thức khác nhau — như điện thoại, máy có thể gập và máy tính bảng — có đa dạng kích thước màn hình và hỗ trợ các thiết bị nhập liệu bên ngoại như bàn phím và chuột. Để đảm bảo người dùng có trải nghiệm tuyệt vời, quan trọng phải xem xét điều này. Gần đây, Flutter team hợp tác với đội ngũ Android để thêm hỗ trợ cho màn hình lớn của họ . Họ đã xuất bản , cập nhật ứng dụng tham khảo của Wonderous để hỗ trợ nhiều kích thước màn hình và thực hiện một số sửa lỗi trong framework Flutter để hỗ trợ tốt hơn các yếu tố như bàn phím, chuột và bảng điều khiển cảm ứng. Các API mới cho phép bạn xác định kích thước và tỷ lệ pixel của màn hình và hỗ trợ việc kết xuất đa cửa sổ.
Trong suốt năm, Flutter team đã làm việc để hoàn thành hỗ trợ cho Material 3 , phiên bản mới nhất của hệ thống thiết kế Material Design. Các widget Material của Flutter hiện đang hoàn toàn hỗ trợ Material 3 và, trong Flutter 3.16, Material 3 giờ là kiểu mẫu mặc định. Họ thấy rằng Material thêm một cái nhìn mới cho ứng dụng; các bảng màu mới không chỉ thẩm mỹ mà còn tuân thủ yêu cầu về độ tương phản cho khả năng tiếp cận. Để có trải nghiệm thực tế, hãy kiểm tra bộ sưu tập Material 3 .
Hai cải tiến đáng kể cho công cụ phát triển bao gồm thanh bên mới cho VS Code và hỗ trợ thêm tiện ích mở rộng cho DevTools. Thanh bên cho phép dễ dàng khám phá các hành động cơ bản của các công cụ Flutter như tạo dự án mới, kích hoạt tải lại nhanh, mở DevTools hoặc chọn thiết bị đích. Tiện ích mở rộng DevTools cung cấp một khung cho phép bạn tạo ra các công cụ tùy chỉnh mới kết nối vào DevTools và cung cấp thêm chức năng cụ thể cho framework. Provider , Patrol , và ServerPod là một số ví dụ về các framework phát triển tiện ích mở rộng cho DevTools.
Flutter team khởi động lại chương trình Flutter Favorite và flame , flutter_animate , flutter_rust_bridge , riverpod , video_player , macos_ui và fpdart là Flutter các Favorites mới. Tháng Tám, chúng tôi tổ chức lần đầu tiên hội nghị ảo cho hệ sinh thái gói, với sự tham gia của hơn 50 người đóng góp không phải là nhân viên Google và nhân viên Google đến từ pub.dev .
Flutter cũng chứng kiến sự xuất hiện của nhiều gói và plugin mạnh mẽ mới. Một số ưa thích cá nhân của tôi là hỗ trợ CameraX trong plugin máy ảnh, TableView 2D cuộn hiệu suất cao 2D scrollable TableView và gói flutterflow_ui , cho phép nhà thiết kế và nhà phát triển tạo các thành phần UI bằng cách kéo và thả, sau đó xuất chúng thành mã Flutter widget ( video demo ). Hơn nữa, gói google_maps bây giờ hỗ trợ cloud map-styles , để nhà phát triển có thể cập nhật kiểu của họ từ Google Cloud Console, và gói home_widget bây giờ cũng được hỗ trợ tạo .
7. Kiến trúc mới và nổi bật
7.1 Tương thích Dart
Dart dựa trên một cam kết cơ bản là cho phép mã Dart đa nền tảng chạy trên nhiều nền tảng khác nhau . Tuy nhiên, điều này thường cần được bổ sung bằng khả năng tương tác với mã hiện tại, cho dù mã đó đến từ các dự án cũ hơn hoặc API có sẵn trong các thư viện khác hoặc API hệ thống. Để hỗ trợ điều này, Dart cung cấp tương tác với API C nguyên , và đang làm việc để mở rộng điều này để hỗ trợ tương tác với Java + Kotlin và Objective C + Swift . Để biết thêm chi tiết, hãy kiểm tra .
7.2 Hành trình đến WebAssembly
Wasm (còn được biết đến như WebAssembly ) là một định dạng hướng dẫn mới thú vị cho trình duyệt web, cung cấp một định dạng mã nhị phân có thể chuyển đổi, không phụ thuộc vào nền tảng để thực thi trên các trình duyệt hiện đại. Ngôn ngữ quản lý cấp cao như Dart sử dụng bộ thu gom rác, điều này đang được thêm vào chuẩn WebAssembly. Kể từ phiên bản Chrome 119, hỗ trợ thu gom rác cho WebAssembly (Wasm-GC) được bật mặc định. Hỗ trợ Wasm-GC cũng sẽ xuất hiện trong Firefox 120, bản phát hành ổn định tiếp theo của họ.
Hỗ trợ trình biên dịch Dart cho Wasm gần như đã đầy đủ tính năng, và Flutter web hiện sử dụng một công cụ kết xuất mới cho phép tất cả các hoạt ảnh được thực hiện trong mã WebAssembly. Mặc dù còn nhiều công việc để thực hiện và hỗ trợ vẫn được coi là thử nghiệm, nhưng họ đã có thể chạy một số ứng dụng như demo Material 3 .
8. Sức mạnh của cộng đồng sôi nổi
Bài đăng trên web ngày hôm nay chỉ là một mẫu rất nhỏ so với hàng nghìn cải tiến đã được thực hiện trong vài quý qua. Quan trọng hơn, có ngày càng nhiều cải tiến này đến từ sự đóng góp của các nhà phát triển ngoài Google — bản báo cáo Octoverse GitHub 2023 về hoạt động mã nguồn mở liệt kê dự án Flutter trong top 3 giữa tất cả các dự án mã nguồn mở trên GitHub.
Cảm ơn các bạn đã đồng hành cùng Cafedev trong hành trình khám phá những bước đột phá quan trọng trong năm với đa nền tảng phát triển. Chúng ta đã chứng kiến những bước tiến vững chắc của ngôn ngữ Dart và framework Flutter, và Cafedev tự hào được là nguồn tin đáng tin cậy mang đến cho cộng đồng những thông tin sâu sắc và thú vị về công nghệ. Hãy tiếp tục đồng hành và khám phá cùng Cafedev trong những chặng đường mới với đa nền tảng phát triển. Chúc các bạn một ngày tuyệt vời!”
Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của Cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!