谷歌浏览器升级或引起网站瘫痪,为什么说开发浏览器比操作系统还难
前几天的消息,现在的谷歌浏览器版本已经到了98,测试版本已经到99,马上就要推出三位数的版本号了,即使是谷歌早已经开始预警,也不免会有很多网站因此导致显示异常或瘫痪。
chrome浏览器logo
谷歌浏览器当前的版本号
谷歌浏览器也叫Google Chrome浏览器,是谷歌在2008年9月发布的一款免费页面浏览器,据StatCounter统计,截至2020年1月,Google Chrome在全球桌面浏览器中有69.89%的占有率,基本上可以说是当前浏览器的一哥了。
你可能没见过这个名号,但其实你一直在用的很可能也是它,目前咱们经常用到的比如360极速浏览器,QQ浏览器,猎豹安全浏览器,搜狗高速浏览器等等,里面通常都会有所谓的极速内核或者极速模式这样的功能,其实就是启用了Chromium内核(谷歌浏览器对应的开源项目的名字,Chrome浏览器是非开源的)。
内核这个概念其实是我们常用的俗名,他的正式名字应该叫浏览器引擎或者排版引擎,其实全世界应用比较有名的浏览器引擎一共也没几个:
Mozilla开源项目的Gecko,现在主要是Firefox火狐浏览器在用;
KDE开源KHTML引擎后来发展成了Webkit引擎,目前主要是苹果Safari浏览器和谷歌chrome浏览器的iOS版本在用;
谷歌早期浏览器曾用Webkit引擎,后来自己建构了分支Blink,由于市占率比较大,所以影响力逐年扩大;
微软IE浏览器引擎名为Trident,俗称IE内核,很多老的政务网站有的还在用这个内核,就必须用IE内核的浏览器才能正常打开,后来被EdgeHTML取代,但显然效果不是很好,2019年微软放弃了自研内核,新的Edge浏览器也开始启用了Blink内核(也可以叫Chromium,二者有些相近,准确一点说应该是Chromium开源项目当中包含Blink内核以及其他东西);
Opera软件公司自研的Presto引擎,主要用在Opera欧朋浏览器之中,在2013年被Blink取代。
常见的浏览器
了解了这些之后,是不是感觉好像这玩意也不是很难?之前有人曾经说过,重新开发一款浏览器,甚至要比重新开发操作系统更加困难,这个观点其实不无道理,不过所谓的困难其实都源于整个生态。
我们可以看到,目前这些世界通用的浏览器引擎几乎都是开源项目,其中很多的代码都来自于不同的人、组织贡献,正是因为这些人的共同努力,才让整个网页的生态建立起来,因为每个人网站网页的内容都是不一样的,复杂程度很高,虽然可能编程语言不是那么多,但为了达到更好的兼容性,只靠某一个人某一个组织显然是不够的,这也是源于当初的发展路线不同。
浏览器和操作系统一样,都需要跟整个地球上所有人互动,整个生态当中每个人的都会根据自己的习惯来做内容,想要让信息流动起来,那就要有统一的标准,本来微软是想靠着IE浏览器统一浏览器市场的,就像Windows操作系统做的那样,不过webkit等开源项目趁着微软偷懒的时候崛起,直接占据了绝大多数的市场,连微软都不得不放弃了自家的内核。
简单一点理解重新开发操作系统和浏览器的困难都来自于生态,一般的软件只需要面对同样使用我这个软件的用户之间不要出现信息传递的问题就行,比如微信、淘宝等等这些,他们只需要保证每个人发出的消息对方能准确收到,商家发布的产品信息能被大家准确看到就可以,大家都在特定的软件环境中运作,整个生态就这么小,所以相对没有太大的难度。
而重新开发新浏览器,就意味着你首先要对目前世界上所有的页面(至少是大多数主流的)做兼容支持,毕竟你不可能指望大家都针对你重新开发自己的页面,只有当你做到绝大多数都兼容之后,再加上你独有的优势功能,才会有人用你的浏览器。
而操作系统稍微有点区别,开发操作系统一般不需要先考虑对现有整个软件生态做兼容,而是要依靠操作系统建立起来之后再依靠整个业界帮你开发软件,也正是因为Windows操作系统的绝对市占率,才会导致绝大多数的软件生态都是针对Windows开发的软件生态,用户需要用的是软件,没有软件,何谈操作系统。
同理,没有对所有网页的兼容性,何谈浏览器。有人做了个比喻,开发自己的软件只需要保证自己没有BUG就行,而开发浏览器,你首先面对的是前人几十年留下来的各种BUG,你不能修改它,只能想办法兼容。
因为这个原因,也就导致了整个行业当中也极少有人从头开始开发一个全新的浏览器引擎。
但谷歌Chrome浏览器的升级也是无法阻挡的,据说谷歌其实也已经和个别开发者联系,警告了即将到来的这个问题。甚至谷歌还准备了备用计划,就是将主要版本号强行保持在99,Chrome / 100.x ""将改为""Chrome / 99.100,但这种方案毕竟也可能导致其他的问题出现。
Firefox浏览器的版本
不仅仅是谷歌Chrome浏览器,另一个巨头Firefox浏览器也很接近了,目前Firefox正式版本的版号已经来到了95.0.2,谷歌作为Mozilla基金会的赞助商,双方也已经开始讨论如何解决这个问题,想必在100版本正式上线之前肯定会有一个结论吧。
-
上一篇
图源 Pexels
最新版本的 Chrome 包含了具有独立分区状态的 Cookies (CHIPS),这是谷歌对第三方 cookies 的替代品,谷歌将在几年内弃用 cookies。此实现具有供开发人员订阅顶级站点的选择加入机制,谷歌声称该机制应启用与跟踪无关的用例,并且不会仅限于跨站点 cookie 阻止。
此版本的 Chrome 中另一个有趣功能是 MathML,这是一种在网页中插入数学公式的更好方法,因为它降低了复杂性,并提高了性能和一致性,并能够在 HTML 和 SVG 中嵌入符号。另一个可能引起 Web 开发者兴趣的功能是在 Android 上启用文件系统访问 API 的原始私有文件系统 (OPFS) 组件,以便在访问文件时实现更快的性能。
拖动功能也有一些视频会议方面改进,特别是与通过称为 Conditional Focus 的功能捕获正确窗口有关。同样,Web 开发人员也可以利用一种机制,通过连接到设备的本地扬声器播放视频会议应用程序捕获的窗口音频。此外,下面还列出了一堆 CSS 增强功能:
新版 Chrome 还支持 WebTransport 的自带缓冲区 (BYOB) 阅读器,以减少不必要的内存分配和由推测规则 API 触发的同站点跨源预渲染,以实现更快的页面渲染,并添加一个字段来指示使用 PerfomanceResourceTiming 时的 HTTP 响应代码。
Origin 和开发者试验(flag)等背后也有多种功能。下面是一些列举:
谷歌Chrome浏览器109正式版发布,最后支持Windows7—8.1的版本
IT之家1月11日消息,谷歌Chrome109浏览器现已推出,这是一个重要的版本,因为它是支持Windows7和Windows8.1的
-
下一篇
StatCounter:GoogleChrome仍是桌面浏览器100版已上线
自从微软重新推出由Chromium引擎驱动的MicrosoftEdge以来,浏览器之争变得更加激烈,但这并不一定意味着Google浏览器准备放弃领先的地位,完