Flutter SDK: Quân bài trong chiến lược ứng dụng di động đa nền tảng của Google

    Nguyễn Hải,  

    Bộ SDK này không chỉ giúp tạo ra các ứng dụng di động đa nền tảng mà còn là bước chạy đà quan trọng của Google để khởi động cho hệ điều hành đang thai nghén Fuchsia OS.

    Đúng như lịch trình phát hành sản phẩm trong Hội nghị Thế giới Di động MWC, bộ Flutter SDK của Google đã ra mắt phiên bản beta 1. Flutter là framework mã nguồn mở về giao diện UI di động, cho phép các nhà phát triển tạo ra các ứng dụng di động đa nền tảng với tốc độ rất nhanh.

    Nhưng chắc hẳn không ít người đang thắc mắc, chẳng phải Google đã có bộ SDK cho di động, có tên gọi Android rồi hay sao. Nhưng với Google, thế giới mobile là quá rộng chỉ với một giải pháp duy nhất là Android. Với việc ra mắt phiên bản beta 1 này, giờ đây họ có trong tay hai bộ SDK cho ứng dụng di động: Android và Flutter.

    Khác biệt cơ bản giữa Flutter và Android: tạo ra các ứng dụng chạy trên cả iOS và Android

    Là một bộ SDK đa nền tảng, các ứng dụng Flutter có thể hoạt động trên cả iOS và Android. Nó như một thủ thuật khôn khéo để tương thích được với framework UI trên cả hai hệ điều hành này. Các ứng dụng Flutter không biên dịch trực tiếp với các ứng dụng native của Android và iOS.

    Thay vào đó, chúng chạy trên engine render Flutter (được viết bằng C ) và Flutter Framework (được viết bằng Dart, cũng như các ứng dụng Flutter), cả hai bộ này đều được đóng gói cùng với mọi ứng dụng. Sau đó bộ SDK sẽ đóng gói lại vào trong một ứng dụng để sẵn sàng chạy trên mỗi nền tảng. Bạn tạo ra ứng dụng của mình, một engine mới sẽ chạy các đoạn code của Flutter, và các đoạn code native vừa đủ để nền tảng Flutter chạy trên cả Android và iOS.

    Về cơ bản, cách làm này giống như phương pháp “phát triển video game” trong ứng dụng. Cũng như khi các nhà phát triển trò chơi bỏ qua phần lớn các framework ứng dụng hiện tại, và xuất xưởng sản phẩm với engine của riêng mình để phục vụ nhiều mục đích khác nhau, các ứng dụng Flutter không sử dụng framework ứng dụng hiện có mà được đóng gói cùng framework ứng dụng.

    Giới thiệu bộ SDK Flutter của Google.

    Thay vì một engine được thiết kế xung quanh các hiệu ứng 3D hay những thứ tương tự như vậy, Flutter được xuất xưởng cùng với một engine được thiết kế cho hiệu năng của ứng dụng 2D.

    Đóng gói cả một engine đi kèm cùng ứng dụng sẽ làm cho kích thước bộ cài đặt lớn hơn hẳn. Trang Hỏi đáp của Flutter cho biết, một ứng dụng “trống” thông thường sẽ chỉ khoảng 6-7MB trên Android, vì vậy dù là ứng dụng nào, phần kích thước tăng lên cũng là rất nhiều. Nhưng lợi ích của việc này là các ứng dụng Flutter sẽ rất nhanh.

    Flutter được thiết kế từ đầu để đạt tới tốc độ khung hình 60fps. Trong khi đây không phải là một con số hiếm gặp trên iOS, nhưng với Android, bạn có thể cảm thấy sự khác biệt rõ rệt ngay lập tức. Cũng nhờ việc xuất xưởng cùng với cả một nền tảng cho ứng dụng của mình, các nhà phát triển sẽ tránh được nhiều vấn đề về sự phân mảnh của Android.

    Các đặc điểm khác của Flutter

    Việc phát triển cho đa nền tảng không có nghĩa các ứng dụng Flutter sẽ mang lại cùng cảm giác như nhau trên các thiết bị Android và iOS. Các ứng dụng Flutter được xuất xưởng cùng với các widget UI tích hợp sẵn dành cho thiết kế “Material Design” (trên Android) và “Cupertino” (trên iOS), sẽ thay đổi hoàn toàn bề ngoài và cảm giác của ứng dụng. Flutter sẽ thay đổi các động tác cuộn, nút bấm, các thanh trượt, các hộp hội thoại, các nút bật tắt, các thanh tab và hơn thế nữa.

    Nếu bạn muốn, ứng dụng Flutter có thể mang lại cảm giác thực sự giống như một ứng dụng native trên cả hai nền tảng. Đóng gói ứng dụng với widget của riêng bạn cũng sẽ mang lại cái nhìn nhất quán trên toàn bộ hệ sinh thái thiết bị đầy phân mảnh của Android.

    Không chỉ có khả năng chạy trên đa nền tảng, Flutter cũng có một sân chơi có thể mang lại doanh thu tốt cho các nhà phát triển. Nhóm Flutter đã xây dựng cả một trình biên dịch riêng biệt dành riêng cho việc phát triển. Trong khi các ứng dụng hoàn thiện có thời gian biên dịch dài vì cách biên dịch trước (Ahead of Time), việc phát triển sử dụng bộ biên dịch JiT (Just in Time) sẽ cho tốc độ nhanh hơn hẳn.

    Hơn nữa, việc sử dụng ngôn ngữ Dart sẽ cho phép tạo ra chu kỳ phát triển “hot reload”, khi việc thay đổi các dòng code có thể thấy ngay lập tức, trực tiếp trong trình mô phỏng. Flutter cũng có các plugin cho các công cụ phát triển nổi tiếng như IntelliJ, Android Studio và Visual Studio Code: bạn có thể kết hợp code của Flutter với code thông thường của mỗi nền tảng, và cũng có plugin dành cho Firebase.

    Flutter: bước chạy đà quan trọng cho hệ điều hành Fuchsia OS

    Cho dù được gắn nhãn beta, Google đã sẵn sàng sử dụng Flutter cho việc sản xuất hàng loạt ứng dụng, nổi tiếng nhất là AdWords, nền tảng quảng cáo của Google. Đối với một bộ SDK từ Google, không có sự chứng thực nào mạnh mẽ hơn khi nó được sử dụng trong chính UI của nền tảng quảng cáo đang mang lại hàng tỷ USD của mình.

    Google cho biết có hàng trăm ứng dụng Flutter đã có mặt trên các cửa hàng ứng dụng của Android và iOS, nhưng ví dụ nổi tiếng nhất là Hamilton: ứng dụng nghe nhạc trên iOS và Android. Trên Android, bạn có thể thấy cách nó hoạt động như thế nào qua bản demo sau.

    Việc phát hành bản beta của Flutter cũng có thể xem như một bước đi thử nghiệm của Google để chuẩn bị cho việc ra mắt hệ điều hành Fuchsia phiên bản thực trong tương lai. UI của Fuchsia hoàn toàn được viết trong Flutter, và máy ảo Dart VM là nhân cho hệ điều hành này. Khi các nhà phát triển đang viết các ứng dụng Flutter cho Android và iOS, về mặt kỹ thuật, họ cũng đang viết nên các ứng dụng cho Fuchsia, hay ít nhất code của chúng có thể dễ dàng chạy trên Fuchsia.

    Như chúng ta từng thấy trên Windows Phone hay nhiều hệ điều hành khác, vấn đề mấu chốt với một hệ điều hành mới xuất hiện là xây dựng được hệ sinh thái. Nếu bạn có thể làm mọi người phát triển trên một bộ SDK đa nền tảng, và hệ điều hành mới của bạn chỉ là một nền tảng đối với bộ SDK đó, bạn sẽ mang lại cho hệ điều hành của mình một khởi đầu rất tốt. Nếu Fuchsia có thể trở thành một hệ điều hành thực sự cho người dùng, thành công của Flutter sẽ đóng một vai trò lớn trong đó.

    Mặc dù vẫn đang ở dạng beta, nhưng Flutter đang nhanh chóng trở thành một bước tiến lớn với Google. Chắc hẳn trong hội nghị Google I/O 2018 sắp tới đây, sẽ có nhiều cuộc đối thoại đối với các nhà phát triển về tạo nên và chạy ứng dụng trên bộ SDK mới.

    Tham khảo Arstechnica

    Tin cùng chuyên mục
    Xem theo ngày

    NỔI BẬT TRANG CHỦ