Như các bạn đã biết việc lập trình một ứng dụng trước đây để chạy trên các nền tảng Android, IOS, win phone v.v… đều phải code trên từng nền tảng khác nhau và bạn phải biết lập trình trên ngôn ngữ của từng nền tảng. Việc này làm mất khá nhiều thời gian để phát triển ứng dụng, do đó mà phonegap ra đời để giúp chúng ta chỉ cần viết một lần mà có thể chạy được ở mọi nền tảng, rút ngắn được khá nhiều thời gian để phát triển cho từng nền tảng mà chỉ cần bạn biết html, javascript, css là đủ.

Đang xem: Phonegap la gì

Và ngày nay, lĩnh vực phát triển ứng dụng di động tồn tại 3 khái niệm là: Native Application, Web Application và Hybird Application.

Native Application: Là những ứng dụng được xây dựng theo cách chính thống với các ngôn ngữ lập trình / nền tảng do các nhà sản xuất di động quy định (ví dụ: Objective-C cho i
OS và Java cho Android, .NET cho Windows Phone,…). Ưu điểm của Native App là nhà phát triển có thể thoải mái truy cập vào hệ thống, phần cứng của thiết bị (như hệ thống file, camera, microphone, accelerometer…). Nhược điểm là bị bó buộc với công nghệ và nền tảng mà NSX đưa ra.Web Application: Là các ứng dụng được xây dựng trên nền tảng web (mà điển hình là HTML5), chỉ hoạt động trên trình duyệt của điện thoại. Tiền thân của ý tưởng này là những trang web có giao diện tùy biến cao, chạy được trên nhiều độ phân giải màn hình, về sau phát triển mạnh và hình thành nên một hướng đi mới cho việc phát triển ứng dụng di động. Ưu điểm là có thể thoải mái phát triển ứng dụng mà không cần quan tâm tới nền tảng vì nó cross-platform. Nhược điểm là không có được sức mạnh truy cập sâu vào hệ thống và thiết bị như native app.Hybird Application: Là con lai giữa 2 khái niệm Native App và Web App kia. Có thể hiểu nôm na các ứng dụng này là: một native app chỉ có một đối tượng webview trên màn hình, dùng để hiển thị nội dung trang web app, và web app giao tiếp với native app thông qua một cầu nối (bridge) để mang lại sức mạnh của native app cho web app.

Và phonegap chính là dạng Hybird Application mà mình đang nói tới. Thật ra các ứng dụng lập trình từ phonegap đều hoạt động trên webview trong Android hay UIWebview trong IOS.

Bạn có thể viết một ứng dụng web với html, css và javascript, jquery nhưng chỉ chạy được trên trình duyệt web mà không chạy được trên thiết bị di động. Vậy bạn cần sử dụng phonegap để build ứng dụng web của bạn thành các file cài đặt trên các nền tảng di động.

Nếu bạn nghĩ phonegap chỉ build được ứng dụng trên nhiều nền tảng mà thực chất nó cũng chỉ là ứng dụng web khi chạy trên trình duyệt di động thì bạn đã sai. Vấn đề ở đây là nếu ứng dụng web thông thường thì làm sao bạn có thể làm việc được với các chức năng của hệ điều hành, giử sử ứng dụng web thông thường thì không thể đọc danh bạ, hiển thị dialog v.v… và khi đó phonegap sẽ làm việc này thông qua các plugin mà phonegap đã hỗ trợ. Hiện tại phonegap hỗ trợ khá nhiều plugin cho người lập trình.

Đối với những bạn khi tìm hiểu về phonegap chắc sẽ thắc mắc về phonegap và cordova. Cơ bản thì Phone
Gap là một dự án mã nguồn mở của một công ty nhỏ có tên là Nitobi ở Canada.

Sau đó, Phone
Gap
đã được Adobe mua lại. Thực tế Adobe đã không mua Phone
Gap mà chỉ thuê nhân viên của dự án Phonegap và mua lại tên Phonegap. Và dự án mã nguồn mở này đã được tặng cho Apache. Sau đó dự án mã nguồn mở này đổi tên thành”Cordova”- nó là tên của một con đường ở công ty Nitobi, Vancouver.

Phonegap và cordova đều giống nhau về codebase. Do đó bạn có thể cài đặt phonegap hoặc cordova để lập trình đều được. Nhưng có một chút khác biệt đó là phonegap hỗ trợ bạn build ứng dụng online trên build.phonegap.com, còn cordova thì không.

Xem thêm: Lý thuyết peptit là gì? liên kết peptit là gì? có bao nhiều liên kết peptit

Với cordova thì bạn chỉ build được ứng dụng ở máy tính. Phonegap thì bạn có thể build bằng công cụ online hoặc trên máy tính đều được, nhưng để build trên máy tính thì bạn cần cài đặt công cụng lập trình cho từng nền tảng để build. Vi dụ ios thì cần xcode, android thì cần eclipse, như vậy thì hơi mất thời gian đúng không, do đó nên sử dụng phonegap để build online cho nhanh.

Đây là một số vấn đề chia sẻ với các bạn đề hiểu hơn về phonegap vho những bạn sẽ và đang tìm hiểu về công nghệ này.

Như mình đã giới thiệu ở một số bài viết trước, lập trình ứng dụng di động đang là một lĩnh vực khá hot mà các lập trình viên nên quan tâm. Theo cách truyền thống (hoặc khi viết native app), bạn cần phải học Java, Objective-C, C# để viết ứng dụng cho Android, i
OS, Windows-Phone.

Tuy nhiên, nếu viết ứng dụng theo hướng hybrid app, sử dụng một số framework như Cordova, Phonegap, … bạn có thể viết 1 ứng dụng hoàn toàn bằng HTML, CSS và Javascript, chạy được trên cả i
OS, Android và Window Phone
. Các bạn web developer có thể dễ dàng nhảy qua mảng mobile mà không cần tốn quá nhiều công sức để học ngôn ngữ mới.

Continue reading Viết ứng dụng di động một cách dễ dàng với Ionic Framework →

androidappstorecodecordovadi độngframeworkionicionic frameworkioslập trình ứng dụng di độnglập trình di độnglập trình viênmobilemobile appphonegapweb developerwindow phone
Chuyện coding, Chuyện nghề nghiệp
Giới thiệu tổng quát về Meteor

Hỏi thật nhé, có bao giờ bạn thấy lập trình một ứng dụng Web là chuyện khó không?

Chúng ta phải học cơ man đủ thứ: Từ front-end như HTML, CSS, JS, cho tới back-end như Java/C#/Ruby, SQL, …. Nếu muốn làm thêm ứng dụng bản trên di động, ta phải học Objective C, Java, … Sau khi code, ta còn phải tìm hiểu về hosting, về domain, về appstore để đưa web/ứng dụng của mình lên Internet, phiền phức nhiều khê quá nhỉ?

Có cách nào để học ít ngôn ngữ, nhưng lại mau chóng đưa ra thành phẩm không? Nếu chỉ là web đơn giản/e-commerce thì bạn có thể xây dựng với Joomla, Drupal, Word
Press,… còn với những yêu cầu phức tạp thì không có cách nào đâu.

À, mà thật ra là có đấy. Chỉ cần bạn chịu khó học javascript, sau đó học Meteor là xong. Chỉ cần chút kiến thức về HTML, JS, CSS và Mongo
DB, bạn có thể xây dựng 1 ứng dụng web và mobile realtime trong 1 tiếng. (Nhanh gấp 5-10 lần Java, C#, PHP hay Rail để làm chuyện tương tự).

Không tin à? Hãy đọc bài viết để biết Meteor là gì, tại sao nó lại “bá đạo” như vậy nhé.

Continue reading Giới thiệu tổng quát về Meteor →

angularjsapplicationẽpressứng dụngblazec#cordovacssdrupalhtmljavajavascriptjoomlajslập trình webmeteormobilemodulemongo
DBNodejsnosqlnpmphonegap
PHPrealtimestart-upwebwebappwebsite
Chuyện coding
Tổng quan về lập trình ứng dụng di động – Phần 2

Ở bài viết trước, mình đã giới thiệu tổng quát về các hệ điều hành di động nổi tiếng hiện nay. Trong bài viết này, mình sẽ đưa ra một số hướng phát triển ứng dụng, cùng với những ưu nhược điểm của nó.

Hiện nay, có 3 hướng chính để phát triển một ứng dụng di động, đó là: Web App, Native App và Hybrid App. Mỗi hướng sẽ cần những kĩ năng riêng, có những ưu nhược điểm riêng, sẽ được nói rõ hơn bên dưới.

Continue reading Tổng quan về lập trình ứng dụng di động – Phần 2 →

androidapplicationứng dụngbuildcodecordovacssdi độnghtmlioniciosjavajavascriptjslập trìnhmobilemobile appobjective-cphonephonegapprogramprogrammertổng quanwindows phone
Chuyện coding
Tổng quan về lập trình ứng dụng di động – Phần 1

Trong khoảng thời gian gần đây, lập trình di động đang là một ngành hot. Các mẩu tin tuyển dụng gần nhất mình đọc thường tuyển Android developer, i
OS developer, … với mức lương khá cao, không thua kém gì lập trình web hay lập trình hệ thống nhúng. Ngoài ra, nếu biết cách lập trình ứng dụng, bạn cũng có thể làm freelance, hoặc tự phát triển ứng dụng và kiếm tiền thông qua ứng dụng của mình.

Xem thêm: Trật Tự Tính Từ Trong Tiếng Anh: Chi Tiết Về Quy Tắc Osascomp

Bài viết này sẽ giúp các bạn có cái nhìn tổng quan về thị trường ứng dụng di động hiện nay, cũng như giới thiệu một số ngôn ngữ/công nghệ các bạn cần biết nếu muốn đi theo con đường này.

Continue reading Tổng quan về lập trình ứng dụng di động – Phần 1 →

androidapplicationứng dụngbuildcodecordovacssdi độnghtmlioniciosjavajavascriptjslập trìnhmobilemobile appobjective-cphonephonegapprogramprogrammertổng quanwindows phone
Search for:Kênh Youtube Tôi Đi Code Dạo

*

*

Kênh Youtube chia sẻ về ngành lập trình dưới dạng vlog 3-4 phút rất ngắn gọn và bổ ích.Các bạn nhớ ghé thăm và subscribe nha!
Sách do tôi viết

*

Bảo mật nhập môn – Bảo mật cơ bản cho developer

*

Nhập môn lập trình không code

function pinIt() { var e = document.createElement('script'); e.setAttribute('type','text/javascript'); e.setAttribute('charset','UTF-8'); e.setAttribute('src','https://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999); document.body.appendChild(e); }

Leave a Reply

Your email address will not be published. Required fields are marked *