Ring ring
Các trang bạn đã lưu
Trang chủAndroidTin Tức Android

Cơ hội rộng mở cho ứng dụng di động

 

Ứng dụng di động (mobile app) được xem là phần mềm dành cho điện thoại thông minh (smartphone), máy tính bảng (tablet) để thực hiện những tác vụ như chơi trò chơi (game), lập lịch, nghe nhạc, xem bản đồ… Ứng dụng di động là một khái niệm chung cho mọi ứng dụng, bao gồm cả ứng dụng native app (là một ứng dụng được thiết kế đặc biệt chỉ chạy trên một hệ điều hành của một thiết bị nào đó và thường phải điều chỉnh để chạy được trên các thiết bị khác nhau) và web app (là ứng dụng web chạy trên trình duyệt; hay là một phần cũng như toàn bộ ứng dụng được tải về từ web cho mỗi lần chạy); xem “Một số khác biệt giữa native app và web app”.

Trong vài năm nay trở lại đây, ứng dụng di động vẫn là cách tiếp cận được ưa thích trong việc cung cấp các dịch vụ hay nội dung mới trên các thiết bị di động. Và có lẽ một ngày không xa nữa, thay vì phải ghé vào kho ứng dụng App Store hay Android Market, người dùng chỉ cần nhấn một đường liên kết (link) ở màn hình chính để thực thi ứng dụng ngay trên trình duyệt.

Khi phát triển các ứng dụng cho thiết bị di động, các nhà phát triển thường xây dựng một native app – là loại ứng dụng mà người dùng sẽ mua tại kho ứng dụng trực tuyến và cài đặt vào bộ nhớ điện thoại. Hầu hết các nhà phát triển đều đồng tình rằng native app có vẻ tốt và cho hiệu quả tốt hơn so với ứng dụng web. Đa số người dùng vẫn còn ngại sử dụng ứng dụng web dựa trên trình duyệt, đặc biệt ở khâu nhập dữ liệu. Ngoài ra, một thuận lợi nữa của native app là ít dựa vào mạng: bởi vì native app lưu trữ hầu hết nội dung của điện thoại, chứ không dựa vào mạng kết nối như các ứng dụng web trên trình duyệt.

Tuy nhiên, việc tiếp thị native app trong kho ứng dụng sẽ trở nên khó khăn đối với các nhà phát triển vì có thể ứng dụng của họ chẳng bao giờ được chú ý. Đơn cử, dù ứng dụng có thể nằm trong kho ứng dụng Android Market, nhưng nó cũng có nguy cơ bị “mất hút” trong hàng ngàn ứng dụng khác. Một vấn đề khác đối với các nhà phát triển ứng dụng là họ phải tạo ra nhiều phiên bản native app khác nhau cho các hệ điều hành di động khác nhau (iOS, Android…). Do đó, các nhà wphát triển phải chi nhiều tiền và tốn thời gian để tạo ra các phiên bản tương ứng thay vì nâng cấp hay tạo mới.

Dấu ấn của HTML5 Những chuyên gia trong lĩnh vực thiết bị di động tin rằng các nhà phát triển có thể khắc phục những khó khăn đề cập ở trên nếu họ dùng HTML5 để phát triển ứng dụng web trên trình duyệt. 

 HTML5 là nâng cấp đầu tiên cho ngôn ngữ đánh dấu siêu văn bản từ năm 1999. Mặc dù tiêu chuẩn HTML5 chính thức có thể không được W3C (Worldwide Web Consortium) hoàn thiện cho đến năm 2014, nhưng hầu hết các trình duyệt di động hiện nay đều hỗ trợ cho ngôn ngữ này.

HTML5 cho phép các trình duyệt cả ở máy tính để bàn lẫn thiết bị di động có thể tạo ra những tính năng mới như dò tìm vị trí, phát lại âm thanh hay video mà không cần chương trình nhúng 0. Thuận lợi lớn nhất mà HTML5 mang lại là giúp nhà phát triển có thể tập trung tạo một phiên bản cho một ứng dụng và có thể chạy “êm” trên nhiều loại trình duyệt, dễ dàng tiếp cận vào thị trường hơn. Tham khảo bài: “HTML5-Tương lai web” (A1001_88), “Sẽ có chuẩn chung HTML5″ (A1011_32).

Mạng cũng là yếu tố quan trọng. Với sự xuất hiện của mạng 4G, có thể giúp chuyển nội dung nhanh gấp 10 lần mạng 3G, từ đó người dùng có thể lấy thông tin nhanh hơn trước đây. Các ứng dụng web dựa trên trình duyệt sẽ có cơ hội kết hợp tốt hơn với hoạt động của native app.

Thực tế, trong những trường hợp cụ thể thì kho ứng dụng trực tuyến trên iPhone/iPad có thể thỏa mãn nhu cầu của người dùng. Tuy nhiên, ứng dụng web có thể cung cấp một số điểm thuận lợi hơn so với native app như có thể tương thích với nhiều nền tảng khác nhau, có tính linh hoạt và chi phí vừa phải, tuy nhiên nó cũng phải đối mặt với những khó khăn trong khâu thiết kế, phát triển, triển khai.

Dù cuộc tranh luận về native app và ứng dụng web dựa trên trình duyệt vẫn diễn ra sôi nổi, nhưng các nhà phát triển cũng chưa đưa ra quyết định cụ thể nào vì thực tế đang tồn tại cả 2 dạng ứng dụng này. Ví dụ, một nhà phát triển có thể tạo ra một phiên bản ứng dụng web dạng “rút gọn” trên trình duyệt, cho phép người dùng có thể dùng thử mà không cần phải ghé vào kho ứng dụng trực tuyến. Nếu người dùng thích ứng dụng này, họ có thể quyết định mua phiên bản hoàn chỉnh như một native app. Ngoài ra, nhà phát triển cũng có thể xây dựng nhiều native app theo giống cách họ làm với ứng dụng web trên trình duyệt, bằng cách dùng cùng công cụ, sau đó “gói’ chúng vào trong một native app.

Một ý kiến khác từ các chuyên gia, nếu nhà phát triển có kế hoạch xây dựng ứng dụng trên thiết bị di động thì nên cân nhắc việc phát triển ứng dụng web hay native app. Để quyết định xây dựng theo hướng nào, có thể theo các tiêu chí gồm các yêu cầu tính năng cụ thể về hệ điều hành/phần cứng; Ngân sách; Mốc thời gian; Đối tượng người dùng.

Như vậy, các nhà phát triển có thể quyết định tạo ứng dụng web dựa trên trình duyệt hay native app là phụ thuộc vào mục đích phân phối ứng dụng như thế nào. Nhà phát triển nên tự trả lời câu hỏi là có muốn quảng bá ứng dụng qua kho ứng dụng trực tuyến hay đưa lên Internet, chẳng hạn lên mạng xã hội, nhằm hấp dẫn người sử dụng chú ý đến ứng dụng đó.

Nhiều người vẫn nghĩ rằng khi các smartphone được nhà sản xuất xây dựng sẵn kho ứng dụng sẽ là cách tốt nhất để native app cung cấp các tác vụ trên thiết bị. Tuy nhiên, tình huống này có thể thay đổi kể từ khi các trình duyệt web trên thiết bị di động được cải thiện nhiều hơn, tốc độ của các mạng di động nhanh hơn và có sự xuất hiện của HTML5. Vì vậy, nhiều người trong cộng đồng không dây cho rằng có thể sau này native app sẽ là cách tốt nhất để cung cấp nội dung và các dịch vụ cho người dùng thiết bị di động. Các chuyên gia cho rằng, nếu HTML5 hoàn thiện, có thể ứng dụng web trên trình duyệt tốt hơn và mang đến nhiều thứ thú vị hơn.

Một số công cụ lập trình web di động

Để chọn công cụ lập trình web chạy trên thiết bị di động là điều không hề dễ dàng. Nhưng sự xuất hiện đầy hứa hẹn của HTML5 đã giúp các nhà phát triển có thể khai thác tối đa những ưu thế của ứng dụng web trên thiết bị di động so với việc phải cài đặt phần mềm nào đó trên thiết bị.

HTML5 đang dần trở nên đáng tin cậy đối với các nhà phát triển và cũng có nhiều tính năng phong phú hơn. HTML5 cho phép bạn lưu dữ liệu ở máy khách (client) và có thể thực hiện hầu hết những thứ mà một ứng dụng native app có thể thực hiện.

Các ứng dụng dùng HTML5 dễ dàng tương thích với các nền tảng khác. Dù việc tương thích này không phải dễ, nhưng có thể sẽ đơn giản hơn là việc phải biên dịch ứng dụng từ Objective C sang ngôn ngữ Java. Tuy nhiên, hạn chế của HTML 5 là vấn đề kết nối, thường tốc độ khá chậm, do đó, nhiều nhà phát triển native app đã chọn cách sử dụng thời gian trì hoãn theo miligiây trong lệnh delay.

Dưới đây là một số dự án tiềm năng liên quan đến công cụ lập trình web để giúp việc xây dựng ứng dụng web trên thiết bị di động được thuận lợi hơn.

ChocolateChip-UI

http://www.chocolatechip-ui.com/downloads.html

Robert Biggs, nhà phát triển web ở Bắc California, Mỹ đã xây dựng ChocolateChip-UI là một khung tổ chức (framework), qua đó thể hiện được những nỗ lực về mặt giao diện trên thiết bị di động dùng ngôn ngữ HTML. 

Về mặt kỹ thuật, mã nguồn nằm bên dưới là WAML (Web Application Markup Language) – một ngôn ngữ đánh dấu dựa trên HTML5, sử dụng các thẻ như slider hay stack. Ngôn ngữ JavaScript tích hợp cùng với WAML và đổi thành HMTL5 thuần túy dành cho smartphone. Đây là sự kết hợp giúp mọi thứ trơn tru và hiệu quả. Bạn có thể “trộn” HTML, CSS và JavaScript vào trong WAML và tiến trình biên dịch có thể diễn ra suôn sẻ.

Bộ sưu tập các ứng dụng nhỏ (widget) dạng WAML của ChocolateChip-UI khá toàn diện và tất cả trông giống giao diện người dùng theo chuẩn của thiết bị iPhone.

Moblhttp://www.mobl-lang.org/get/

Nhóm Mobl quyết định xây dựng một framework để tạo các ứng dụng trên thiết bị di động, có thể chạy trên các trình duyệt WebKit. Bạn có thể viết bằng HTML, JavaScript và CSS ngay trong Mobl, sau đó trình biên dịch chúng trên trình duyệt di động. Mobl là một ngôn ngữ mã nguồn mở mới miễn phí, được thiết kế để giúp tăng tốc các ứng dụng trên thiết bị di động, có sử dụng công nghệ HTML5.

Cách tiếp cận của Mobl có thể khắc phục một số vấn đề có trên JavaScript, chẳng hạn như làm thế nào để theo dõi tất cả các dấu ngoặc đơn lồng vào nhau trong JavaScript mà có thể giảm thiểu khả năng xảy ra lỗi. Mobl có thể loại bỏ sự phức tạp trong JavaScript bằng cách khai báo nhiều cú pháp hơn. Ví dụ, nếu bạn muốn tạm ngưng 1.000 miligiây, bạn có thể viết: sleep(1000); doNext);[.

Các nhà phát triển có thể không thích cách tiếp cận này nếu như họ vẫn cảm thấy thuận tiện hơn khi viết bằng Objective C hay JavaScript. Lý do là các chuyên gia lập trình cho rằng cú pháp Mobl chỉ khác biệt chút ít so với cú pháp của các ngôn ngữ khác, mà kết quả cuối cùng cũng không khác biệt gì so với Objective-C hay JavaScript. Tuy nhiên, đối với những người yêu thích ngôn ngữ mới thì đây sẽ là một sự khám phá, có thể giúp họ tạo ra những ý tưởng mới đáng giá.

jQuery Mobile

http://jquerymobile.com/download/

Framework của jQuery hướng đến việc xây dựng bộ công cụ giao diện người dùng đơn giản dành cho smartphone. Tiêu chí này đã giúp jQuery trở nên hấp dẫn hơn và được nhiều nhà sản xuất phần cứng hỗ trợ tốt và tương đối đạt thành công trên các thiết bị di động.

Phần đơn giản nhất của jQuery Mobile là bố cục dựa trên HTML. Các trang được xây dựng trên thẻ DIV và những thành phần chuẩn khác như thẻ LI. Kết quả, jQuery Mobile dễ dàng tích hợp với trang web động. Ví dụ, có một số theme Drupal và mô-đun được xây dựng dựa vào jQuery Mobile, tuy nhiên, sự tích hợp chặt chẽ với jQuery, không có nghĩa là nhiều tiện ích plug-in dành cho máy tính để bàn sẽ có thể hoạt động trên các trang web dành cho thiết bị di động. Chỉ có một số plug-in được xây dựng để mở rộng framework trên thiết bị di động.

The-M-Projecthttp://the-m-project.net/

Nếu bộ phương thức và kiểu (style) của jQuery Mobile vẫn chưa đủ đa dạng, thì M-Project sẽ cung cấp một bộ widget được biên dịch vào trong các đối tượng jQuery Mobile. M-Project có thể xử lý nhiều chi tiết thiết kế cốt lõi hơn.

Mã nguồn dựa theo cấu trúc của mô hình Model-View-Controller. Bên cạnh đó, một số dự án cũng đang xây dựng theo cấu trúc JSON, là một định dạng hoán vị dữ liệu nhanh giúp dễ dàng đọc và viết, cũng là cơ sở dựa trên tập hợp của ngôn ngữ lập trình JavaScript.

Touchqodehttp://www.touchqode.com/download.htm

Touchqode là môi trường phát triển web nhỏ gọn, nhưng điều gây ngạc nhiên là nó có thể chứa một số lượng lớn các tính năng nhưng chỉ nằm vỏn vẹn trong màn hình nhỏ. Mã nguồn của Touchqode thì nổi bật, đoạn script có thể chạy cục bộ và bạn có thể đồng bộ mã nguồn mới thông qua giao thức FTP. Giả sử nếu sếp yêu cầu sửa mã nguồn gấp trong lúc bạn đang ở bên ngoài, bạn vẫn có thể chỉnh sửa mã nguồn chỉ với vài thao tác bấm phím. Các chuyên viên phần mềm nhận định còn quá sớm để giả định rằng người dùng sử dụng Touchqode chỉ để tạo một vài dòng mã nguồn. Nhưng dù sao sự có mặt của Touchqode cũng đáng ghi nhận.

LimeJS

https://github.com/digitalfruit/limejs

DigitalFruit đã tạo ra LimeJS để hỗ trợ cho các nhà phát triển muốn sử dụng các đối tượng WebGL là một phần của HTML5. Các kết quả trước đây của LimeJS tỏ ra hiệu quả với

12»
Chia sẻ bài viết ???
Cùng chuyên mục
Bạn đã xem chưa?
Thống kê