每当有一款新的浏览器(无论是 iOS、Android 还是桌面端)产品诞生的时候,总是会看到「 iOS 下的浏览器都是 Safari / WebKit 套壳」、「又是一个换皮 Chrome 」等类似的评论。那么,其实大家这样评论的时候,内心渴望能看到或内容想表达的是究竟是什么呢?
如果是不满意当前 WebKit 渲染引擎的性能或呈现效果,而期望能有一个带有全新引擎,性能和效果都比 WebKit 有明显优势的浏览器的话,这倒是可以理解。
但是,即使抛除 iOS 的限制,目前 WebKit 的性能也不会让浏览的时候产生速度慢的明显感觉,而且效果是目前最符合 W3C 标准的。如果需要做一个新的浏览器的时候,直接使用 WebKit 渲染引擎也没有什么问题啊。难道真的需要重新实现一个符合 W3C 标准、性能不能差、而且安全性有保障(不会访问 A 网站的时候,呈现 B 网站的内容)的渲染引擎?即使有,相信绝大多数人都感觉不到明显的区别。而且这个引擎还必须要有公信力,不会把信息传递到第三方。
所以,在桌面端除了 Firefox 外,目前 Opera、甚至是 Microsoft Edge,都统一使用 WebKit 渲染引擎了。写一个全新渲染引擎貌似真的不太需要吧。
也许直接使用 WebKit 引擎确实免去了解析 HTML、JavaScript、CSS 代码并进行画面渲染等工作,但是一个完整的浏览器可不单单只有页面渲染的事情啊。简单的书签、历史、标签页管理、搜索框,高级的扩展、阅读器、广告过滤、黑暗模式、元素审查、调试等等功能以及用户交互的各种设计都是同样需要进行大量的编码工作来实现的,WebKit 本身不提供这种功能,只负责渲染。
这道理如同软件中的一个图片展示控件,开发者只需要传递一个 URL 地址后,控件就处理好各种图片的读取、解压、解析、渲染等工作。而把更多的精力放在软件的交互以及更多的逻辑实现上。但总不能说,这个软件没有自行实现图片渲染的功能,所以这软件是毫无技术含量吧。
而且「 Safari 套壳」这种说法也不太正确,因为根本就没有接口可以直接套用 Safari 并更改其外观然后打包成一个全新的浏览器上架。有兴趣的可以下载一个 Xcode,然后在设计界面中拖放一个 WKWebView 的界面出来看看。其实就只有一个浏览器框框而已,什么都没有了。
虽然来自于系统或者大厂出品确实能给人一种信任的感觉,但其实这有很多的限制。例如,系统自带的就不会有太多特色功能,并且更新和修复也不会非常及时,差不多是一年才有一次不太明显的更新。
而大厂出品的,更多带有 KPI 性质,功能和发展方向往往不会与自家公司的其它业务冲突。例如 Chrome 自身就不会引入广告过滤,来屏蔽 Google 或其它公司的广告,这会导致自身的收入减少,或者引起商业上的纠纷。其它大公司出品的,可能会不断在浏览器中加入各种内容,来为自家的其它产品进行引流,渐渐地沦为广告浏览器。
所以,其实换个角度来看,第三方开发的浏览器则不会有这方面的顾虑。可以从用户的角度出发,添加更多用户希望有的功能,并有更多本地化的优化,来实现更好的浏览体验。这未尝不是一件坏事。
以上都是本人思考和推导出来几点可能的理由,希望能真实了解一下各位的想法和观点究竟是怎样的。感谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.