Phonegap 'kẻ cắp' thời đại mới!

  • 17/10/2014
  • Bởi
  • trong iOS

Nếu bạn muốn trở thành một lập trình viên Android, hãy tham gia khóa học "Lập trình Android qua 10 ứng dụng thực tế" từ chuyên gia Nguyễn Bá Thành, CEO WePlay.,JSC - 5 năm khởi nghiệp lập trình mobile - Nổi tiếng với game Bắt Chữ (10 triệu lượt tải - 2014), Ứng dụng Lịch số 1 Việt Nam: Lịch Vạn Niên (5 triệu lượt tải).

Câu nói trên như một lời cáo buộc đối với sản phẩm vừa mới chính thức chập chững vào nền công nghiệp số. Nhưng lại rất có lý về mặt ý nghĩa.

Câu hỏi đặt ra là: Phonegap là gì?  ăn cắp cái gì? của ai? và ăn cắp như thế nào?

Phonegap là gì?

Học lập trình di động

Khi bạn hỏi câu hỏi này với Google bạn sẽ nhận được câu trả lời như sau:

Phonegap là một công cụ phát triển đa nền nói cụ thể hơn là công cụ phát triển ứng dụng cho iOS, Android, Windows Phone, BlackBerry, webOS, Bada, Symbian cùng lúc,viết một lần biên dịch qua cloud và chạy khắp nơi. Phonegap cho phép nhà phát triển dùng HTML, CSS và JavaScript cho ứng dụng của mình.

Để hiểu sâu hơn về Phonegap chúng ta nên biết rằng: Phonegap là một dự án mã nguồn mở hoàn toàn miễn phí của Nitobi giúp việc phát triển ứng dụng dễ dàng hơn đối với mọi hệ điều hành.  Phát triển đầu tiên tại một sự kiện iPhoneDevCamp ở San Francisco,  PhoneGap tiếp tục giành chiến thắng giải thưởng Choice Award tại O’Reilly Media 2009 ở hội nghị Web 2.0 tháng 4 năm 2009 ( 4 sản phẩm khác cũng dành chiến thắng bao gồm: 80 legs, zealLog, Bantam Network, Dubmenow) mở ra hướng đi mới cho các nhà phát triển ứng dụng web. Kể từ đó có hơn 600.000 lượt tải về và hàng ngàn ứng dụng được phát triển dựa trên Phonegap. Apple đã xác nhận rằng Framework này đã được phê duyệt.

Tuy được tạo ra bởi Nitobi nhưng đằng sau Phonegap là sự đóng góp của rất nhiều người trong những tổ chức lớn như IBM, RIM và Microsoft. Phonegap cũng khẳng định rằng: Họ có một cộng đồng phát triển hấp đẫn, hoạt động mở, minh bạch và hợp tác.

Framework PhoneGap được sử dụng bởi một số nền tảng ứng dụng di động như Worklight , Convertigo và appMobi như là xương sống của động cơ phát triển điện thoại di động dành cho khách hàng của họ. Adobe chính thức công bố việc mua lại của Nitobi Software (nhà phát triển ban đầu) vào tháng 10 năm 2011, trùng khớp với điều đó các mã PhoneGap được đã được sử dụng cho Apache Software Foundation để bắt đầu một dự án mới được gọi là Apache Cordova

Ăn cắp cái gì, của ai?

Học lập trình di động trực tuyến

Nếu các bạn là một lập trình viên hay những người làm việc trong lĩnh vực tin học hẳn còn nhớ đến thuật ngữ: “Write one, run any where” xuất hiện và trở thành một cơn sốt vào ngày 23/5/1995. Ngày mà công ty máy tính Sun Microsystems đã giới thiệu một công cụ lập trình mới – ngôn ngữ Java. Java ra đời với một xứ mệnh khắc phục khó khăn trong việc chuyển đổi các ứng dụng viết trên hệ điều hành và các hệ xử lý CPU khác nhau. Do vậy, người lập trình chỉ cần viết ứng dụng bằng Java đúng một lần, sau đó có thể sử dụng ứng dụng này trên các hệ điều hành khác nhau như Windows, Mac OS, Unix,… theo phương châm: “viết một lần, sử dụng ở bất kỳ đâu”.

Câu hỏi đã được làm sáng tỏ. Đó là Phonegap chính là truyền nhân suất sắc của Java khi hoàn thiện và đẩy tiêu chí “Write one, run any where” lên một tầm cao mới.

Ăn cắp như thế nào?

Học lập trình di động online

Các bạn có tò mò mới câu hỏi này không? Tôi chính là người muốn tìm hiểu tại sao mà Phonegap lại làm được như vậy?

Chúng ta cùng trở lại với: “Write one, run any where” của Java. Điều này được hiện thực hóa như thế nào? Hẳn các bạn không thể quên một phần không thể thiếu của Java đó là Java Virtual Machine (JVM). Việc chạy mọi nơi thực ra không chính xác từng từ đúng theo nghĩa của nó mà thực ra là chạy trên máy ảo JVM. Và JVM đã được thiết kế để phù hợp với tất cả các thiết bị phần cứng. Có nghĩa là: Để có thể chạy được các ứng dụng Java điều bắt buộc là chúng ta phải cài JVM. Ở các hệ thống sau này chúng ta đôi khi nhầm tưởng rằng Java có thể chạy một cách dễ dàng trên các thiết bị di động mà không phải thực hiện thao tác cài đặt JVM. Thực ra là JVM đã được cài đặt sẵn vào trong các thiết bị này từ trước đó.

Vậy Phonegap thì sao? Phải chăng Phonegap viết ứng dụng chạy mọi nơi mà không cần JVM?

Hãy trở lại cốt lõi vấn đề: Phonegap không phải là một ngôn ngữ lập trình. Vậy HTML, CSS và JavaScript mới chính là những ngôn ngữ mà chúng ta bàn tới để ngang cấp với Java ở trên. Thật ra JavaScript cũng cần JVM để thực hiện các tác vụ của mình. Nhưng các bạn biết không JVM của JavaScript chính là các trình duyệt Web. Mà có thiết bị nào không có trình duyệt Web không? Chắc chắn là không rồi. Bất cứ thiết bị nào cũng có trình duyệt Web tức là JVM đã mặc định cài đặt trên các thiết bị di động.

Đến đây bạn sẽ đặt ngay câu hỏi: Tại sao có trình duyệt Web có thể chạy HTML, CSS và JavaScript rồi thì cần gì Phonegap nữa? Câu trả lời là đúng. Nhưng chỉ một phần.  Ở đây chúng ta phải đề cập đến vấn đề phân phối sản phẩm. Việc đóng gói tất cả những file riêng rẽ gồm HTML, CSS và JavaScript thành một khối thống nhất giống như: EXE, APK, JAR … là một nhu cầu thực sự rất cần thiết. Lúc này việc phân phối sản phẩm trên các Store sẽ cực kỳ dễ dàng. Phonegap giúp chúng ta làm điều đó. Đông thời Phonegap cho phép chúng ta truy suất vào các giao diện ứng dụng (API).

Tổng kết bài viết:

Bài viết này cho phép bạn hiểu về Phonegap một cách tồng quan nhất bao gồm: Lịch sử phát triển, tư tưởng chủ đạo, tổ chức hỗ trợ, lợi ích, bản chất hoạt động của Phonegap. Nếu các bạn chưa hiểu hết các vấn đề đó hãy đọc lại bài viết một lần nữa. Từ những hiểu biết này các bạn có thể chọn Phonegap cho những dự án của mình nhằm tiết kiệm thời gian để tạo ra một sản phẩm đa nền. Việc phân phối sản phẩm là cực kỳ quan trọng. Khi bạn viết ra một ứng dụng bạn luôn muốn ứng dụng của mình bán được càng nhiều càng tốt, tức là nó phải chạy được càng nhiều nền càng tốt. Vậy chần chừ gì nữa. Phonegap là một sự lựa chọn không tồi cho bạn.

Hướng dẫn phối mầu trong thiết kế đồ họa Hướng dẫn phối mầu trong thiết kế đồ họa Techmaster team Blog Home 3 Sai lầm UX giết chết thiết kế của bạn 3 Sai lầm UX giết chết thiết kế của bạn Hồ Sỹ Hùng