Tìm hiểu PhoneGap - Tạo ứng dụng đa hệ trên mobile

Hiện tại, vì công việc quá bận rộn nên mình không còn thời gian để post bài và duy trì nội dung cho blog nữa. Do đó tại thời điểm này, mình quyết định ngừng phát triển blog. Mọi bài viết sẽ vẫn được lưu trữ và mình sẽ cố gắng hỗ trợ tất cả các bạn khi có comment hỏi. Cảm ơn các bạn đã ủng hộ blog suốt thời gian qua !
1. Hybird app là gì ? Tại sao lại sinh ra ứng dụng Hybird app?

Việc các thiết bị mobile ngày càng phát triển dẫn đến những khó khăn trong lập trình các ứng dụng bên trong nó:
  • Quá nhiều hệ điều hành nhiều nền tảng khác nhau.
  • Cần nhiều team để làm việc trên những hệ điều hành, nền tảng đó.
  • Với mỗi lĩnh vực cần chuyên gia có kinh nghiệp trên lĩnh vực đó.
  • Với mỗi nền tảng thì trong từng phiên bản có sự phân mảng khác nhau. Ví dụ với android tính năng này support trên android 2.2 nhưng ver < 2.2 không support….
  • Nhiều môi trường làm việc khác nhau (Window, Mac,..) Tools làm việc…
 

Xuất hiện các framework sử dụng html, css, js để viết các ứng dụng web mà có thể chạy trên nhiều nền tảng di động khác nhau như PhoneGap, Titanium,…. Trong đó phổ biến nhất là PhoneGap

2. PhoneGap

  • PhoneGap ra đời dựa trên công nghệ web để xây dựng các ứng dụng đi động
  • PhoneGap sử dụng HTML,CSS, và Javascript và xây dựng một bộ các API bằng java script, chương trình thiết kế giao diện bằng HTML, lập trình logic bằng javascript và chạy trong môi trường Web của thiết bị, thông qua PhoneGrap javascipt API thì ứng dụng có thể truy cập được vào những tính năng gốc của máy điện thoại.
  • Người lập trình PhoneGap phát triển chương trình mà không phụ thuộc nhiều vào ngôn ngữ của các Platform Iphone, BB,Symbian. Ứng dụng được phát triển trên IDE của platform ví dụ Iphone dùng Xcode và gói thư viện, BB xài eclipse…
Kiến trúc tổng quan Ponegap

Các tính năng quan trọng của PhoneGap

PhoneGap hỗ trợ truy xuất hầu hết các API của thiết bị như API camera, File, Lưu trữ SQL Lite, Media, GeoLocation…

Các API PhoneGap hỗ trợ

Một số tính năng hạn chế của PhoneGap

Một số tính năng chung khác mà phonegap hỗ trợ và hạn chế

3. Ưu điểm và hạn chế khi phát triển phonegap

Các ưu điểm
  • Một opensource free
  • Hỗ trợ trên nhiều platform iOS, Android, Window mobile, BlackBery, Symbian, webOS, bada à phát triển 1 ứng dụng có thể chạy trên nhiều nền tảng khác nhau, không cần bỏ nhiều resource riêng cho từng nền tảng ứng dụng; đồng nhất giao diện ứng dụng trên các nền tảng khác nhau.
  • Sử dụng javaScript/HTML có thể gọi tới các API native code C,C++, Java
  • Hỗ trợ gần như hầu hết tất cả các thư viện gọi tới hệ điều hành phone. (Định vị, Camera, truy cập file, database…)
 Khó khăn
  • Khó hoạt động trên các mobile browser cũ vì không hỗ trợ javascript và tốc độ chậm
  • Việc quản lý các tài nguyên sâu của thiết bị không thực hiện được như: quản lý các tiến trình(đồng bộ, bất đồng bộ), khả năng đồ họa hạn chế (3D).
  • Layout ứng dụng sẻ không phù hợp khi qua các màn hình thiết bị có độ phân giải khác nhau, và tùy thuộc vào độ hỗ trợ của trình HTML của thiết bị. vd các apps cho android trên các thiết bị khác nhau thì sẽ không rõ nét vì trên androids hỗ trợ các bộ icon cho các độ phân giải khác nhau nên rõ nét hơn.
  • Các bộ nhập liệu trên từng thiết bị không điều khiển được như: keypad, track ball, tapping,rocker …
  • Khó trong việc phát triển vì debug khó khăn
  • Tài liệu khá ít, Phonegap đang trên đà hoàn thiện vì thế nguy cơ tiềm ẩn khi phát triển ứng dụng bị stuck là điều có thể xảy ra.
4. Kết luận
  • Phonegap thích hợp để phát triển các ứng dụng không cần đòi hỏi giao diện quá cao, quá nét như các native app (vd apps quản lý bán hàng, quản lý thông tin nhân sự….)
  • Các apps thiên về xử lý native nhiều, đòi hỏi giao diện, mức độ tương tác, đa phương tiện cao và sắc nét trên từng nền tảng hơn thì không nên dùng phonegap như apps xử lý đồ họa(3D)
  • Tuy  PhoneGap có thể làm rất tốt việc tạo ra hầu hết ứng dụng, nhưng chúng không thể làm cho JavaScript chạy hiệu quả như chương trình C. Phiên bản web làm việc ổn, nhưng ứng dụng viết riêng cho thiết bị đem đến cho người dùng trải nghiệm tốt hơn mà ứng dụng web hiện nay không thể đạt được.
Bài viết chỉ mới là tìm hiểu sơ bộ về PhoneGap cũng như các công nghệ Hybird khác. Bài viết sau mình sẽ bắt đầu đi rõ hơn về kiến trúc, các API support của PhoneGap.

PhoneGap support nhiều OS khác nhau, nhưng mình sẽ chọn Android để làm việc chính với PhoneGap. Và sẽ nói cách setup môi trường làm việc, demo…
———————————————————
Nguồn: bloghnb
Tham khảo thêm: http://phonegap.com/
Ebook: Beginning Phonegap
 

Web Design Technology blogs [ itdl ] Auto Backlink

HomeBlog ArchiveServicesLink2MeContactSubmit your PostPost RSS

Copyright © 2012 [ itdl ] Just for Share. Designed by Ngoc Luong - Freelancer

Best view in Chrome 11+, Firefox 5+ with resolution 1024 x 768 pixel. Powered by Blogger.