Hybrid app với Ionic – Bài 1: Giới thiệu về hybrid mobile app và Ionic Framework

Như chúng ta đã biết, hiện nay việc phát triển các ứng dụng di động được chia làm 3 loại chính : Native App, Mobile Web App và Hybrid app. Vậy mỗi loại khác nhau như thế nào về cách chúng được phát triển và được ứng dụng:

1. Native Application

Đây là phương tiện mạnh mẽ và phổ biến nhất được các developer sử dụng để phát triển các ứng dụng cho thiết bị di động. Hiểu 1 cách khái quát thì đây là cách thức phát triển dựa vào các công cụ lập trình gốc được các hãng phân phối. Ví dụ như với Android chúng ta có Eclipse + Android SDK hoặc sử dụng Android Studio của chính Google, với iOS chúng ta có xCode đặc trưng của MacOS, với Window Phone thì chúng ta có Visual Studio và một số IDE của hãng thứ 3 khác… Điểm mạnh của native app là lập trình viên có thể sử dụng được hết sức mạnh của hệ điều hành, và ứng dụng chạy mượt mà mà hơn.

Không những vậy hiện này đã có một số công ty đã phát triển công nghệ sử dụng một ngôn ngữ chung (C#, Javascript,…) để viết các ứng dụng native cho nhiều nền tảng (Android, iOS, Window phone) . Ví dụ như Xamarin, Titaninum, NativeScript, Rem Object,… là các công nghệ đa nền tảng (cross-platform), bạn chỉ cần biết một ngôn ngữ thì có thể viết được các ứng dụng native. Nếu muốn biết rõ hơn, tham khảo bài viết về viết code C# trong Android .

Tuy vậy điểm yếu của native app là cần nhiều lập trình viên để tạo ra các ứng dụng cho từng nền tảng, dù hiện này các công nghệ cross-platform mới như Xamarin, Titaninum,… đã giúp các lập trình viên giảm bớt khối lượng code phải viết, nhưng vẫn phải cần các lập trình viên chuyên cho từng nền tảng. Vì thế ứng dụng ra thị trường thường chậm hơn và chất lượng giữa các ứng dụng trên từng nền tảng có thể không đồng đều.

2. Mobile Web Application hoặc Responsive Web

Bản chất ứng dụng chỉ là webview được nhúng file html, css, js vào trong đó, hoặc nó truy cập trực tiếp vào website nhà cung cấp, hoàn toàn được phát triển bởi các lập trình viên web.

Điểm mạnh của nó là có thể tạo app rất nhanh, phù hợp với những ứng dụng có tính marketing cao, không phụ thuộc vào hệ điều hành, rất tiết kiệm chi phí(không cần phải thuê thêm các lập trình viên di động cho từng nền tảng). Nhưng bù lại nó hầu như không có khả năng tương tác với hệ điều hành, hiệu năng thấp, trải nghiệm người dùng không cao và chỉ hoạt động khi có internet. Mobile webapp hoàn toàn không phù hợp với nhưng ứng dụng có tính phức tạp cao, yêu cầu trải nghiệm người dùng lớn,…

3. Hybrid Application hay cuộc hôn nhân giữa Native app và Mobile webapp.

Đây là 1 “con lai” của Native và Webmobile. Bản chất của Hybrid là giao diện được viết bằng ngôn ngữ HTML, CSS, Javscript nhưng nó cho phép gọi được các API của hệ thống để thao tác với hệ điều hành (đọc ghi file, bluetooth, camera, sensor,…). Vì vậy hybrid vừa tận dụng được sức mạnh của Mobile webapp vừa khả năng thao tác hệ thống của Native app. Trong tương lai công nghệ Hybrid hứa hẹn sẽ là sự thay thế hoàn hảo có các ứng dụng mobile hiện nay. Đại diện cho công nghệ Hybrid này có thể kể đến PhoneGap, Ionic, Trigger.IO,…

Ionic Framework

Ionic (đọc là /ˈɑːnɪk/) là một hybrid Framework dựa trên sự kết hợp giữa Angular và Cordova, được tạo bởi Max Lynch, Ben Sperry, và Adam Bradley vào 2013. Đây là một framework rất mạnh để viết các ứng dụng hybrid. Nó khắc phục các nhược điểm của Native app và Mobile webapp và kết hợp được sức mạnh của 2 nền tảng đó. 

Điểm mạnh của Ionic phải kể đến:

– Giảm thiểu thời gian phát triên

– Đa nền tảng

– Khả năng truy cập đến các tính năng của thiết bị và hệ điều hành như bluetooth, camera,..

– Khả năng sử dụng khi không có internet.

– Việc thiết kế giao diện cho các thiết bị có kích cỡ khác nhau trở nên dễ dàng với thiết kế responsive  của web.

– Việc sử dụng AngularJS làm core giúp phần xử lý UI linh động hơn so với javasript hay thư viện Jquery.

– Ionic cung cấp đầy đủ các thành phần trong giao diện người dùng như Pull-to-Refresh, Infinite-loader, tabs, ..

Tuy vậy Ionic cũng có các mặt bất lợi của nó:

– Vẫn còn trong giai đoạn phát triển

–  Hiệu năng vẫn chưa cao và ổn định

-Cộng đồng phát triển ứng dụng vẫn còn chưa đông và chưa có nhiều “guru” trong đó.

Trong bài tiếp theo mình sẽ hướng dẫn cách bài đặt Ionic và tạo một ứng dụng cơ bản để bạn hiểu hơn về ứng dụng hybrid trong như thế nào. Nhưng trước khi tìm hiểu cơ bản về Ionic thì bạn phải có một chút hiểu cơ bản về angular. Nếu không ở bài sau bạn sẽ không hiểu tôi đang nói cái gì đâu .   😀

 

Spread the love
  •  
  •  
  •  
  •  
  •  

Leave a Reply

Be the First to Comment!

Notify of
avatar