#1

on 16.09.19 9:37

tranvanthe92cd

tranvanthe92cd

Thành viên Ưu Tú

Thành viên Ưu Tú
Một doanh nghiệp muốn phát triển, cần nhận ra rằng, một ứng dụng di động cần có sự tích hợp cả 2 nền tảng IOS và Android

Khoa học công nghệ:Phát triển ứng dụng mobile với Flutter Phat-trien-ung-dung-mobile-voi-Flutter

Logic kinh doanh, code một lần, đóng gói nhanh và cảm giác tự nhiên là điều mà hầu hết các doanh nghiệp muốn phát triển trên sản phẩm của mình.

Xem thêm: viết phần mềm

Mức độ khó của điều đó như thế nào ?

Năm ngoái, có một công ty phát triển ứng dụng Easy Diet Diary, trên ứng dụng IOS. Chức năng của ứng dụng như một máy theo dõi chế độ ăn uống của của ÚC, phục vụ dành cho những người mắc bệnh thận

Xem thêm: ngôn ngữ lập trình web

75.000 dòng mã Objective C và Swift

Amazon AWS backend: DynamoDB, Postgres and S3

22.000 người dùng hàng ngày và 1,25 triệu lượt tải xuống

Sau đó, Flutter xuất hiện (Beta 2 tháng 4 năm 2018)

Xem thêm: lập trình website

Nó đánh dấu đủ các ưu điểm (đa nền tảng, hiệu năng tốt, triển khai nhanh, cảm nhận tự nhiên, mã nguồn mở) để công ty thử xây dựng một phiên bản Flutter duy nhất cho iOS và Android.

Sau sáu tháng, công ty này đã thử nghiệm và phát hành bản Google Open Beta mà không cần dùng đến mã nguồn gốc, và họ đã:

Phát hành phiên bản Android trên Cửa hàng Google Play

Thay thế ứng dụng iOS gốc trên App Store.

Và đã có những đánh giá được rút ra:

Dòng mã & tốc độ phát triển

Khi bắt đầu, đó là một sự mặc định cho rằng công việc đã được làm hiệu quả hơn với lập trình khai báo và làm thế nào có thể sử dụng lại mã giao diện thay vì bị ràng buộc không thể truy cập được trong các bảng phân cảnh dựa trên XML. Và rồi, với sự ra mắt của Jetpack Compose và SwiftUI, dường như không còn gì để xem ở đây

Chuyển đổi công nghệ kết thúc với 35.000 dòng mã Dart được viết. Ngoài ra, có 3000 dòng mã Objective-C / Swift để xử lý các công cụ cụ thể của iOS như HealthKit và nâng cấp người dùng cũ với 500 dòng mã xử lý hình ảnh Java.

Sau cùng, ứng dụng Flutter chỉ cần đến một nửa số dòng mã so với ứng dụng iOS gốc.

Google Open Beta

Developers iOS đã dành rất nhiều thời gian để chạy các ứng dụng thông qua quy trình Apple Test Testlight và việc đưa một ứng dụng phát triển vào tay end-users là điều khó khăn. Và chúng ta sẽ không hy vọng nó sẽ sớm thay đổi vì Apple cho rằng quy trình xem xét của mình như một cách đảm bảo các ứng dụng đáp ứng các tiêu chuẩn nhất định và không độc hại. Tuy nhiên, đối với một nhà phát triển có năng lực với ý định lauching sản phẩm nhanh, thì quy trình duyệt app của Apple có thể gây phiền não.

Ngược lại, bằng cách sử dụng quy trình Beta mở của Google, người dùng có thể tìm kiếm các ứng dụng beta trên Google Play, giống như bất kỳ ứng dụng nào khác và tham gia chương trình beta một cách liền mạch để sử dụng ứng dụng và đưa ra phản hồi (giới hạn). Khi đã hài lòng với phiên bản Open Beta, bạn có thể quảng cáo nó lên phiên bản chung. Nếu một ứng dụng có thể sử dụng hợp lý, người dùng sẽ hiểu và cung cấp phản hồi mang tính xây dựng.

Easy Diet Diary tích lũy 10.000 người dùng beta khi công ty thêm chức năng và sửa lỗi. Họ đã thực hiện bản phát hành Android 1.0 vào tháng 3.

Kiến trúc

Khi bắt đầu, chắc chắn bạn sẽ chưa quen với lập trình UI khai báo và kiểu quản lý đi kèm với nó. Sau đó sử dụng InheritedWidgets để đồng bộ hóa trạng thái trên cây widget. Thật thú vị khi đối chiếu sự phát triển mã nguồn mở của quản lý trong Flutter với sự phát triển của khung lập trình SwiftUI. Rất Steve Jobs.

Tại Google I / O 2019, nhóm Flutter, một phần nghĩ làm cho việc quản lý bớt khó khăn hơn đối với các nhà phát triển mới và giảm sự phổ biến của các trình bao bọc của InheritedWidget, đã quảng bá tiện ích nhà cung cấp Remi Rousselet.

Dịch vụ hỗ trợ (Amazon AWS)

Ngoài Crashlytics và ML Kit, tất cả các dịch vụ đám mây Easy Diet Nhật ký đều có trên Amazon AWS.

Thật không may, cho đến nay, không có SDK Flutter chính thức cho AWS và rất ít plugin liên quan đến AWS.

Ứng dụng iOS gốc đã sử dụng SDK AWS S3 để trực tiếp tải lên và tải xuống ảnh. Để chuyển sang Flutter, dev team phải chuyển sang các URL S3 đã ký trước (được AWS cung cấp thông qua máy chủ ). Nó hoạt động khá độc đáo.

Hiệu suất

So sánh các phiên bản ứng dụng iOS và Flutter gốc của ứng dụng, những người thử nghiệm đã không gặp phải sự suy giảm hiệu năng đáng chú ý trên điện thoại thử nghiệm ngoại trừ trên iPhone 6 (ứng dụng hoạt động tốt trên 6S).

Flavors and Schemes

Flutter được thiết kế để xây dựng các ứng dụng đa nền tảng từ cùng một cơ sở mã, nhưng còn việc xây dựng nhiều ứng dụng từ cùng một cơ sở mã trên một nền tảng thì sao?

Flutter có một bộ quy tắc dòng lệnh (cũng có thể cài đặt thông qua IDE) cho phép bạn chỉ định xây dựng flavors ánh xạ tới sản phẩm Gradle hoặc sơ đồ Xcode.

flutter build --flavor research

Trong Xcode, bạn phân biệt các phiên bản ứng dụng bằng cách sử dụng tên chương trình.

Trong Flutter, nó được gọi là 'Runner'.

Bình luận bằng facebook

   

Quyền hạn của bạn

   
Bạn không có quyền trả lời bài viết