浏览器战争的前世今生
2019-01-10
周溱
昨天看新闻, 微软已经决定未来的 Edge 浏览器将基于 Blink 引擎, 实际上将变成 Chrome 换壳了. 互联网诞生发展这20多年来, 浏览器之战一直是重头戏;谁控制了平台, 谁就控制了技术的发展方向. 这场战争终于要翻过一个重要的历史篇章了. 对于我们这帮40多岁, 亲身经历战争全过程的人, 不由的感慨万分.
1996: Netscape Navigator 3.0
Netscape 已经关门20年了, 但它的传说仍在江湖流传. 这家1994年底才成立的公司, 不到两年内一跃成为硅谷, 乃至整个技术界最耀眼的明星. 在这一年它推出的 Navigator 3.0 迅速席卷了整个世界, 可以说, 有电脑, 必有 Netscape. 这是第一个真正商用成熟的浏览器, 恰好在互联网大潮席卷全球之际占据市场; 从另一个角度说, 没有 Netscape 这个大潮也不会在96年出现. 那个时候还没有什么业界规范, Netscape 就是业界规范. Navigator 3 的影响一直到今天: 它的两大发明: SSL 和 Javascript 的重要性我不用多说, 一个直接带来了电子商务, 一个让网页动了起来. 这份软件的售价是50美元. 和 Windows 操作系统价值相等. 微软开始恐慌了. 于是在这一年也推出了 Internet Explorer 3.0, 并在 Windows 95 预装. 可惜 IE3 的兼容性稳定性都不好. 大家还是用 Netscape.
1998: Netscape的灭亡
没错, 不到两年内, 微软迅速打赢了这场战争. 97年 IE4 推出, Netscape 也推出了 Netscape Communicator 4.0. 但 NS4 过于追求大而全, 忽视了基础的稳定性和易用性. 97年普通PC最多8兆内存, NS4 运行的够艰难. 例如穷人如我, 还是用NS3. 但IE4占用资源少很多, 兼容性也好起来了, 并且带来了 ActiveX 这个流毒十年的功能. 到了98年, 压死骆驼的最后一根稻草出现了: 在年初 Jobs 宣布Mac全面预装 IE4. 实际上 IE4 在 Mac 是客场作战, 效果其实不比 NS4 强, 但 Jobs 为了挽救苹果, 投靠了微软, 把 Netscape 逼进了死胡同. 年底, AOL 廉价收购 Netscape, 实际上宣告了 Netscape 的灭亡. Netscape 临了的时候做了一件好事, 把一些未完成的源码交给了新成立的非盈利机构 Mozilla.org, 为未来留下了火种.
1999~2004: IE的铁腕统治
IE 成了事实上的唯一选择. 5年只推出两个版本. 互联网之战成了 ActiveX 对战 Java. 但 Sun 天生不善搞客户端软件, Java 还要在 IE 的客场作战, 只有失败一条路. 浏览器上无法创新, 新的 HTML 技术得不到采用, 真正的创新其实离开了浏览器, 例如 QQ.
但在浏览器的漫漫长夜里还有一些微光:
- 北欧一些人搞出了 Opera
- KDE 自立更生, 搞出了 Konqueror
- Mozilla 在非盈利模式下不断试错, 最终推出了 Firefox
2004~2008: 群雄并起
Firefox 其实和当年 Netscape 遗赠的实验代码已经关系不大了, 但毕竟有这个传承在里面. 在 Netscape 到 Mozilla 这个过程中薪尽火传, 最终诞生了 Firefox. 其实它最早的名字叫 Phoenix, 就是灰烬中诞生的不死鸟的意思. 可惜和别人重名, 改成 Firebird, 又和别人重名. 最终定名为 Firefox, 一不小心成了憨憨的小猫熊.
2002年苹果借微软之力起死回生, 开始对 IE 不满, 寻求自己的浏览器路线. Jobs 是拿来主义者, 当时可以拿来的只有两个开源项目: Firefox 的前身, 和 Konqueror. Mozilla 毕竟历史复杂, 代码量太大, 于是苹果果断选择了 Konqueror 的核心引擎, 并装上了自己的壳, 就是初代 Safari. 而且苹果不满足于套壳, 开始在下层大动手脚, 这个下层用苹果的命名规则就叫 webkit.
Opera 另辟蹊径, 不再在PC上追求市场占有. 和北欧老乡 Nokia 一合计, 主攻 Symbian 移动客户端. 它资源占用最少, 在功能机和初代智能手机上最有优势, 很快就占据了移动客户端的市场. 只可惜当年3寸屏幕上移动互联网还搞不出花样.
就连微软也感受到不小的市场压力, IE也做了不少更新迭代. 问题是 IE4/5/6 太成功, 导致ActiveX应用满天飞, 兼容性自己也搞不太定了.
最后, 新的巨头出现了, 就是 Google.
2008~2010: Chrome的开端
Google 也要搞浏览器. 有样学样, 用Apple的方法, 他拿来了 Webkit, 自己上了个新壳, 就是初代Chrome. 这里回头说一句Konqueror. Konqueror 是开源项目, 因此 webkit 也是开源的. KDE 的人一开始天真地认为苹果看上自己, 那 Konqueror 不就自然而然地能拿到苹果开发的新功能了吗? 现实是残酷的. 苹果只用了下半截, 自己搞了一个中间层 webkit 也开源, 上层则完全封闭. 这个中间层和 Konqueror 也不兼容. 下层代码也被 Apple 大刀闊斧地改. KDE 开发者虽然拿到了代码, 但改动量极大, 又和自己的上层不兼容, 真的是移植不过来. 最终只能放弃修改, 直接在 webkit 上又套了一层. 但和苹果不一样, 他们没有能力改下层了, Konqueror 成了换壳的人了.
Konqueror 做不了的事情, Google可以做. 大公司人多力量大嘛. Google 也不满足于 换壳, 所以一通改, 最后连苹果也不认识了. 几年左右, webkit 正式分家, Google 的改名叫 blink, 和苹果正式各搞各的. 08年之后, PC平台下浏览器的选择余地空前地大, Firefox, Chrome, IE, Opera, 甚至苹果短暂地出了一段 Safari for Windows.
不久之后, 新的革命开始了, 战场转向移动端.
2010~2013: 移动互联网革命
前文所说 Opera 在移动端其实是先驱, 结果革命爆发以后却变成了先烈. Symbian 和 blackberry 迅速败下阵来, 只剩两个平台存留, 就是苹果的 iOS 和 Google 的 Android. 在两个平台里, Opera 都是客场, 而且要命的是移动端性能增长很快, Opera 资源占用少的优势很快化为乌有. 两强相争, 结果老三被干翻了.
另外一边, IE老革命也遇到了新问题. 2010年以前, IE在PC上虽被围攻, 但老大的位子一直没丢. 关键就在于大量网站, 尤其是企业内部网, 大量采用 ActiveX 之类的微软技术, 其他人真兼容不了. 别说其他人了, 连自己的新版都兼容不过来了. 所以老IE一直是老大. 但移动端兴起后, 大量访问来自移动端, 没有 ActiveX 的历史负担, 而且两强争霸的局面已经形成, 这两强说是遵循业界标准也罢, 说是历史渊源也罢, 还挺兼容的. 不兼容的反而是 IE.
但微软有微软的骄傲, 是不会做换壳的事的. 它另起炉灶, 在自己的移动端开发新的引擎, 这就是 Edge, 面向兼容业界标准, 放弃 ActiveX. 到了2013年更反攻自己的PC平台. IE11之后, 再无从96年传承至今的老 IE 了.
这边厢再说 Firefox. Mozilla 不是两强之一, 甚至不是公司, 按理说斗不过苹果和 Google. 结果确实自 Chrome 出现之后, Firefox 的占有了率逐年缓慢下降. 但 Mozilla 不是公司, 所以死不了. 而且技术都是自家的, 也不存在被换壳或试图换壳的问题. 所以 Mozilla 高举标准化和形式正义的旗帜, 在PC和移动端虽然都是小众, 但一直有人追随, 比如说我.
2013~2018: 一起换壳的年代
2013年, Opera 放弃自己的引擎, 换壳包装 Blink. 同年, Konqueror 放弃自己的 引擎, 换壳包装 Webkit. 另外在中国更是涌现出无数360浏览器, QQ浏览器等, 无一例外都是封装 Blink, webkit 或 Edge. 有些甚至引擎可选. 最后, 每一家 Android 厂家都包装了 Blink, 变成华为浏览器, 小米浏览器, 等等. 你到各大软件商店看看, 无数浏览器, 没一个不是换壳的. 除了 Firefox. 既然壳这么好换, 何必搞引擎呢? 平台已经在这里了, 只要控制用户入口, 就能挣钱, 不是吗? 微信, 头条, 归根到底不也是浏览器, 加了一个很复杂的壳吗?
早在两年之前, Firefox 就从用户界面上大幅向 Chrome 靠拢. 但至少引擎还是自己的. 最近已经有不少网站宣称我用的是 "过时" 浏览器, 虽然我用的是最新版 Firefox.
2018年年底, 苹果市场占有率持续下跌. 已经出现兼容 Blink, 不兼容 webkit 的新互联网技术了.
2018年年底, 微软宣布放弃 Edge 引擎, 未来将换壳Blink.
2019年: 新黑暗时代的降临?
Chrome 站在了 IE 20年前的位置上俯瞰众生. 下一个轮回什么时候开始呢?