PC的早期階段,也是傳統的C/S模式居多,后進化到B/S模式,并產生了SaaS、云計算等概念和應用。從客戶端進化到瀏覽器最大好處是客戶端無需更新,減少了大量的更新成本,只需服務器端進行更新。這也是為什么現在流行webQQ, google docs, photoshop網頁版的原因?,F在同時很多軟件廠商也在制作他們的web版本,國內的一些ERP廠商也開始了這條道路。iPhone、android的巨大成功揭開了移動互聯網的大幕,互聯網企業都想在移動互聯網的的巨大市場中分得一杯羹。游戲、sns、微博、視頻、本地生活服務都在大力發展移動互聯網,推出了自己的app。
mobie nat
android和iphone都提供了webview的控件,這個控件實質是一個webkit瀏覽器內核,用于解析html、css、js代碼。所以,native app可以調用webview空間來展示我們的web頁面。同時,由于對css3的較好支持,native那種絢麗的界面就可以用html+css較好的實現出來,達到逼真的native app的效果。
但是,web實現mobie app有一些瓶頸。以下是我在項目實戰中碰到的,如果各位看官有好的解決方案,請不吝賜教。
其一,根據百度移動互聯網發展趨勢報告2010Q4,iphone下下載一個1.407k的網頁,建立連接耗時1.35s左右,傳輸耗時0.15s左右。這樣,導致app在建立連接的時候,屏幕處于白屏狀態。也就是說這個app在一秒多的時間內,完全處于白屏狀態,再加上3G、GPRS網絡的不穩定,有時候等待app響應需要幾秒甚至1幾秒的時間,這對于速度就是生命的mobie app來說,無疑是個致命的缺陷。
其二,有人說,native app也需要建立tcp連接,同樣需要耗時這么長時間。很對,那么目前常用的解決方案是什么呢。開機畫面+loading圖片,有了這兩個,程序不會處于假死狀態,用戶擁有耐心繼續等待。那么,web app是否也能這樣做呢。首先,程序打開同樣顯示開機畫面,畫面結束后切換界面(webview),webview如果無loading圖片依然是在建立連接,依然處于白屏狀態。因為我們無法在開機畫面的時間內對程序進行預加載。然后,使用native方式在webview外面蒙上一層,上面放上loading圖片,但是webview沒有提供web頁面開始渲染的接口,指提供了web頁面load完成的接口。也就是說,如果通過native方式在webview上放置一個loading圖片的話,那么這個圖片指能在頁面完全加載完消失,這樣也會影響用戶體驗。這里再提供一種方式,實現這種loading圖片的效果:放置一個靜態頁面在本地,點擊打開靜態頁面,無需建立連接。而后通過ajax方式請求數據來替換頁面內容。這種方式,也是Nokia widget的實現方式,但是這種方式的效率比較低下。
其三,難以實現本地存儲。本地存儲是html5的一個重要成果之一,但是,基于android存在多版本系統。android低版本中的webkit對html5和css3支持的并不好。簡單的兩個例子是:input type="number"會導致低版本android的webkit直接crash,css3的圓角在低版本的android webkit中也會出現明顯裂縫?,F在常用的html5向后兼容方案是通過
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答