瀏覽器兼容的思考

筆者目前的傳統軟件Web管理平臺,只預計兼容以下瀏覽器版本:

微軟:IE/Edge 12+ 版本

谷歌: Chrome 50.0+ 版本

Mozzila基金會:FireFox 40.0+ 版本

歐朋:Opera 40.0+ 版本

蘋果:Safari 10.0+ 版本

國產瀏覽器廠商: Chromium 50.0+ 版本

主流國產瀏覽器基本都是較新版的Chromium包個殼,有些甚至只是改了一下瀏覽器應用的Logo。主要有這些產品:紅蓮花安全瀏覽器、速龍安全瀏覽器、龍芯中科、奇安信、科答瀏覽器等。

申威、飛騰、龍芯、兆芯、鯤鵬等平臺,UOS、銀河麒麟、中標麒麟、中科方德、普華、深度等國產操作系統的生態圈裏基本都有上述瀏覽器的版本。

至於IE11,如果真有這個需要,必須只能用這個,後面可以調整一下JavaScript代碼的編譯模式來向下兼容。

上述提到的各瀏覽器的版本號基本都是集中在2015年前後的舊版本(這個時間段內的發佈的版本對HTML5標準已經有一個較爲系統的支持,但還不是很完善),只要用戶的操作系統能裝上它們,其版本號都是遠大於上述版本號的,實際的兼容性和性能會更好。

-----------------------------------------------------------------------------------------

IE瀏覽器及其現狀說明:

在傳統軟件行業,可能大家對互聯網的發展不是太瞭解,對於瀏覽器這塊,大家可能還是很多年以前的想法:那就是一定要兼容IE系列瀏覽器的,伴隨着互聯網領域的技術和產品的高速發展和迭代,這個想法已經不是那麼有意義了。

IE背景:IE系列在12版本以後(含12),改名叫Edge,Edge最新版本已採用Google Chromium引擎(雛形瀏覽器),版本命名和Chrome同步,老IE和Edge的內核已被微軟拋棄(開發暫時還在繼續,但已不會用其來製作瀏覽器了),整個IE系列在2020年已停止支持,舊Edge系列(非Chromium引擎的)在2021年會停止支持。Chromium引擎爲從Webkit內核項目的一個精簡分支Blink改進而來。微軟轉投Chromium後,目前幾大主流廠商的瀏覽器中就只有兩種內核存在了:1. Gecko內核:Molliza Firefox。2:Webkit內核:Chrome、Safari、Opera、Edge78+。國內一些所謂自主瀏覽器廠商大多基於上述內核的完善的雛形瀏覽器來製作自己的瀏覽器。

IE性能缺陷:IE10、11爲IE系列的最後兩個版本,分別發佈於8年和7年前。對於HTML5、CSS3、ES6的支持不完善,UI項目可以儘可能地做語法降級適配來做兼容,但是意義不大,因爲這些瀏覽器本身的低劣性能是最大的問題,即便適配了,運行B端的富應用項目時,幀數是很低的,可用性不高。用戶只要不是裝的Windows XP系統,必須依靠IE的可能性不大,現在國內客戶已經不是像多年前那時候,什麼都跑在IE上,或者說要求只能用IE瀏覽器,必須做IE定製化開發了,即便是zhegnfu網站也是如此。在國產平臺、操作系統開始高速發展以來,它們對應的生態開始做起來以後,更沒有這個可能了。

從我司的友商產品GUI來看,特別是GUI做得比較好的那些,基本不兼容IE,視覺效果和展示內容的複雜度是IE承受不起的,即便能跑起來,但如果界面的動畫和內容很複雜,其幀數也是很低的,對用戶來說幾乎不具備可用性,要兼容起來的話代價也是很高的,爲了那極地的可能性,會捨棄和改變很多東西。 總的來說,現代的、富應用的GUI對瀏覽器(甚至計算機硬件)都是有性能上的要求的,特別老的瀏覽器在性能上的缺陷是一個沒法逾越的坎,GUI既好看性能又強又能兼容特別老的瀏覽器它們之間是相互違背的,就類似我們不會給用戶配個七八年、十來年以前的機器和盤的來組集羣,做到價格又低性能又好。

對IE時代Web前端開發來說,jQuery是絕對的統治者。但現代的B端富應用開發,已經不是jQuery撐大梁了,用jQuery爲主框架對比用其他MV**作爲主框架,其開發架構都是完全不同的,從工程化體系到業務代碼編寫都是兩條不同的線,確定要兼容到什麼瀏覽器和版本是首要的事情。

----------------------------------------------------------------------------------------

測試說明:

瀏覽器兼容性測試是測試瀏覽器對HTML5、CSS3、ES2015等新標準的支持。GUI代碼的兼容性和瀏覽器對這些標準的支持有關,和瀏覽器其他方面無關!

只需要測試上述提到的各個瀏覽器的最低版本即可,舉個例子,測試Chrome,只需要測試Chrome 50即可,50如果支持這些標準,能確保從50起至最新的86版本都支持,50以後的版本不需要再測!HTML5等新標準一旦在瀏覽器的某個低版本按標準實現,隨着對後續版本的更新,已定稿並支持的標準不會被刪除,只會提供更強的性能優化,這點是絕對保證的。

鑑於HTML5、CSS3標準在14年中下旬定稿,ES2015在15年中旬定稿,上述各瀏覽器版本都是16年中旬左右的版本,已針對這三種新標準做了完美實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章