国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > WEB開(kāi)發(fā) > 正文

HTML5+CSS3方式實(shí)現(xiàn)mobie app的瓶頸

2024-04-27 14:59:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  PC的早期階段,也是傳統(tǒng)的C/S模式居多,后進(jìn)化到B/S模式,并產(chǎn)生了SaaS、云計(jì)算等概念和應(yīng)用。從客戶端進(jìn)化到瀏覽器最大好處是客戶端無(wú)需更新,減少了大量的更新成本,只需服務(wù)器端進(jìn)行更新。這也是為什么現(xiàn)在流行webQQ, google docs, photoshop網(wǎng)頁(yè)版的原因?,F(xiàn)在同時(shí)很多軟件廠商也在制作他們的web版本,國(guó)內(nèi)的一些ERP廠商也開(kāi)始了這條道路。iphone、android的巨大成功揭開(kāi)了移動(dòng)互聯(lián)網(wǎng)的大幕,互聯(lián)網(wǎng)企業(yè)都想在移動(dòng)互聯(lián)網(wǎng)的的巨大市場(chǎng)中分得一杯羹。游戲、sns、微博、視頻、本地生活服務(wù)都在大力發(fā)展移動(dòng)互聯(lián)網(wǎng),推出了自己的app。

  mobie native app指使用手機(jī)官方提供的SDK和開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)的手機(jī)客戶端軟件,它能夠很好的使用手機(jī)提供的一些接口來(lái)操作手機(jī)的軟硬件資源。隨著html5和CSS3的流行和webkit對(duì)html5和css3的較好支持,很多人開(kāi)始使用html5和css3來(lái)制作mobie app。如前所述,使用web方式制作mobie app最大的好處是,客戶端無(wú)需更新,并且數(shù)據(jù)顯示很多手機(jī)用戶不是經(jīng)常更新他的app程序,同時(shí)相對(duì)于native app,web方式修改app的界面的成本更低一些。所以說(shuō),對(duì)于對(duì)界面的靈活性有較高要求的app,比較傾向于用web方式實(shí)現(xiàn)mobie app。

  android和iphone都提供了webview的控件,這個(gè)控件實(shí)質(zhì)是一個(gè)webkit瀏覽器內(nèi)核,用于解析html、css、js代碼。所以,native app可以調(diào)用webview空間來(lái)展示我們的web頁(yè)面。同時(shí),由于對(duì)css3的較好支持,native那種絢麗的界面就可以用html+css較好的實(shí)現(xiàn)出來(lái),達(dá)到逼真的native app的效果。

  但是,web實(shí)現(xiàn)mobie app有一些瓶頸。以下是我在項(xiàng)目實(shí)戰(zhàn)中碰到的,如果各位看官有好的解決方案,請(qǐng)不吝賜教。

  其一,根據(jù)百度移動(dòng)互聯(lián)網(wǎng)發(fā)展趨勢(shì)報(bào)告2010Q4,iphone下下載一個(gè)1.407k的網(wǎng)頁(yè),建立連接耗時(shí)1.35s左右,傳輸耗時(shí)0.15s左右。這樣,導(dǎo)致app在建立連接的時(shí)候,屏幕處于白屏狀態(tài)。也就是說(shuō)這個(gè)app在一秒多的時(shí)間內(nèi),完全處于白屏狀態(tài),再加上3G、GPRS網(wǎng)絡(luò)的不穩(wěn)定,有時(shí)候等待app響應(yīng)需要幾秒甚至1幾秒的時(shí)間,這對(duì)于速度就是生命的mobie app來(lái)說(shuō),無(wú)疑是個(gè)致命的缺陷。

  其二,有人說(shuō),native app也需要建立tcp連接,同樣需要耗時(shí)這么長(zhǎng)時(shí)間。很對(duì),那么目前常用的解決方案是什么呢。開(kāi)機(jī)畫(huà)面+loading圖片,有了這兩個(gè),程序不會(huì)處于假死狀態(tài),用戶擁有耐心繼續(xù)等待。那么,web app是否也能這樣做呢。首先,程序打開(kāi)同樣顯示開(kāi)機(jī)畫(huà)面,畫(huà)面結(jié)束后切換界面(webview),webview如果無(wú)loading圖片依然是在建立連接,依然處于白屏狀態(tài)。因?yàn)槲覀儫o(wú)法在開(kāi)機(jī)畫(huà)面的時(shí)間內(nèi)對(duì)程序進(jìn)行預(yù)加載。然后,使用native方式在webview外面蒙上一層,上面放上loading圖片,但是webview沒(méi)有提供web頁(yè)面開(kāi)始渲染的接口,指提供了web頁(yè)面load完成的接口。也就是說(shuō),如果通過(guò)native方式在webview上放置一個(gè)loading圖片的話,那么這個(gè)圖片指能在頁(yè)面完全加載完消失,這樣也會(huì)影響用戶體驗(yàn)。這里再提供一種方式,實(shí)現(xiàn)這種loading圖片的效果:放置一個(gè)靜態(tài)頁(yè)面在本地,點(diǎn)擊打開(kāi)靜態(tài)頁(yè)面,無(wú)需建立連接。而后通過(guò)Ajax方式請(qǐng)求數(shù)據(jù)來(lái)替換頁(yè)面內(nèi)容。這種方式,也是Nokia widget的實(shí)現(xiàn)方式,但是這種方式的效率比較低下。

  其三,難以實(shí)現(xiàn)本地存儲(chǔ)。本地存儲(chǔ)是html5的一個(gè)重要成果之一,但是,基于android存在多版本系統(tǒng)。android低版本中的webkit對(duì)html5和css3支持的并不好。簡(jiǎn)單的兩個(gè)例子是:input type="number"會(huì)導(dǎo)致低版本android的webkit直接crash,css3的圓角在低版本的android webkit中也會(huì)出現(xiàn)明顯裂縫?,F(xiàn)在常用的html5向后兼容方案是通過(guò)javascript+css+html來(lái)模擬html5的一些特性,但過(guò)多的js存在于mobie app中會(huì)不會(huì)得不償失。

  個(gè)人覺(jué)得,移動(dòng)互聯(lián)網(wǎng)的發(fā)展趨勢(shì)一定也是從C/S模式向B/S模式轉(zhuǎn)變。但面臨的困難就是,手機(jī)端的瀏覽器更多,對(duì)web標(biāo)準(zhǔn)的支持也不盡相同,適配各種分辨率的手機(jī)屏幕也是讓人很崩潰的一件事情。相信以后的移動(dòng)互聯(lián)網(wǎng)也將適應(yīng)現(xiàn)在的格局:web方式瀏覽信息,app方式游戲,工具等。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 双峰县| 漳浦县| 顺昌县| 牟定县| 临高县| 宜章县| 屏东县| 通化县| 昌邑市| 盐津县| 镇远县| 石泉县| 台山市| 旅游| 荣昌县| 广元市| 包头市| 洞口县| 荃湾区| 友谊县| 绍兴市| 鹿邑县| 康定县| 南宁市| 贵定县| 安化县| 额济纳旗| 鱼台县| 南丹县| 马尔康县| 广元市| 河曲县| 绿春县| 若羌县| 临沭县| 三门峡市| 石门县| 将乐县| 土默特左旗| 西畴县| 尤溪县|