HTML5所面臨的一些困境
大?。?/span>0.6 MB 人氣: 2017-10-11 需要積分:1
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
標(biāo)簽:HTML5(17077)云適配技術(shù)(1891)
過(guò)去這些年,HTML5幾乎已經(jīng)徹底改變了PC 互聯(lián)網(wǎng)甚至移動(dòng)互聯(lián)網(wǎng)的格局。縱觀 HTML5 的發(fā)展史,一波三折,有用戶的需求在推動(dòng),有技術(shù)開(kāi)發(fā)者的需求在推動(dòng),更有巨大的商業(yè)利益在推動(dòng)。如今,隨著4G的普及以及手機(jī)硬件性能的飛速發(fā)展,HTML5一直被詬病的性能問(wèn)題逐漸被淡化,HTML5也逐漸被人們接受成為信息和應(yīng)用的載體。過(guò)去的2015年,HTML5的確得到蓬勃的發(fā)展,尤其在微信朋友圈的營(yíng)銷(xiāo)上。然而,HTML5要走出微信朋友圈,在各種場(chǎng)景下得到廣泛的使用,還有很長(zhǎng)一段路要走。
接下來(lái)我們來(lái)分析一下HTML5面臨的一些挑戰(zhàn)。
HTML5并非聽(tīng)上去那么完美
業(yè)界一直都說(shuō)HTML5的殺手級(jí)武器是跨平臺(tái),意思是,相比原生APP要針對(duì)不同手機(jī)操作系統(tǒng)做開(kāi)發(fā),HTML5只需一次開(kāi)發(fā),就可以在所有操作系統(tǒng)上運(yùn)行。
HTML5 是唯一一個(gè)通吃 PC、Mac、iPhone、iPad、Android、Windows Phone 等主流平臺(tái)的跨平臺(tái)語(yǔ)言。Java 和 Flash 都曾夢(mèng)想這個(gè)位置,但都?jí)魯嘤?iOS。此時(shí)人們紛紛開(kāi)始研究基于 HTML5 開(kāi)發(fā)跨平臺(tái)手機(jī)應(yīng)用,很多人都認(rèn)為,原生應(yīng)用只是過(guò)渡,就像當(dāng)年從 C/S 結(jié)構(gòu)轉(zhuǎn)變?yōu)?B/S 結(jié)構(gòu)一樣。而且學(xué)習(xí) Objective-C 和 Java 很費(fèi)勁,既然會(huì)網(wǎng)頁(yè)開(kāi)發(fā),為何不試試 HTML5。
然而,HTML5畢竟只是一個(gè)技術(shù)標(biāo)準(zhǔn),所以跨平臺(tái)確實(shí)跨平臺(tái),但只是理論上的跨平臺(tái)。
在實(shí)際應(yīng)用過(guò)程中,大家會(huì)發(fā)現(xiàn)各種瀏覽器之間存在各種各樣的差異性, 導(dǎo)致HTML5頁(yè)面在不同瀏覽器上顯示的效果不一致,于是要經(jīng)過(guò)大量的兼容性測(cè)試和修復(fù)才能真正實(shí)現(xiàn)“一次開(kāi)發(fā),所有平臺(tái)完美運(yùn)行”的理想,而這樣的工作量并不小。對(duì)此,大家可能有疑問(wèn),HTML5不是國(guó)際標(biāo)準(zhǔn)么,瀏覽器都遵守HTML5國(guó)際標(biāo)準(zhǔn)來(lái)開(kāi)發(fā)的話,不應(yīng)該出現(xiàn)不一致???
其實(shí),這里面有多方面的原因:
1)HTML5的功能是個(gè)巨大的集合,瀏覽器產(chǎn)商不可能在一個(gè)版本開(kāi)發(fā)周期中實(shí)現(xiàn)所有的HTML5能力,每個(gè)版本都只能開(kāi)發(fā)一小部分子集。不同的瀏覽器產(chǎn)商會(huì)根據(jù)自己對(duì)市場(chǎng)的判斷以及公司的戰(zhàn)略,制定自己的開(kāi)發(fā)路線圖,所以自然會(huì)出現(xiàn)不同瀏覽器支持的HTML5功能集合不一致;
2)W3C一直把制定的標(biāo)準(zhǔn)文檔定義成“Recommendation(推薦)”,也就是說(shuō),HTML5并不是一個(gè)強(qiáng)制的標(biāo)準(zhǔn)。如果開(kāi)發(fā)者寫(xiě)的HTML網(wǎng)頁(yè)不符合標(biāo)準(zhǔn),瀏覽器依然能夠顯示。事實(shí)上,互聯(lián)網(wǎng)上有95%以上的網(wǎng)頁(yè)都是不符合W3C標(biāo)準(zhǔn)的。 結(jié)果就是,網(wǎng)頁(yè)中有大量的異常情況,需要瀏覽器自己去修復(fù)。如何修復(fù)不標(biāo)準(zhǔn)的網(wǎng)頁(yè)并沒(méi)有一個(gè)固定做法,所以不同瀏覽器產(chǎn)商都有自己的一套解決方式。這也導(dǎo)致了各個(gè)瀏覽器雖然都是按照相同的W3C來(lái)開(kāi)發(fā)的,但是最后的代碼算法是不同的,繼而導(dǎo)致了顯示結(jié)果不一致;
3)互聯(lián)網(wǎng)是個(gè)高速發(fā)展的市場(chǎng),每個(gè)瀏覽器產(chǎn)商都要為適應(yīng)新的市場(chǎng)變化開(kāi)發(fā)具有足夠創(chuàng)新升級(jí)版本。然而向前創(chuàng)新和向后兼容往往是矛盾的,所以瀏覽器產(chǎn)商在新版本中可能會(huì)做出一些巨大的代碼調(diào)整。然而,瀏覽器是安裝在用戶手機(jī)上客戶端程序,用戶有權(quán)利選擇是否進(jìn)行升級(jí)。這就導(dǎo)致了即使是同一個(gè)產(chǎn)商的瀏覽器,你還得為它的不同版本做相應(yīng)的兼容性修復(fù)。這一點(diǎn)相信大家在PC時(shí)代的IE瀏覽器上都吃過(guò)很多苦頭,每個(gè)前端開(kāi)發(fā)者都需要為 IE6、IE7等不同版本做出大量的工作;
4)今天的手機(jī)操作系統(tǒng)是個(gè)非常碎片化的市場(chǎng)。安卓的開(kāi)發(fā)性為它帶來(lái)了高速的市場(chǎng)覆蓋,但同時(shí)也帶來(lái)了極度碎片的版本分支。幾乎每個(gè)手機(jī)產(chǎn)商都會(huì)做一些定制,以實(shí)現(xiàn)自己在市場(chǎng)上的差異化。小米有MIUI、華為有EMUI、三星有TouchWiz等等。手機(jī)操作系統(tǒng)自帶的默認(rèn)瀏覽器也會(huì)做相應(yīng)的定制,因此導(dǎo)致HTML5網(wǎng)頁(yè)在不同手機(jī)操作系統(tǒng)的默認(rèn)瀏覽器上顯示不一致。由于很多第三方App內(nèi)嵌瀏覽器一般都直接調(diào)用了操作系統(tǒng)自帶的瀏覽器內(nèi)核,從而導(dǎo)致網(wǎng)頁(yè)在了不同手機(jī)上顯示效果不一樣,這點(diǎn)在混合App(Hybrid App)中體現(xiàn)尤為明顯。
如何解決HTML5在實(shí)際應(yīng)用中的兼容性問(wèn)題?
上面提到了諸多HTML5不能真正跨平臺(tái)的原因,可能很多朋友們就要問(wèn)了,如何解決?其實(shí)解決HTML5在實(shí)際應(yīng)用中的兼容性難題,真正實(shí)現(xiàn)HTML5的跨平臺(tái),有兩個(gè)途徑:
1)通過(guò)HTML5的底層框架來(lái)屏蔽不同瀏覽器的兼容問(wèn)題,所有的HTML5應(yīng)用在框架之上來(lái)開(kāi)發(fā)。像國(guó)外的Bootstrap、jQuery UI等都是很好的UI框架,基于他們之上來(lái)開(kāi)發(fā)可以減少大量的兼容性調(diào)試工作。 當(dāng)然,這些國(guó)外的UI框架都是針對(duì)國(guó)外的審美觀、國(guó)外的主流瀏覽器和操作系統(tǒng),國(guó)產(chǎn)的Amaze UI 也是類(lèi)似的框架,但是針對(duì)國(guó)內(nèi)網(wǎng)民的樣式喜好以及主流移動(dòng)瀏覽器或帶有瀏覽器功能的App(比如微信)做了大量的調(diào)整優(yōu)化;
2)通過(guò)讓用戶使用自有內(nèi)核的固定瀏覽器,這樣就不存在兼容多個(gè)瀏覽器或者操作系統(tǒng)的問(wèn)題了。然而,對(duì)于普遍的大眾網(wǎng)民,沒(méi)有任何一個(gè)企業(yè)或者是組織強(qiáng)制大家使用哪一款瀏覽器。但是,在企業(yè)內(nèi)部辦公的場(chǎng)景中,這種方式是比較可取的。一方面,公司的員工數(shù)目有限,一般就幾千人上萬(wàn)人,不像互聯(lián)網(wǎng)好幾億網(wǎng)民,所以IT開(kāi)發(fā)人員花大量時(shí)間去做兼容性測(cè)試和修復(fù)是一件投入產(chǎn)生比很低的事情,對(duì)公司效益沒(méi)有任何幫助;另外一方面,市面上各種瀏覽器的安全能力參差不齊,讓員工自由選擇瀏覽器是一件風(fēng)險(xiǎn)很大的事情,極有可能會(huì)導(dǎo)致企業(yè)數(shù)據(jù)泄露或者木馬入侵。因此讓員工使用公司經(jīng)過(guò)安全認(rèn)證的固定瀏覽器,一方面大幅度減輕IT開(kāi)發(fā)的工作量,另外一方面有效保障企業(yè)數(shù)據(jù)安全,事半功倍。
說(shuō)到這里,就不得不說(shuō)一下專(zhuān)門(mén)的企業(yè)級(jí)瀏覽器Enterplorer,這是云適配自主創(chuàng)新并且擁有獨(dú)立內(nèi)核的企業(yè)級(jí)瀏覽器,專(zhuān)門(mén)為企業(yè)移動(dòng)辦公使用場(chǎng)景而開(kāi)發(fā)。一方面它的跨平臺(tái)的自有內(nèi)核能夠屏蔽安卓操作系統(tǒng)之間的差異性,讓你的HTML5應(yīng)用無(wú)論運(yùn)行在什么安卓手機(jī)上都有一致的表現(xiàn),真正實(shí)現(xiàn)“一次開(kāi)發(fā)、到處運(yùn)行”;另外一方面,Enterplorer內(nèi)核為企業(yè)做了完備的安全加密(包括:緩存加密、Cookie加密、下載文件加密等)以及后臺(tái)管理(包括:設(shè)備管理、權(quán)限管理、遠(yuǎn)程數(shù)據(jù)擦除等),不但保證企業(yè)的數(shù)據(jù)安全,而且讓企業(yè)管理員可以做實(shí)時(shí)的統(tǒng)一管理。
不管怎樣說(shuō),雖然HTML5跨平臺(tái)的能力受限于操作系統(tǒng)的碎片化,仍然顯得不完美,但是其天然的跨平臺(tái)能力已經(jīng)在很大程度上為開(kāi)發(fā)者們帶來(lái)了巨大的價(jià)值。原因不言而喻,對(duì)于開(kāi)發(fā)者而言,除了iOS,安卓,開(kāi)發(fā)者為什么不愿意再開(kāi)發(fā) WP 版本,很多時(shí)候是因?yàn)楣ぷ髁刻?,除了版本適配,分辨率調(diào)整等,一旦有新版本推出,在原生 App 中開(kāi)發(fā)者不得不等待多達(dá)兩周時(shí)間去接受審核,跨平臺(tái)在多屏?xí)r代給開(kāi)發(fā)者非常痛苦的體驗(yàn),人們都期待當(dāng)年 Java 的一次編譯處處運(yùn)行的理想情況。而HTML5 目前正在扮演這樣一個(gè)開(kāi)發(fā)者救星的角色,這里面只需要有一個(gè)統(tǒng)一的企業(yè)級(jí)瀏覽器就可以了。
?
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
HTML5所面臨的一些困境下載
相關(guān)電子資料下載
- Wowza HTML5視頻播放器--Flowplayer 193
- 數(shù)字視頻時(shí)代,為什么流媒體加速CDN越來(lái)越重要? 112
- 圖撲研發(fā)基于HTML5 的 2D、3D圖形渲染引擎 3088
- HTML5是什么 HTML5有什么好處 2108
- 谷歌將大力推廣基于HTML5的游戲平臺(tái) 1532
- 基于HTML5 WebGL的醫(yī)療物流系統(tǒng),觀察醫(yī)療物流過(guò)程 6856
- HT for Web 自主研發(fā)強(qiáng)大的基于 HTML5 的 2D、3D 渲染引擎 5846
- 基于HTML5 WebGL的3D科幻風(fēng)機(jī),科技帶給我們的變化 430
- 關(guān)于HTML5新增的那些功能和特性介紹 3272
- 新Edge實(shí)現(xiàn)HTML5 100%可訪問(wèn)性 老IE 11僅56% 1861