2012年4月8日 星期日

新一代iPad應用開發:HTML5!

蘋果新發布的iPad以其高分辨率贏得了消費者的青睞。平板電腦的iOS 5.1 操作系統支持HTML 5數據存儲,但不提供對HTML5的擴展支持,平板電腦的Web性能與iPad 2也相差無幾。類似的問題很多,多到我們不能稱之為“挫折”,也沒有人會覺得蘋果來為新興的Web標準提供一如既往的積極支持會有所反悔。而這種新興的Web標準會逐漸讓基於瀏覽器的App表現得更像本地的App,而有些人則認為蘋果之所以做出這種決定是一種別無選擇的妥協。
Sencha是一家提供HTML5工具的廠商,上週發布了一款適用於新款iPad和iOS 5.1 的工具HTML5 Scorecard,這個工具測試的參數主要有兩個,其一是完整性-顯示多少種不同的HTML 5元素;其二是正確性-呈現效果如何。測試結果表明,“iOS目前是市場上最好的HTML5平台,但是我們原本所抱有的期望值更高,只是沒想到我們踩到水了,反而還滑倒後退了很遠,這讓我們對平台感到有些失望。”



蘋果新版iPad 3不再永久保存數據

早在2011年iOS 5.1 Beta版本發布了,一個重大改進是對HTML 5本地數據存儲方面有所限制。使用HTML 5數據存儲特性來存儲本地數據將不再被操作系統視為持久性。開發人員可能會在數據存儲機制無論是localStorage 還是WebSQL上面臨著一些挑戰,因為OS不再永久保存這些數據,只會臨時保存。 “iOS在不給任何提示的前提下,可能隨時會清除這些數據,包括在低內存的情況。” Bansod在他的博客中提到。
這個問題影響到了一大批的iOS應用,有時候一些所謂的混合應用使用到了一些嵌入的WebView,WebView將一些HTML 5的應用內置在本地應用程序包中,比如PhoneGap等,他們提供了一個內置的Web 瀏覽器,允許Web應用程序發佈到本地應用商店中,WebViews是所有現代移動操作系統的一個特性。
直到iOS 5.1, WebView應用才可以實現本地存儲數據,並且使用HTML 5存儲能夠保持數據的持久化。特別突出的是,如果您的應用程序使用到了LocalStorage或者WebSQL,那麼這些應用程序可以被當做程序數據的一部分。如果發布了應用程序的新版本,那麼這些數據會依然存在。但現在這種情況將不復存在了。這很可能是因為蘋果不能一直依賴iCloud的備份。 Phonegap論壇的一位開發者透露,蘋果之所以這麼做,是因為他們希望節省空間,將類似的應用程序上傳到UIWebView會花費大量的空間,這讓phonegap的開發人員飽受打擊,因為他們主要依靠LocalStorage 和WebSQL來存儲用戶數據。 
“對於那些依賴LocalStorage 和WebSQL作為機制來存儲數據的開發人員們,打破這種機制可是一次重大的考驗。”但是也有很多變通的方法,比如依賴PhoneGap-SQL插件的人可以考慮使用相關的SQLite,而對於某些開發人員而言,這意味著他們得重新編寫這些應用程序。
由於相關的數據不再保存,用戶在反复登錄網站多次後可能會丟失數據,有些開發人員寄希望於這種變化只是一個Bug,蘋果會負責修復,事實並非如此,早在3月7日,隨著新iPad搭載iOS5.1的推出,他們發現蘋果發布的應用程序帶有這樣的Bug,為此感覺到非常的不悅。

iOS 5.1 與iOS 5.0 相差無幾

Sencha的Scorecard還證實了一點,iOS 5.1 和蘋果發布的Safari Web瀏覽器的移動最新版並未發現支持任何新的HTML5功能。在移動瀏覽器對HTML5提供支持的層面上,iOS依然位居榜首,但是iOS 5.0 和iOS 5.1 在對HTML 5的支持上沒有什麼差別,這一新的化身也沒有為Safari移動版在對標準的支持上新增任何亮點。比如Mac上的Safari 6,支持CSS 樣式,可以用來創建和調整佈局,但是現在的iOS 5.1設備的Safari上已經不再支持這種特性了。
Sencha公司的“HTML 5 Developer Scorecard”工具目前已經可以配置使用在RIM移動黑莓瀏覽器,蘋果iOS Safari,Google的Andr​​oid 2.2和最新3.0移動版本。測試顯示,幾乎所有的瀏覽器功能在iPad 2上都可以得到支持,包括svg, css 2d轉換, css 3d 轉換, css 轉換, Webgl 和Web Sockets。 iPad2中的移動safari瀏覽器對CSS 3是有史以來最好的,而Android 3.0設備還存在很多問題。也就是說iPad 2對HTML5的視頻音頻支持效果是最佳的。

對於大多數Web 瀏覽器而言,新的iPad用戶並沒有發現太多的問題。但涉及到復雜的網頁時,兩種iPad的差別就會特別明顯。


沒有留言: