用JQuery Mobile做HTML5移動應用的三個優缺點

jopen 12年前發布 | 22K 次閱讀 jQuery Mobile

        英文原文:Niall O’Higgins,編譯:伯樂在線——唐尤華

        在過去大約一個月的時間里,我一直在使用 JQuery Mobile 為一個健身培訓網站開發基于 HTML5 的手機/平板前端應用。我之前曾經寫過 Android 和 iOS 應用程序(分別用 Java 和 Objective-C),因此只要編寫一段基礎代碼就可以在主流平臺上運行并能夠快速地用 HTML 和 JavaScript 迭代,這樣的許諾十分誘人。

        JQuery Mobile & HTML5

        使用 HTML5 和 JavaSript 構建一個手機應用,你需要寫很多 JavaScript 代碼。然而,帶有觸摸屏的設備的 UI 控制和處理與標準的 Web 應用程序非常不同。因此,你會想要使用現成的手機 HTML5/JavaScrip 框架(除非你有很多的時間并且打算將所有東西重新構建)。現在有很多現成的框架可供選擇:jQTouch、 Sencha Touch 等等。

        我成為 JQuery 的粉絲已經很多年了,尤其欣賞它的至簡哲學以及出色的核心特性和插件以及社區的貢獻。正是由于有 JQuery,我才能夠接受使用 JavaScript 開發。所以,當聽到 Chris McDonough(Pyramid Python Web 框架的作者)發布 JQuery 的好消息時,我知道我應該去試一試。

        JQuery Mobile 和 HTML5 的 3 個優點

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

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

        我發現 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移動應用的三個優缺點

        JQuery Mobile 和 HTML5 的 3 個缺點

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

        于原生程序。尤其是在 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 上,使用的是原生 非死book 綁定,效果令我映像深刻。我會在未來的博客中寫一些使用 PhoneGap 的經驗。

        總結

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

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!