Hybrid Mobile App là gì?

Hybrid mobile apps giống bất kỳ những app khác trên điện thoại di động. Chúng có thể cài đặt được trên điện thoại của bạn. Bạn có thể tìm chúng trên các chợ ứng dụng. Với chúng, bạn có thể chơi game, kết nối bạn bè qua các mạng xã hội, chụp ảnh, theo dõi sức khoẻ, và nhiều hơn nữa.

Giống như những trang web khác trên internet, hybrid mobile apps cũng được xây dựng bằng sự kết hợp của các công nghệ web như HTML, CSS và Javascript. Chỉ khác là các ứng dụng hybrid mobile được lưu trữ bên trong một ứng dụng native sử dụng WebView. (Bạn có thể tưởng tượng rằng một WebView như là một cửa sổ trình duyệt được cấu hình chạy fullscreen bên trong một ứng dụng) Chính nhờ điều này, nên chúng có thể truy cập được vào các chức năng dựa trên phần cứng của điện thoại như là cảm biến gia tốc, camera, contacts, và nhiều hơn nữa. Đây là những khả năng thường bị hạn chế khi truy cập trên các trình duyệt di động. Hơn nữa, những ứng dụng hybrid mobile có thể còn bao gồm các thành phần Native UI trong những trường hợp cần thiết.

Xây dựng các ứng dụng Hybrid Mobile như thế nào?

Các ứng dụng hybrid mobile được xây dựng tương tự như các trang web. Chúng đều là sự kết hợp của các công nghệ thiết kế web như HTML, CSS và Javascript. Tuy nhiên, thay vì hướng tới các trình duyệt di động, những ứng dụng hybrid mobile hướng tới các WebView nằm bên trong những ứng dụng native. Điều này giúp cho các ứng dụng có thể truy cập các chức năng dựa trên phần cứng của điện thoại.

Ngày nay hầu hết các ứng dụng hybrid mobile dựa trên Apache Cordova, một nền tảng cung cấp một tập hợp các API Javascript để truy cập khả năng thiết bị thông qua plugins, được xây dựng bằng native code. Lưu ý, Apache Cordova có nguồn gốc bắt đầu từ một dự án có tên là PhoneGap. Ngày nay PhoneGap tồn tại như một bản phân phối của Apache Cordova bao gồm các tiện ích bổ sung. Bạn có thể tìm hiểu thêm về điều này thông qua bài viết PhoneGap, Cordova, and what’s in a name?.

Các plugins bao gồm các APIs để truy cập cảm biến gia tốc của thiết bị, camera, contacts, và nhiều hơn nữa. Ngoài ra còn có một số các plugins được xây dựng và duy trì bởi các cộng đồng phát triển tương đối lớn. Nhưng plugins này có thể được tìm thấy tại Apache Cordova Plugins Registry. Một lượng lớn các plugins đã được kiểm tra kỹ lưỡng, đầy đủ tài liệu và được mở rộng có thể tìm thấy tại Telerik Verified Plugins Marketplace.

Các assets như HTML, CSS, JavaScript được đóng gói thông qua các công cụ có sẵn thông qua Apache Cordova để nhắm tới mục tiêu nền tảng SDK. Sau khi xây dựng, bạn có một ứng dụng có thể chạy như bất kỳ loại ứng dụng khác trên thiết bị. Các công cụ được cung cấp bởi Apache Cordova phần lớn được giao tiếp thông qua giao diện dòng lệnh. Tuy, các nhà phát triển vẫn có thể tận dụng các IDEs như Visual Studio và các giải pháp như Platform Telerik để nâng cao productivity.

Những động lực để hướng tới hybrid là gì?

Ứng dụng hybrid mobile cung cấp một cách cho các nhà phát triển tận dụng các kỹ năng sẵn có trong phát triển các ứng dụng web.

Ứng dụng hybrid mobile chỉ cần được thiết kế một lần cho các nền tảng. Tại sao phải thuê các nhà phát triển cho mỗi nền tảng trong khi bạn có thể thuê một nhà phát triển biết HTML, CSS, và Javascript. Ah, thực tế là một chút phức tạp hơn.

Vâng, đó là sự thật rằng sự phát triển hybrid ứng dụng di động cho phép các nhà phát triển để nhắm mục tiêu nhiều hơn một nền tảng. Tuy nhiên, mỗi nền tảng đi kèm với một chút khó khăn khi nói đến web runtime hoặc WebView. Điều này đặc biệt đúng với Android, đó là không phù hợp giữa các phiên bản hệ điều hành.

Hơn nữa, có thể có những chức năng đặc biệt của một nền tảng mà nhà phát triển có thể muốn nhắm tới. Trong những trường hợp đó, một sự kết hợp của các plugin và code trên các nền tảng cụ thể phải được sử dụng để tận dụng hết những khả năng. Ngoài ra, các nhà phát triển có thể tận dụng lợi thế của runtimes web của bên thứ 3 như crosswalk có thể được nhúng vào trong các ứng dụng hybrid của bạn.

Cần lưu ý rằng Android 5.0 giới thiệu về việc cập nhật WebViews thông qua Android System WebView. Xem thêm bài viết What Android 5.0’s Auto-Updating WebView Means for Mobile Apps để biết thêm thông tin về sự thay đổi gần đây và tác động của nó có tới việc phát triển các ứng dụng hybrid mobile.

Khi nào bạn nên xây dựng ứng dụng hybrid mobile?

Trước khi cam kết một chiến lược nền tảng, điều quan trọng để đánh giá giá trị kỹ thuật và phi kỹ thuật về hybrid với lựa chọn khác như web và native - đặc biệt là khi nó liên quan đến các yêu cầu ứng dụng điện thoại di động của bạn. Ví dụ:

  • Những nền tảng di động nào bạn muốn nhắm tới?
  • Bạn có muốn phân phối ứng dụng của bạn thông qua các cửa hàng ứng dụng?
  • Bạn đang tìm kiếm để sử dụng các khả năng của các thiết bị di động?
  • Các khả năng kỹ thuật của đội ngũ phát triển của bạn là gì?
  • Liệu phương pháp one-size-fit-all của hybrid thực sự giống như tuyên bố của nó?

Những câu hỏi này và các câu hỏi khác nữa là cần thiết trước khi bắt tay vào phát triển một ứng dụng di động.

Một số ứng dụng xây dựng theo phương pháp hybrid

Có một số ứng dụng di hybrid mobile nổi tiếng có sẵn trong các cửa hàng ứng dụng. Một số ứng dụng tôi được biết bao gồm Basecamp, Instagram, Yelp, Untappd, và SydJS. Nếu bạn đang tìm kiếm thêm các ví dụ, bạn có thể xem thêm các tại các trang trưng bày của PhoneGap, Ionic, Telerik Platform, và AppGyver. Họ liệt kê các ứng dụng bao gồm các ứng dụ business, game, tin tức và nhiều hơn nữa.