解決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è)------
-
后臺(tái)產(chǎn)品的以下幾個(gè)特點(diǎn)
日期:2018-09-29 瀏覽次數(shù):2490
-
網(wǎng)站內(nèi)鏈優(yōu)化問(wèn)題和解決方法
日期:2018-09-28 瀏覽次數(shù):2624
-
DIV+CSS的標(biāo)準(zhǔn)化設(shè)計(jì)的優(yōu)勢(shì)
日期:2018-09-27 瀏覽次數(shù):2544
-
網(wǎng)站建設(shè)注意事項(xiàng)
日期:2018-06-08 瀏覽次數(shù):2569
-
免費(fèi)SSL證書(shū)申請(qǐng)網(wǎng)站topssl.cn上線
日期:2024-09-23 瀏覽次數(shù):1089
-
如何在北京順義尋找一個(gè)踏實(shí)的網(wǎng)站建設(shè)公司
日期:2023-08-10 瀏覽次數(shù):4141
-
順義網(wǎng)站建設(shè):北京順義網(wǎng)站建設(shè)的優(yōu)點(diǎn)
日期:2023-05-25 瀏覽次數(shù):4563
-
選擇網(wǎng)站公司需要考慮哪些因素
日期:2023-05-25 瀏覽次數(shù):3424
-
北京模板建站
日期:2023-03-28 瀏覽次數(shù):3604
-
哪些因素會(huì)導(dǎo)致您的網(wǎng)站流量下降
日期:2019-06-14 瀏覽次數(shù):2075
-
css應(yīng)用歸納
日期:2016-02-21 瀏覽次數(shù):2947
-
在啟動(dòng)新網(wǎng)站之前要檢查的12件事
日期:2019-01-29 瀏覽次數(shù):2478
-
什么是PHP網(wǎng)站
日期:2019-05-21 瀏覽次數(shù):2135
-
如何建設(shè)一個(gè)成功的網(wǎng)站?
日期:2021-09-17 瀏覽次數(shù):2039