說明javascript
依據Gartner的研究,Android是全球最受歡迎的移動操做系統,是它支持着大多數智能手機;而依據Canalys的調研,如今在平板電腦領域享有多數市場份額(53%)。讓Android有如此熱度的一部分因素是其多樣性。幾乎每一個用戶都有一個的Android設備的尺寸和形狀,想要一個13英寸帶可拆卸鍵盤的平板電腦?Android一樣知足你。java
當如此多樣的設備讓用戶歡喜時,它也爲開發人員帶來了很多頭疼的麻煩。屏幕尺寸、分辨率、CPU架構和操做系統版本等,都會爲開發人員建立原生Android app帶來挑戰。幸運的是,HTML5使得處理這龐大而多樣的Android設備隊伍變得快速而簡單。瀏覽器
「服務員,個人凍酸奶裏面有果凍豆」緩存
Android初次普遍登臺是在2009年。製造商發佈設備,通常只對操做系統更新一兩次,就放棄它開始關注新硬件了。所以,根據OpenSignal對超過五十萬臺Android設備中,名爲Gingerbread(薑餅2.3 x)的版本依然佔據着最大市場份額(34.1%)。服務器
Android SDK是操做系統特定的,這爲Android開發人員營造了挑戰。也就是說,若是你用4.0 SDK(冰淇淋三明治)開發app,你的app將不能在2.3(薑餅)上運行。這無疑讓開發人員置身於一個尷尬境地。一方面,你要用最新最好的SDK,另外一方面,你要app獲得儘量多的下載。架構
有了HTML5,你不用再糾結於選擇。你能夠用強大的它來構建你的app,無視Android操做系統版本。app
龐大的Android設備隊伍異步
在Android設備運行的不一樣不只僅是表面上的,任何Android設備的心臟部分都是CPU由Qualcomm、PowerVR、NVidia、MediaTek、Intel等製造。取決於你的app須要用到哪一個操做系統的特性,原生Android SDK可能不會兼容什麼特別設備。工具
HTML5提供APIs來作不少一般被認爲是原生操做系統功能的事情。HTML5包含對於鍵/值存儲、文件系統IO甚至經過地理定位訪問GPS的強大APIs。佈局
要訪問原生操做系統功能,沒有標準的HTL5界面。 Apache Cordova framework提供一個界面讓你的app在任何設備上訪問原生操做系統資源,諸如攝像機和加速計。
各類形狀和大小
Android設備有着各類尺寸,小至三星的新齒輪智能手錶,大至13英寸或更大的平板電腦。更添其複雜性的是分辨率範圍從240×320跨到2560×1600。
要解決這個問題,你可能得用線形佈局或網格視圖。這類佈局能良好運行,若是你想要依據用戶需求滾動到視圖中查看app。
好在HTML5提供一個更好的途徑來處理尺寸大小的問題——用響應設計。響應設計是由CSS Media Queries所加強的簡單結構的HTML在更大的屏幕利用更多的空間,在更小的屏幕上縮小或消除那些並不重要的元素。
當響應設計正確完成時,用戶就對跨平臺的app有了流暢的體驗,即使是從新調整屏幕,這是在任何操做系統上解決屏幕尺寸/分辨率問題的最好辦法。
移植到其它平臺
Java的願景是「write once, run any where(只寫一次,哪兒都能跑)」。不幸,出於種種緣由,不能實現這個夢。一些交互編譯器能夠容許建立針對Android和iOS的app,但只有HTML5能在移動操做系統和互聯網瀏覽器上運行。
在諸如Android、iOS、Windows Phone等移動操做系統上,HTML5應用一般託管於Apache Cordova (aka PhoneGap)內,Apache Cordova充當將你的HTML5聯繫到原生操做系統的角色,這包括定義你的app圖標、加載屏幕和提供JavaScript來訪問原生操做系統硬件。
HTML5支持跨平臺,固然,還支持網頁。你第一次用HTML5取代.ASPX或PHP來開啓一個新項目將須要十足的信仰以外,還要你的app在沒有服務器端生成HTML的狀況下工做。
開啓你的瀏覽器
HTML5應用的性能能夠無限接近於原生性能,若是它們是被精心無誤地製做處理的。
HTML5應用絕對須要被安裝到設備上。經過將Apache Cordova或嵌入的WebView指向一個託管於互聯網的網頁來構建的app只能提供可憐的用戶體驗。若是你的app每次都須要用戶經過點擊一些東西來下載用戶界面,這是不可能知足他們「即時響應」的指望的。爲得到接近於原生的速度,你全部的HTML五、JavaScript和CSS都必須安裝在本地設備上,從而使它可以在用戶點擊後就運行。
大多數移動app從互聯網服務器上加載和保存數據。爲了保持你的app以最快的速度響應,你將要在本地存儲一個緩存數據並異步刷新你的數據。這將容許你的app在異步更新時,當即渲染其UI。
HTML的複雜性使得關於渲染你的用戶界面須要多少CPU cycles有了很大不一樣,最好是保持你的HTML儘量地結構簡單化,帶有儘量少的嵌套級別標籤。舉個例子說,深度嵌套的HTML表格,是出了名地衰!
結論
HTML5容許你寫一次應用程序並快速部署它到幾乎現有的每一個操做系統。它即時響應的能力很適合如今數不勝數的安卓設備屏幕尺寸。憑藉大量可用的工具,諸如 Intel XDKnew IDE,你能夠在Android使用HTML開放式架構、CSS和JavaScript上提供一種美妙的體驗。