非互联网桌面B端项目的浏览器兼容思考

笔者目前的传统软件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(中立的非商业览器,以Blink作为渲染引擎,Blink中以V8作为JavaScript解释引擎,可以认为Chrome就是Chromium + Google的产品),版本命名和Chrome同步,老IE和Edge的内核已被微软抛弃(开发暂时还在继续,但已不会用其来制作浏览器了),整个IE系列在2020年已停止支持,旧Edge系列(非Chromium引擎的)在2021年会停止支持。Blink引擎是Webkit引擎项目的一个精简分支。微软转投Chromium后,目前几大主流厂商的浏览器中就只有两种渲染引擎存在了:

1. Gecko:Molliza Firefox。

2. Webkit(算上Blink):Chrome、Safari、Opera、Edge78+。

国内一些所谓自主浏览器厂商大多基于Google Chromium来制作自己的浏览器。

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年中旬左右的版本,已针对这三种新标准做了完美实现。

原文地址:https://www.cnblogs.com/rock-roll/p/14046401.html