国内精品视频一区二区三区_欧美人与牲口杂交在线播放_亚洲精品国男人在线视频_成人夜色视频网站在线观看_国产内射一区亚洲

知識(shí)分享

解決HTML5在實(shí)際應(yīng)用中的兼容性問(wèn)題若干意見(jiàn)

發(fā)表日期:2018/8/1 9:54:48 文章編輯: 瀏覽次數(shù):2562

解決HTML5在應(yīng)用中的兼容性問(wèn)題若干意見(jiàn)

HTML5并非聽(tīng)上去那么完美? 業(yè)界一直都說(shuō)HTML5的殺手級(jí)武器是跨平臺(tái),HTML5 是唯一一個(gè)通吃 PC、Mac、iPhone、iPad、Android、Windows Phone 等主流平臺(tái)的跨平臺(tái)語(yǔ)言。原生應(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)行”的理想,而這樣的工作量并不小。

其實(shí),這里面有多方面的原因:

1)?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é)果不一致;?

2)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功能集合不一致;

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)整。然而,瀏覽器是安裝在用戶(hù)手機(jī)上客戶(hù)端程序,用戶(hù)有權(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)了極度碎片的版本分支。由于很多第三方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)用中的兼容性難題,真正實(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)試工作。

?2)通過(guò)讓用戶(hù)使用自有內(nèi)核的固定瀏覽器,這樣就不存在兼容多個(gè)瀏覽器或者操作系統(tǒng)的問(wèn)題了。?另外一方面,市面上各種瀏覽器的安全能力參差不齊,讓員工自由選擇瀏覽器是一件風(fēng)險(xiǎn)很大的事情,極有可能會(huì)導(dǎo)致企業(yè)數(shù)據(jù)泄露或者木馬入侵。因此讓員工使用公司經(jīng)過(guò)安全認(rèn)證的固定瀏覽器,一方面大幅度減輕IT開(kāi)發(fā)的工作量,另外一方面有效保障企業(yè)數(shù)據(jù)安全,事半功倍。不管怎樣說(shuō),雖然HTML5跨平臺(tái)的能力受限于操作系統(tǒng)的碎片化,仍然顯得不完美,但是其天然的跨平臺(tái)能力已經(jīng)在很大程度上為開(kāi)發(fā)者們帶來(lái)了巨大的價(jià)值。原因不言而喻。

?

轉(zhuǎn)載地址:http://geek.csdn.net/news/detail/

------北京網(wǎng)站建設(shè)------


將文章分享到..
相關(guān)新聞
全新新聞
隨機(jī)新聞
最新網(wǎng)站設(shè)計(jì)案例
Hi,我來(lái)幫您!