Phát triển ứng dụng

Solid sử dụng các công nghệ phát triển ứng dụng (App) mới nhất cho Mobile hiện nay như:

·        Công nghệ Native App

Là những ứng dụng được viết riêng cho một loại nền tảng như iOS, Android, Windows Phone bằng các ngôn ngữ tương ứng của mỗi nền tảng đó ví dụ Java trên Android, Object C trên iOS, C# trên winphone.

Mỗi Native App chỉ chạy được trên một nền tảng và không thể mang sang các nền tảng khác.

Điểm mạnh:

–        Về mặt hiệu suất thì native app chạy nhanh hơn mobile app trong hầu hết trường hợp. Tuy nhiên sự chênh lệch ở các ứng dụng có thể là nhỏ, chấp nhận được và khó nhận biết bởi người dùng.

–        Về tính năng native app có khả năng truy cập các phần cứng (như camera, GPS, thiết bị thu âm… ) và có thể truy cập đến các quyền local như : sao chép, tạo, ghi, đọc tập tin (trên bộ nhớ của mobile), các thông tin danh bạ, thông tin cá nhân, thực hiện cuộc gọi, nhắn tin… Nói cách khác, native app có thể khai thác được sức mạnh phần cứng nhiều nhất của nền tảng. Trong khi Mobile Web app thì không thể (có trường hợp có thể đọc file, như upload).

–        Ở chế độ offline: Native app có lợi thế so với mobile web app (luôn phải chạy online). Ở offline-mode, native app sẽ dùng những dữ liệu đã lưu trước đó ở lần cuối cùng mà người dùng truy cập online.

Điểm yếu:

–        Một native app chỉ có thể chạy trên một hệ điều hành nhất định.

–        Với mỗi hệ điều hành thì người lập trình phải viết riêng native code cho nó, dẫn đến không nhất quán giữa các phiên bản ứng dụng, chi phí phát triển cao và đòi hỏi khả năng thành thạo nhiều ngôn ngữ ở lập trình viên. Đôi khi đòi hỏi lập trình viên phải sử dụng những công cụ độc quyền và chỉ được làm việc trên một môi trường duy nhất

–        Hơn nữa, việc bảo trì hay nâng cấp sẽ làm mất nhiều thời gian. Do phải sửa chữa từng app trên từng hệ điều hành, thủ tục đưa lên kho ứng dụng và chờ đợi chấp thuận nên bản cập nhật không đến tay người dùng ngay lập tức, hơn nữa họ phải tự cập nhật khi vào kho ứng dụng.

–        Tính đa dạng phiên bản của hệ điều hành làm cản trở việc phổ dụng các native app. Các thiết bị chạy phiên bản hệ điều hành cũ hơn sẽ không cài đặt được.

Tốt nhất khi:

–        Ứng dụng được xuất bản ra một nền tảng duy nhất

–        Ứng dụng với những yêu cầu cao, vượt qua khả năng xây dựng của hybrid hoặc web.

–        Ứng dụng yêu cầu cao về native UI hoặc đồ họa

Công cụ phát triển trên các hệ điều hành dành cho di động như:

Android

+       Ngôn ngữ lập trình: Java

+       Công cụ lập trình: Android Studio, Eclipse

IOS

+       Ngôn ngữ lập trình: Objective-C, Swift

+       Công cụ lập trình: Xcode

 

·        Hybrid app

Là ứng dụng kết hợp của cả Mobile Web App và Native App. Theo đó, các phần cơ bản của ứng dụng vẫn viết bằng ngôn ngữ web, nhưng được đặt trong native container, nên vẫn có thể đưa lên các App Store.

Điểm mạnh:

–        Hybrid có thể kết hợp điểm mạnh của cả native app và mobile app và khai thác được trải nghiệm cao nhất của nền tảng.

–        Thời gian xây dựng ngắn, chi phí sản xuất thấp, có thể phát triển app cho nhiều nền tảng

–        Dễ sửa chữa và bảo trì. Chỉ cần sửa trên 1 app cho tất cả các hệ điều hành

Nhược điểm:

–        Khi xây dựng ứng dụng bằng Hybrid app không mượt mà so với Native app.

–        Các thành phần của Hybrid như UI và UX cho người dùng không dễ tùy biến tùy vào mức độ hỗ trợ của ứng dụng.

Tốt nhất khi:

–        Ứng dụng sẽ được xuất bản ra nhiều nền tảng

–        Ứng dụng cần được đăng tải trên các App Store

–        Lập trình viên có kinh nghiệm trong phát triển web (html, css, java script)

Công cụ phát triển trên các hệ điều hành dành cho di động như Android, iOS:

+       React Native

+       Ngôn ngữ lập trình: HTML5, CSS3, ES6