每当有一款新的浏览器(无论是 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 或其它公司的广告,这会导致自身的收入减少,或者引起商业上的纠纷。其它大公司出品的,可能会不断在浏览器中加入各种内容,来为自家的其它产品进行引流,渐渐地沦为广告浏览器。
所以,其实换个角度来看,第三方开发的浏览器则不会有这方面的顾虑。可以从用户的角度出发,添加更多用户希望有的功能,并有更多本地化的优化,来实现更好的浏览体验。这未尝不是一件坏事。
以上都是本人思考和推导出来几点可能的理由,希望能真实了解一下各位的想法和观点究竟是怎样的。感谢!
![]() | 1 shakaraka PRO ![]() 理由:N 种浏览器的 90%功能都是重复的 ----------------- 何还要造那么多轮子?真的想不通,无非就是想套广告,套用户数据而已。 就算是号称“简洁”的浏览器,只要用户量到了一定的程度,一定会坏掉 |
![]() | 2 lanhaooclub 2019-11-25 11:51:54 +08:00 via Android @wunonglin 一定会坏掉哈哈哈哈哈哈太真实了 |
![]() | 3 U7Q5tLAex2FI0o0g 2019-11-25 11:51:55 +08:00 说的好,我选择 Chrome |
![]() | 4 catfan OP ![]() @wunonglin 软件功能一样不是什么大问题,关键是这功能如何呈现,使用体验如何,稳不稳定都是可考虑的要素。所以「轮子」不是什么不好的东西,它能让用户有更多的选择。 |
![]() | 5 cheeto 作为 FE 真的痛恨某些莫名其妙的魔改浏览器,一些 BUG 让人无从下手 |
6 aLazarus 2019-11-25 12:06:28 +08:00 via Android ios 的 safari 应该不支持插件,不支持手动标记广告一类的吧,连 mac 的 safari 都支持插件 |
![]() | 7 gesse 2019-11-25 12:09:46 +08:00 那你提出这个的目的是什么? 1. 让那些说套壳的人都来承认自己说的话没意义? 2. 让那些说套壳的人认真地区了解下浏览器开发? 3. 表现不说套壳的人牛逼? |
![]() | 8 12101111 2019-11-25 12:22:09 +08:00 比如 vscode web 不支持 Safari, 当然对 Firefox 兼容性也很差, 基本上只在 Blink 引擎下可用 |
![]() | 9 shakaraka PRO ![]() |
![]() | 10 ysc3839 2019-11-25 12:28:13 +08:00 via Android 继承了某浏览器的 bug,或者功能不比某浏览器好。 |
11 argc 2019-11-25 12:32:06 +08:00 |
![]() | 12 catfan OP @12101111 虽然这算是产品技术支援程度的问题。但换个角度来看,这不就是使用同一套渲染引擎「套壳」的好处么?只要使用了一样的 Blink 引擎的浏览器,就不会存在兼容的问题。如果是自行全新研发的,兼容性会很糟糕,别人都不愿意去做适配。 |
![]() | 13 dapang1221 2019-11-25 12:40:02 +08:00 套壳的目的是啥?不就是为了切市场占入口然后广告满天飞,核心开发就两个半人剩下全都是运营商务市场,用安卓我下个 app 还被偷偷换成渠道包,有一点关心用户体验么。搞个套壳浏览器忽悠国内大部分憨批就够了,恰烂钱可以,偷偷摸摸恰烂钱也没人拦着,能恰到也是本事,但还在一个技术社区妄图洗白这就很过分了 |
14 wakiki 2019-11-25 12:45:25 +08:00 via iPhone 今天我就遇到 iOS 其他浏览器都没问题就 UC 独有的兼容性问题,只能希望某些技术勉强的厂商自觉退出浏览器界 |
![]() | 16 catfan OP @dapang1221 那这问题的核心就不是浏览器套不套壳了,而是产品方向的思想有偏差。只要是这种产品思想,不用说公司有没有开发出不套壳的浏览器,它们就算是弄出了一个简单的记事本、日历、天气预报应用,也同样会塞一堆广告给你看够的 :doge:(狗头) |
![]() | 18 markgor 2019-11-25 13:00:08 +08:00 自主研发国产浏览器内核,红芯宣布获 2.5 亿元 C 轮融资 打破美国垄断,中国首个自主创新智能浏览器内核”。 红心内核独立于 IE 的 Tredent 内核、Chrome 的 Blink 内核,Safari 的 WebKit 内核和火狐的 Gecko 内核之外的第五个浏览器内核。不愧是自主创新,厉害厉害! 最後果:Chromium 开源项目 的不是套,而是明明套自主新。 明明核使用了人的核插件新。 老,就一 Chrome 已能足我 90%的需求了,配合上油猴,基本能足我所有的需求了。 oh,主的是 IOS, 不我得也是吧。 本核都是 WebKit 了,套,句不好性能如何?(比原生的 Safari )我不知道。 加了一大堆便捷功能,但其我人而言,原生的器已足了,而且在什鬼站都引去 app,再多功能的器也啥意了。 以上人意,不喜。 |
![]() | 19 foamvalue 2019-11-25 13:01:42 +08:00 希望手机浏览器可以安装插件。 |
20 iwtbauh 2019-11-25 13:09:00 +08:00 via Android 能像 Firefox for Android 一样可以安装扩展程序吧 小家子气的 Apple 强迫第三方浏览器用 WebKit,自己的浏览器做不好用还要强迫其他浏览器一样难用 |
![]() | 21 FrankHB 2019-11-25 13:13:45 +08:00 套不套壳都是翔啊。 不数落 Web 本身了,你先给我整个同时支持 XUL 和 WebExtensions 的浏览器外壳出来? 外壳技术混乱不值一提的话,光说脚本引擎好了你给我整个完整支持 ES6 并且不歧视 JIT 的实现? |
![]() | 22 catfan OP @markgor 其实你侧面也说明了套不套壳其实不是核心问题。至于产品宣传口径,产品有没有做好体验那都是和使用什么渲染引擎无关的了:) |
![]() | 23 markgor 2019-11-25 13:25:24 +08:00 @catfan 也可以,其你看搜狗,世界之窗,360 速器 些套的比好的基本什人。 QQ 器因早期兼容性(好像早期是 ie 容)被到倒地。 百度器好像因全家桶原因也是被的完。 360 安全器忘什原因了,反正我是比反感。 豹器,我不清楚,用。 早期世界之窗,有功能,偷菜停候常用。 後面始使用 chrome 器,吸引在於,快速。缺在於法更新() 用 360 速器,核然不是最新,但界面和 chrome 高度相似,而且也能更新。 最後用搜狗器,但人感扭。 然後又回 Chrome 了。 |
![]() | 24 catfan OP @iwtbauh iOS 上限制只能使用 WebKit 是有自身的理由。如果一个使用自行研发的第三方浏览器引擎自行拦截网络请求,然后在背后偷偷记录用户提交的资料、密码等数据,再存到自己的服务器上,就会导致很不安全的问题。而普通用户甚至是苹果是很难去察觉或者审查到这些危险操作的。所以,统一使用 WebKit,就能避免这种现象。至于浏览器整体功能如何,体验如何,那是另外一个话题了。 |
25 nightwitch 2019-11-25 14:20:11 +08:00 https://html5test.com/results/desktop.html safari 对 HTML5 的支持分数一直都不够理想,早年间还有 Edge 和它做难兄难弟,现在 Edge 也拥抱 Blink 去了 |
![]() | 26 crysislinux 2019-11-25 14:22:16 +08:00 via Android Safari 简直是前端噩梦。 |
![]() | 27 hatw 2019-11-25 14:30:38 +08:00 对于一个用户。。。一个中国 app 环境用户。。。一个中国 app 环境喜欢 iOS 的用户。。。我喜欢封闭的系统。。。 |
28 zhangmenglong 2019-11-25 14:38:51 +08:00 @wakiki UC 就不该存在,就该死 |
![]() | 29 Cyron 2019-11-25 15:13:19 +08:00 想问一下,为什么有些浏览器更新后取消了视频嗅探下载呢?官方不允许吗 |
![]() | 30 crella 2019-11-25 15:28:49 +08:00 via Android 说个可能很多人没想到的,我这烂手机运行 360 浏览器比运行 opera 还流畅,可能 opera 是穷到没人优化了。不过 360 浏览器有多于四套的广告展示体系……还行。 |
![]() | 31 paradoxs 2019-11-25 15:32:30 +08:00 iOS 上,除了 safari+adguard(订阅日本规则) 之外,没有任何浏览器可以去掉 avgle.com 的广告。 求反驳。 (只是一个小例子,实际上这样的网页有很多,我只是挑了一个比较有代表性的。) |
32 whileFalse 2019-11-25 15:57:27 +08:00 via iPhone @catfan 我都笑了。 桌面上一个浏览器扩展能做到的事儿,到 iOS 上连独立 app 都做不到,非要重写浏览器内核? |
![]() | 34 XnEnokq9vkvVq4 2019-11-25 16:06:42 +08:00 我是希望实现一些“不标准”的功能,比如一个例子是 UC 的适应屏幕,Chrome Android 上的节省流量功能,还有一个例子是 puffin 浏览器在 app store 上被禁止更新,理由就是 ios 禁止非套壳浏览器 |
![]() | 35 catfan OP @nightwitch 那里的历史分数数据有点旧了,现在最新版本的分数高了几十分。好消息的是起码有在不断进步。 |
36 millionart 2019-11-25 16:57:24 +08:00 iCabMobile 了解一下,我用了七八年了,不比桌面版浏览器差 |
38 hccsoul 2019-11-25 17:41:56 +08:00 看着曾经夸克浏览器现在还是忍不住走 uc 老路 |
![]() | 39 catfan OP @lrz0lrz WebKit 的 Javascript 引擎具体执行了什么代码是可以被完整记录和看到,虽然不清楚目前 Apple 审核的时候会不会这么看。 |
40 dun 2019-11-25 18:18:17 +08:00 iOS 上起码支持下 Webp ? |
![]() | 41 20015jjw 2019-11-26 01:41:46 +08:00 via Android tracking 啊.. |
43 xinxijishuwyq 2020-10-18 01:05:06 +08:00 首先,目前 chromium 为事实标准的情况下,safari 某些情况下兼容性会出现一些问题;其次,这意味着浏览器内核只能随着 iOS 系统更新,想想你们怎么骂 ie/edge 的吧 |