Phân loại ứng dụng di động đa nền tảng

Một phần của tài liệu Bài giảng Phát triển ứng dụng cho các thiết bị di động: Phần 2 (Trang 54 - 55)

Hiện tại có 2 giải pháp thiết kế ứng dụng di động đa nền tảng là ứng dụng web được thiết kế cho di động (web-apps) và ứng dụng được xây dựng dành riêng cho nền tảng mục tiêu (mobile native apps).

Ứng dụng web được thiết kế cho di động (web-apps)

Web apps được xây dựng trên nền web với các ngôn ngữ web như HTML, Javascript,...Các ứng dụng dạng này được triển khai tại 1 nơi gọi là web server và các thiết bị di động chạy bất kỳ nền tảng nào có thể kết nối tới nó thông qua trình duyệt web mà không cần sự chuẩn bị thêm đặc biệt nào.

Ứng dụng được xây dựng dành riêng cho nền tảng mục tiêu (native apps)

Native app là ứng dụng được viết để chạy trên từng nền tảng riêng biệt (iOS, android, window phone, RIM-OS …) và trên từng thiết bị khác nhau để cùng thực hiện một chức năng cụ thể như: phần mềm nghe nhạc, lịch, hay các ứng dụng mạng xã hội … và các trò chơi trên thiết bị di động. Ví dụ như Apple cho ra Apple App Store – kho lưu trữ phần mềm trực tuyến, RIM cho ra đời kho lưu trữ BB App World – kho lưu trữ phần mềm trực tuyến cho điện thoại BlackBerry, và Google với nền tảng Android cho ra Google Play.

Native app được tải từ các kho ứng dụng di động và cài đặt trực tiếp lên các thiết bị di động. Native apps có lợi thế hơn web app là được xây dựng như một ứng dụng nền của hệ điều hành mục tiêu (iOS, Android,...) và có thể hoạt động cả khi không có kết nối internet.

Giao diện của native app được thiết kế ấn tượng, đáp ứng được nhu cầu của người sử dụng. Tuy vậy, native app phụ thuộc nhiều vào hệ điều hành cũng như phần cứng của thiết bị(cpu, rom, ram, màn hình hiển thị …), tính đa phương tiện chưa được cao, ví dụ như Adobe Flash chỉ hỗ trợ thiết bị có RIM OS7 trở lên, Android, iOS 2.1 trở lên … Font ứng dụng còn hạn chế, chưa thể hỗ trợ tối đa các hệ điều hành và còn nhiều khó khăn trong việc chia sẻ ứng dụng giữa 2 hệ điều hành có nền tảng khác nhau như giữa iOS và Android, iOS và Blackberry. Native app có thể yêu cầu cấu hình phần cứng để chạy trên thiết bị một cách hiệu quả, đồng thời người phát triển native app phải chờ đợi sự kiểm duyệt của nhà cung cấp để có thể đưa ứng dụng của mình lên những kho lưu trữ trực tuyến như AppStore, GooglePlay hay Windows phone store... Nhưng khó khăn đáng kể nhất ở đây, một native app chỉ có thể chạy trên một hệ điều hành nhất định, do đó với mỗi hệ điều hành thì người lập trình phải viết native code riêng cho nó, dẫn tới việc không đồng nhất giữa các phiên bản ứng dụng, chi phí phát triển cao và đòi hỏi sự thành

thạo nhiều ngôn ngữ ở lập trình viên, đôi khi phải sử dụng công cụ độc quyền và chỉ làm việc trên được một môi trường duy nhất như Xcode trên MacOS

Một phần của tài liệu Bài giảng Phát triển ứng dụng cho các thiết bị di động: Phần 2 (Trang 54 - 55)