用jQuery Mobile作HTML5移動應用的三個優缺點

JQuery Mobile 和 HTML5 的 3個優勢web

1. 上手迅速並支持快速迭代:在一個星期多一點的時間裏,經過閱讀JQuery Mobile文檔以及O’Reilly出版的JQuery Mobile書籍,我完成了一個能夠工做的app初步版本。在此以前我沒有HTML5 / JQuery Mobile開發經驗。與Android和iOS相比,使用JQuery Mobile和HTML5構建你的UI和邏輯會比在原生系統下構建快得多。瀏覽器

譯註:原生系統:原裝的操做系統,例如Android原生系統是Google發佈未經修改的系統。在本文中,原生應用指直接用系統提供的API開發的程序,與JQuery Mobile開發的程序相對應。app

我發現Apple的Builder接口的學習曲線十分陡峭,一樣學習使人費解的Android佈局系統也很耗時間。此外,要使用原生代碼將一個list view鏈接到遠程的數據源並具備漂亮的外觀是十分複雜的(在Android上是ListView, 在iOS上是UITableView)我可以經過已經掌握的JavaScript和HTML/CSS知識快速地實現一樣的功能,無需學習新的adapter,delegate等等抽象概念,只要編寫JQuery代碼就能夠作到。工具

2.避免麻煩的應用商店審批過程以及調試、構建帶來的痛苦:爲手機開發應用,尤爲是iOS系統的手機,最痛苦的過程莫過於經過Apple應用商店的審批。想要讓一個原生應用程序發佈給iOS用戶,你須要等待一個至關長的過程(須要好幾天,甚至多是好幾周)。不只在第一次發佈程序時要經歷磨難,之後的每一次升級也是如此。這使得QA和發佈流程變得複雜,還會增長額外的時間。因爲JQuery Mobile應用程序僅僅是一種web應用程序,所以它繼承了全部web環境的優勢:當用戶加載你的網站時,他們就立刻「升級」到最新的版本。能夠立刻修復bug和添加新的特性。即便是在Android系統——應用市場的要求比起Apple環境要寬鬆得多,在用戶不知不覺中完成產品升級也是一件很好的事情。佈局

進一步的好處是,發佈beta或測試版本會更加容易。只要告訴用戶用瀏覽器打開你的網址就能夠了!不須要考慮iOS使人抓狂的DRM,也不須要理會Android必須的APK。性能

3.支持跨平臺和跨設備開發:一個巨大的好處是,個人應用程序立刻能夠在Android和IOS上工做,一樣也能夠在其餘平臺上工做。做爲一個獨立開發者,爲不一樣的平臺維護基礎代碼是一項巨大的工做。爲單個手機平臺編寫高質量的手機應用須要全職工做,爲每一個平臺重複作相似的事情須要大量的資源。應用程序可以在Android和IOS設備上同時工做對我來講是一個巨大收穫。學習

更進一步,尤爲是對於運行Android各類分支的設備,它們大小和形狀各異,想要讓你的應用程序在各類各樣屏幕分辨率的手機上看起來都不錯,這是真正的挑戰。對於要求嚴格的Android開發者來講,按照屏幕大小進行設屏幕分割(從徹底最小化到最大進行縮放)會須要不少開發時間。因爲瀏覽器會在每一個設備上以相同的方式呈現,關於這個方面你沒必要有任何擔憂。測試

 

JQuery Mobile 和 HTML5 的3個缺點網站

1.比原生程序運行慢:在我看來最大的缺點是,即便是在最新的Android和iOS硬件上(雙核Tegra 2 Android手機,雙核iPad2平板),JQuery Mobile應用程序都會明顯慢ui

於原生程序。尤爲是在Android上,瀏覽器比起iOS更慢且bug更多(雖然谷歌是專一web領域的公司)。我沒有在更早的Android設備上測試個人程序,也許根本就不能運行(例如Android G1)。我相信在將來的12-24個月,硬件速度會很快獲得提高(例如,四核設備2011年立刻就要上市),性能也許很快就不會成爲問題。可是今天,它確實是一個缺點。若是你只專一於iOS,你大能夠期待一下瀏覽器的性能,至少它在這方面是可靠的(不像Android,黑莓等等)

2.古怪(跨瀏覽器、跨平臺開發):JQuery Mobile如今還是beta版本,所以我遇到了不少bug。也就是說,JQuery團隊還在積極地回覆GitHub上提出的問題。我認爲其中最大的一個問題是各類瀏覽器在不一樣的手機平臺上古怪的表現。這個問題一直爲人詬病。應用程序可能看上去有些古怪——雖然我認爲JQuery Mobile團隊在widget和主題上作得很棒,但的確和原生程序看起來有顯著的不一樣。這個問題到底對用戶有多大影響不得而知,可是這一點須要引發注意。

3. 有限的能力 vs 原生程序:很明顯,運行在瀏覽器上的JavaScript不能徹底地訪問設備的不少特性。一個典型的例子就是攝像頭。然而,相似PhoneGap這樣的工具可以幫助解決不少常見問題。實際上,我已經開始將個人應用程序經過PhoneGap將幾個版本部署到iOS和Android上,使用的是原生Facebook綁定,效果令我映像深入。我會在將來的博客中寫一些使用PhoneGap的經驗。

 

總結

總的說來,我認爲使用JQuery Mobile和HTML5做爲手機應用開發平臺是可行的。然而,這並不適用於(至少到目前爲止)全部類型的應用程序。對於簡單的內容顯示和數據輸入類型的應用程序(相對的是須要豐富多媒體/遊戲程序),它是對原生程序一個有力的加強。我對本身的應用程序使用新平臺的結果感到高興——再也不須要同時爲Android和iOS維護個人健身跟蹤軟件。

在接下來的1-2年中,隨着硬件變得愈來愈快,手機設備愈來愈多樣化,我相信HTML5 (JQuery Mobile, PhoneGap, 等等)在手機應用開發中會成爲更加劇要的技術。

相關文章
相關標籤/搜索