每当有一款新的浏览器(无论是 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
wunonglin 2019-11-25 11:50:27 +08:00 3
理由:N 种浏览器的 90%功能都是重复的
----------------- 何还要造那么多轮子?真的想不通,无非就是想套广告,套用户数据而已。 就算是号称“简洁”的浏览器,只要用户量到了一定的程度,一定会坏掉 |
2
lanhaooclub 2019-11-25 11:51:54 +08:00 via Android
@wunonglin 一定会坏掉哈哈哈哈哈哈太真实了
|
3
littleylv 2019-11-25 11:51:55 +08:00
说的好,我选择 Chrome
|
4
catfan OP @wunonglin 软件功能一样不是什么大问题,关键是这功能如何呈现,使用体验如何,稳不稳定都是可考虑的要素。所以「轮子」不是什么不好的东西,它能让用户有更多的选择。
|
5
cheeto 2019-11-25 12:03:42 +08:00
作为 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
wunonglin 2019-11-25 12:27:38 +08:00 1
|
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
hanqian 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 的吧
|