Top 10 bộ công cụ cho ứng dụng di động (mobile app developmet tools) đa nền tảng

Thảo luận trong 'Giáo dục' bắt đầu bởi khanhan, 24 Tháng ba 2017.

  1. Với sự đa dạng ngày càng gia tăng của thiết bị di động, lập trình viên hiện đang gặp thêm nhiều khó khăn để cho ra được ứng dụng có tính thương mại cao vì người dùng phân bố ở nhiều platform khác nhau.

    Mục tiêu của bài viết là cách viết ứng dụng đa nền tảng với code reuse. Để hỗ trợ các bạn trong quá trình phát triển ứng dụng di động đa nền tảng (multi-platform mobile apps), chúng tôi xin giới thiệu 10 framework đa nền tảng tốt nhất hiện nay, có thể làm việc trên nhiều nền tảng thông dụng bao gồm Android, iOS, Windows Phone, BlackBerry OS,…

    1. PhoneGap
    PhoneGap làm việc tốt nhất với những ứng dụngkhông sử dụng quá nhiều tính năng đặc trưng của thiết bị di động. Công cụ đóng gói ứng dụng trongnative application container, cho phép JavaScript truy cập các APIs ở cấp độ thiết bị, tương tự như ứng dụng thông thường.
    Ưu điểm:
    Cho phép tạo ứng dụng lai bằng những công nghệ web phổ biến (HTML5, CSS3 và JavaScript),
    Cho phép bạn deploy một code base duy nhất lên nhiều nền tảng khác nhau, trong đó có iOS, Android, Windows Phone, BlackBerry, Firefox OS,…
    Cấu trúc cho phép áp dụng plugin, mở rộng (theo module) APIs thiết bị và nhiều lợi ích khác.
    Cho phép áp dụng thanh toán tích hợp/in-app thông qua App Store cho iOS, Google Play Store cho Android,…
    Khuyết điểm: Khả năng hỗ trợ đồ họa hạn chế cho ứng dụng.

    2. Appcelerator
    Appcelerator giúp xây dựng native apps chỉ với một JavaScript codebase duy nhất. Bộ công cụ còn cung cấp web content trong native application, đảm bảo code của bạn không được gói quanh web container.
    Ưu điểm:
    Nhiều công cụ giúp tăng tốc phát triển ứng dụng. Có thể xây dựng prototype nhanh hơn, và dễ dàng hơn, để đánh giá tương tác người dùng với UI
    ArrowDB (kho dữ liệu schemaless) cho phép bạn deploy các data models mà không cần phải setup.
    Tích hợp khép kín cho các hệ thống giao nhận liên tục, như giải pháp SCM và MDM.
    Pre-built connectors có sẵn cho MS Azure, MS SQL, Salesforce, MongoDB, Box,…
    Khuyết điểm: Appcelerator có thể khá bug và lag (phiên bản mới có ổn định hơn).

    3. Xamarin

    Xamarin giúp bạn xây dựng native apps cho nhiều nền tảng khác nhau, bằng C# code base dùng chung. Với Xamarin, bạn có thể làm mọi thứ với Objective-C, Swift hay Java. Bộ công cụ cho phép bạn sử dụng cùng một IDE, ngôn ngữ và APIs ở mọi nơi. Hơn nữa, Xamarin Studio còn có tích hợp sẵn Git.
    Ưu điểm:
    Ứng dụng mẫu được viết rất rõ ràng và còn có thể được dùng là mẫu tham khảo.
    Xamarin có thể chia sẻ đến 75% code được viết ra đến các nền tảng di động lớn, từ đó tiếp kiệm rất nhiều thời gian và chi phí.

    Cung cấp functionality testing và quality assurance (kiểm tra tính năng và đảm bảo chất lượng) cho vô số thiết bị để đảm bảo tích hợp chuẩn xác (Xamarin thậm chí còn có giả lập Android riêng)
    Khuyết điểm: Với Xamarin, vì sự cố tương thích, bạn sẽ vẫn không thể sử dụng được vô số thư viện nguồn mở cho iOS và Android.

    4. Sencha Touch
    Sencha Touch hiện là framework ứng dụng web di động đa nền tảng hàng đầu, cho phép xây dựng ứng dụng có hiệu suất cao, nhờ vào việc tận dụng kỹ thuật gia tốc phần cứng. Trên Sencha, các thư viện và thành tố UI tối ưu giúp ta có được những ứng dụng có chất lượng cực cao. Bộ công cụ còn có thể cho ra nhiều ứng dụng thương mại có quy mô lớn, dễ duy trì.
    Ưu điểm:
    Theme đặc trưng built-in cho các nền tảng lớn
    Hỗ trợ Android, iOS, BlackBerry, Windows Phone,…
    Gói dữ liệu backend agnostic, để làm việc với các nguồn data
    Hỗ trợ tích hợp PhoneGap/Cordova cho việc truy cập và đóng gói native API
    Khuyết điểm: Số lượng theme khá hạn chế và quá trình cấp phép thương mại của Sencha Touch khá khó hiểu.

    5. Monocross
    Framework di động đa nền tảng nguồn mở cho phép bạn tạo ứng dụng tuyệt đẹp cho iPads/iPhones, Android smartphone/tablet, Windows Phone và các thiết bị nền Webkit. Monocross sử dụng các framework C#, Microsoft .NET và Mono để phát triển ứng dụng hỗ trợ đa nền tảng.
    Ưu điểm:
    Cho phép tận dụng toàn bộ sức mạnh của API trên thiết bị, trong khi vẫn code với C#
    Cho phép tiếp cận một vài APIs cần thiết để deploy ứng dụng thành công, không cần phải tìm đến những điểm rắc rối (cấp thấp) trên từng nền tảng.
    Với Monocross, ứng dụng chỉ cần tương thích C# và .NET là đã có thể được phát triển và duy trì dễ dàng.
    Khuyết điểm: Tài liệu, tài nguyên, và hỗ trợ online cho Monocross hiện khá hiếm, từ đó khiến việc sử dụng framework khó khăn hơn bình thường.

    6. Codename One
    Codename One là bộ công cụ đa nền tảng (multi-platform tool), đa thiết bị, với mục tiêu sử dụng đơn giản, phát triển ứng dụng nhanh chóng và tích hợp chuyên sâu. Tuy buộc bạn phải code bằng Java, ứng dụng cũng có thể được test/đảm bảo, bằng giả lập thiết bị và công cụ test tự động của Codename One.
    Ưu điểm:
    Hỗ trợ hầu hết IDEs nổi tiếng như NetBeans, Eclipse, IntelliJ IDEA,…
    Cho phép UI làm việc trơn tru trên mọi nền tảng
    Build servers cho phép xây dựng ứng dụng native iOS không cần máy Mac, và ứng dụng Windows không cần máy tính chạy Windows

    Sử dụng ParparVM (và iOS toolchain chính thức) đảm bảo tương thích với các phiên bản iOS trong tương lai
    Khuyêt điểm: Theme đồ họa mặc định còn nguyên sơ. Graphical UI Builder không phù hợp với các project lớn.

    7. Kony Mobile Platform

    Kony Mobility Platform là bộ công cụ phát triển ứng dụng tích hợp, đa nền tảng; có thể dùng để xây dựng ứng dụng di động (mobile apps) “vạn năng”. Kony Mobility Platform cung cấp tính năng code tự động, app preview, kết nối API, và nhiều tính năng khác.
    Ưu điểm:
    Đi kèm với nhiều ứng dụng built sẵn, là nguồn tham khảo khá tốt cho người mới làm quen
    Cung cấp nhiều dịch vụ cơ sở hạ tầng di động thống nhất để hỗ trợ các hệ thống backend
    Công cụ đồ họa hóa làm frontend mạnh mẽ cho APIs JavaScript đa kênh
    Khuyết điểm: Tương tự Monocross, Kony thiếu document và support cho người dùng so với các bộ công cụ khác.

    8. Convertigo
    Convertigo là nhà cung cấp phần mềm nguồn mở, cung cấp bộ dịch vụ chuyên cho ứng dụng di động doanh nghiệp gồm các giải pháp sau: Convertigo Studio, Convertigo Server, Convertigo Cloud và Convertigo Mobilizer.
    Uu điểm:
    Cho phép tạo events được định sẵn thông báo cho người dùng, ngay cả khi thiết bị đang ở chế độ standby.
    Cho phép kết nối đến khối dữ liệu của doanh nghiệp, thông qua nhiều kết nối như SQL database hay dịch vụ web.
    Với công nghệ sao lưu dữ liệu siêu đồng bộ, dữ liệu còn có thể được truy cập cục bộ khi không thể kết nối mạng.
    Khuyết điểm: Convertigo có ba kế hoạch sử dụng khác nhau. Trong đó, kế hoạch miễn phí chỉ có community support mà không hỗ trợ data offline siêu đồng bộ.

    9. Nativescript
    Nativescript là một nền tảng nguồn mở khác giúp xây dựng ứng dụng di động đa nền tảng. Nativescripts cung cấp native APIs (trong JavaScript) của hầu hết nền tảng di động. Bạn có thể dễ dàng trực tiếp reuse nhiều plugin sẵn có từ npm lên NativeScript project, từ đó mở rộng tính năng ứng dụng được dễ dàng hơn.
    Ưu điểm:
    Hỗ trợ embed chuyên sâu cho Angular.js 2 và TypeScript.
    Cho phép sử dụng hầu hết bất cứ thư viện javascript nào (không phụ thuộc vào internet)
    Ứng dụng có thể tận dụng các thành tố riêng của thiết bị, và được truy cập trực tiếp đến native APIs, hay truy cập toàn phần đến thư viện phát triển
    Declarative UI support đa nền tảng, cho phép bạn chỉ thiết kế UI một lần duy nhất mà vẫn dùng được trên các nền tảng được hỗ trợ
    Khuyết điểm: Nativescript còn nhiều vấn đề về xử lý đa luồn, thiếu ví dụ và tài liệu chuyên cho mỗi tính năng.

    10. RhoMobile
    RhoMobile Suite được xây dựng dựa trên framework Rhodes. Đây là bộ công cụ giúp phát triển ứng dụng di động native, doanh nghiệp-khách hàng, đa nền tảng. Với RhoStudio (Eclipse plugin), lập trình viên có thể tạo, phát triển, debug và test ứng dụng mà không cần phần cứng hay trình giả lập nào khác.
    Ưu điểm:
    RhoElements cung cấp Object Relational Mapper cho phép tự động đồng bộ backend data và thậm chí còn mã hóa data tự động
    Để truy cập data offline như Convertigo, RhoConnect cho phép lập trình viên tích hợp tính năng đồng bộ data offline vào ứng dụng
    Khuyết: Plug-in RhoElements RFID cho Windows Mobile/CE không có open source/miễn phí cho các hệ thống khác.
    Bên cạnh đó, React Native, Ionic Framework, Meteor và Adobe AIR cũng là những bộ công cụ mạnh mẽ cho những ai tìm kiếm giải pháp đa nền tảng trên di động.
     
    Tags: mobile apps

Chia sẻ trang này

Diễn đàn chia sẻ kiến thức sinh sản và kinh nghiệm làm cha mẹ - " Hạnh phúc khi con lớn khôn"