当你们评论 iOS 下的浏览器都是 Safari 套壳的时候,其实是希望看到或表达什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
catfan
V2EX    程序员

当你们评论 iOS 下的浏览器都是 Safari 套壳的时候,其实是希望看到或表达什么?

  •  
  •   catfan 2019-11-25 11:40:19 +08:00 12584 次点击
    这是一个创建于 2154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每当有一款新的浏览器(无论是 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 或其它公司的广告,这会导致自身的收入减少,或者引起商业上的纠纷。其它大公司出品的,可能会不断在浏览器中加入各种内容,来为自家的其它产品进行引流,渐渐地沦为广告浏览器。

    所以,其实换个角度来看,第三方开发的浏览器则不会有这方面的顾虑。可以从用户的角度出发,添加更多用户希望有的功能,并有更多本地化的优化,来实现更好的浏览体验。这未尝不是一件坏事。


    以上都是本人思考和推导出来几点可能的理由,希望能真实了解一下各位的想法和观点究竟是怎样的。感谢!

    43 条回复    2020-10-18 01:05:06 +08:00
    shakaraka
        1
    shakaraka  
    PRO
       2019-11-25 11:50:27 +08:00   3
    理由:N 种浏览器的 90%功能都是重复的
    -----------------
    何还要造那么多轮子?真的想不通,无非就是想套广告,套用户数据而已。
    就算是号称“简洁”的浏览器,只要用户量到了一定的程度,一定会坏掉
    lanhaooclub
        2
    lanhaooclub  
       2019-11-25 11:51:54 +08:00 via Android
    @wunonglin 一定会坏掉哈哈哈哈哈哈太真实了
    U7Q5tLAex2FI0o0g
        3
    U7Q5tLAex2FI0o0g  
       2019-11-25 11:51:55 +08:00
    说的好,我选择 Chrome
    catfan
        4
    catfan  
    OP
       2019-11-25 12:02:32 +08:00   1
    @wunonglin 软件功能一样不是什么大问题,关键是这功能如何呈现,使用体验如何,稳不稳定都是可考虑的要素。所以「轮子」不是什么不好的东西,它能让用户有更多的选择。
    cheeto
        5
    cheeto  
       
    作为 FE 真的痛恨某些莫名其妙的魔改浏览器,一些 BUG 让人无从下手
    aLazarus
        6
    aLazarus  
       2019-11-25 12:06:28 +08:00 via Android
    ios 的 safari 应该不支持插件,不支持手动标记广告一类的吧,连 mac 的 safari 都支持插件
    gesse
        7
    gesse  
       2019-11-25 12:09:46 +08:00
    那你提出这个的目的是什么?

    1. 让那些说套壳的人都来承认自己说的话没意义?
    2. 让那些说套壳的人认真地区了解下浏览器开发?
    3. 表现不说套壳的人牛逼?
    12101111
        8
    12101111  
       2019-11-25 12:22:09 +08:00
    比如 vscode web 不支持 Safari, 当然对 Firefox 兼容性也很差, 基本上只在 Blink 引擎下可用
    shakaraka
        9
    shakaraka  
    PRO
       2019-11-25 12:27:38 +08:00   1
    @catfan #4

    可是市面上那么多浏览器做了你说的事了吗?
    现在家家都在弄导流、自媒体、资讯,有哪个是做用户体验的?
    emmmm
    ysc3839
        10
    ysc3839  
       2019-11-25 12:28:13 +08:00 via Android
    继承了某浏览器的 bug,或者功能不比某浏览器好。
    argc
        11
    argc  
       2019-11-25 12:32:06 +08:00
    @gesse 那你提出“提出这个的目的是什么”的目的是什么?

    1. 让那些说套壳的人都不用来承认自己说的话没意义?
    2. 让那些说套壳的人不用认真地区了解下浏览器开发?
    3. 表现说套壳的人牛逼?
    catfan
        12
    catfan  
    OP
       2019-11-25 12:36:27 +08:00
    @12101111 虽然这算是产品技术支援程度的问题。但换个角度来看,这不就是使用同一套渲染引擎「套壳」的好处么?只要使用了一样的 Blink 引擎的浏览器,就不会存在兼容的问题。如果是自行全新研发的,兼容性会很糟糕,别人都不愿意去做适配。
    dapang1221
        13
    dapang1221  
       2019-11-25 12:40:02 +08:00
    套壳的目的是啥?不就是为了切市场占入口然后广告满天飞,核心开发就两个半人剩下全都是运营商务市场,用安卓我下个 app 还被偷偷换成渠道包,有一点关心用户体验么。搞个套壳浏览器忽悠国内大部分憨批就够了,恰烂钱可以,偷偷摸摸恰烂钱也没人拦着,能恰到也是本事,但还在一个技术社区妄图洗白这就很过分了
    wakiki
        14
    wakiki  
       2019-11-25 12:45:25 +08:00 via iPhone
    今天我就遇到 iOS 其他浏览器都没问题就 UC 独有的兼容性问题,只能希望某些技术勉强的厂商自觉退出浏览器界
    xi_lin
        15
    xi_lin  
       2019-11-25 12:47:55 +08:00
    @catfan Webkit 和 Blink 不一样哦,如果 iOS 下能用 Blink 也挺好
    catfan
        16
    catfan  
    OP
       2019-11-25 12:49:57 +08:00
    @dapang1221 那这问题的核心就不是浏览器套不套壳了,而是产品方向的思想有偏差。只要是这种产品思想,不用说公司有没有开发出不套壳的浏览器,它们就算是弄出了一个简单的记事本、日历、天气预报应用,也同样会塞一堆广告给你看够的 :doge:(狗头)
    catfan
        17
    catfan  
    OP
       2019-11-25 12:53:52 +08:00
    @xi_lin 我知道不一样(虽然目前差别其实不大),但我想说明的是用同一套渲染引擎,而不去重新开发一套新的好处。
    markgor
        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,再多功能的器也啥意了。
    以上人意,不喜。
    foamvalue
        19
    foamvalue  
       2019-11-25 13:01:42 +08:00
    希望手机浏览器可以安装插件。
    iwtbauh
        20
    iwtbauh  
       2019-11-25 13:09:00 +08:00 via Android
    能像 Firefox for Android 一样可以安装扩展程序吧
    小家子气的 Apple 强迫第三方浏览器用 WebKit,自己的浏览器做不好用还要强迫其他浏览器一样难用
    FrankHB
        21
    FrankHB  
       2019-11-25 13:13:45 +08:00
    套不套壳都是翔啊。
    不数落 Web 本身了,你先给我整个同时支持 XUL 和 WebExtensions 的浏览器外壳出来?
    外壳技术混乱不值一提的话,光说脚本引擎好了你给我整个完整支持 ES6 并且不歧视 JIT 的实现?
    catfan
        22
    catfan  
    OP
       2019-11-25 13:16:03 +08:00
    @markgor 其实你侧面也说明了套不套壳其实不是核心问题。至于产品宣传口径,产品有没有做好体验那都是和使用什么渲染引擎无关的了:)
    markgor
        23
    markgor  
       2019-11-25 13:25:24 +08:00
    @catfan 也可以,其你看搜狗,世界之窗,360 速器 些套的比好的基本什人。
    QQ 器因早期兼容性(好像早期是 ie 容)被到倒地。
    百度器好像因全家桶原因也是被的完。
    360 安全器忘什原因了,反正我是比反感。
    豹器,我不清楚,用。


    早期世界之窗,有功能,偷菜停候常用。
    後面始使用 chrome 器,吸引在於,快速。缺在於法更新()
    用 360 速器,核然不是最新,但界面和 chrome 高度相似,而且也能更新。
    最後用搜狗器,但人感扭。
    然後又回 Chrome 了。
    catfan
        24
    catfan  
    OP
       2019-11-25 13:28:02 +08:00
    @iwtbauh iOS 上限制只能使用 WebKit 是有自身的理由。如果一个使用自行研发的第三方浏览器引擎自行拦截网络请求,然后在背后偷偷记录用户提交的资料、密码等数据,再存到自己的服务器上,就会导致很不安全的问题。而普通用户甚至是苹果是很难去察觉或者审查到这些危险操作的。所以,统一使用 WebKit,就能避免这种现象。至于浏览器整体功能如何,体验如何,那是另外一个话题了。
    nightwitch
        25
    nightwitch  
       2019-11-25 14:20:11 +08:00
    https://html5test.com/results/desktop.html
    safari 对 HTML5 的支持分数一直都不够理想,早年间还有 Edge 和它做难兄难弟,现在 Edge 也拥抱 Blink 去了
    crysislinux
        26
    crysislinux  
       2019-11-25 14:22:16 +08:00 via Android
    Safari 简直是前端噩梦。
    hatw
        27
    hatw  
       2019-11-25 14:30:38 +08:00
    对于一个用户。。。一个中国 app 环境用户。。。一个中国 app 环境喜欢 iOS 的用户。。。我喜欢封闭的系统。。。
    zhangmenglong
        28
    zhangmenglong  
       2019-11-25 14:38:51 +08:00
    @wakiki UC 就不该存在,就该死
    Cyron
        29
    Cyron  
       2019-11-25 15:13:19 +08:00
    想问一下,为什么有些浏览器更新后取消了视频嗅探下载呢?官方不允许吗
    crella
        30
    crella  
       2019-11-25 15:28:49 +08:00 via Android
    说个可能很多人没想到的,我这烂手机运行 360 浏览器比运行 opera 还流畅,可能 opera 是穷到没人优化了。不过 360 浏览器有多于四套的广告展示体系……还行。
    paradoxs
        31
    paradoxs  
       2019-11-25 15:32:30 +08:00
    iOS 上,除了 safari+adguard(订阅日本规则) 之外,没有任何浏览器可以去掉 avgle.com 的广告。

    求反驳。

    (只是一个小例子,实际上这样的网页有很多,我只是挑了一个比较有代表性的。)
    whileFalse
        32
    whileFalse  
       2019-11-25 15:57:27 +08:00 via iPhone
    @catfan 我都笑了。
    桌面上一个浏览器扩展能做到的事儿,到 iOS 上连独立 app 都做不到,非要重写浏览器内核?
    catfan
        33
    catfan  
    OP
       2019-11-25 16:03:05 +08:00
    @Cyron 是的,不允许视频嗅探
    XnEnokq9vkvVq4
        34
    XnEnokq9vkvVq4  
       2019-11-25 16:06:42 +08:00
    我是希望实现一些“不标准”的功能,比如一个例子是 UC 的适应屏幕,Chrome Android 上的节省流量功能,还有一个例子是 puffin 浏览器在 app store 上被禁止更新,理由就是 ios 禁止非套壳浏览器
    catfan
        35
    catfan  
    OP
       2019-11-25 16:55:50 +08:00
    @nightwitch 那里的历史分数数据有点旧了,现在最新版本的分数高了几十分。好消息的是起码有在不断进步。
    millionart
        36
    millionart  
       2019-11-25 16:57:24 +08:00
    iCabMobile 了解一下,我用了七八年了,不比桌面版浏览器差
    lrz0lrz
        37
    lrz0lrz  
       2019-11-25 17:09:37 +08:00
    @catfan #24 这就是瞎扯了,插入一个 JS 就能做到的事情,为什么需要弄个额外的引擎?
    hccsoul
        38
    hccsoul  
       2019-11-25 17:41:56 +08:00
    看着曾经夸克浏览器现在还是忍不住走 uc 老路
    catfan
        39
    catfan  
    OP
       2019-11-25 18:02:50 +08:00
    @lrz0lrz WebKit 的 Javascript 引擎具体执行了什么代码是可以被完整记录和看到,虽然不清楚目前 Apple 审核的时候会不会这么看。
    dun
        40
    dun  
       2019-11-25 18:18:17 +08:00
    iOS 上起码支持下 Webp ?
    20015jjw
        41
    20015jjw  
       2019-11-26 01:41:46 +08:00 via Android
    tracking 啊..
    NullData
        42
    NullData  
       2019-11-26 01:56:37 +08:00 via Android
    @gesse 禁止套娃
    xinxijishuwyq
        43
    xinxijishuwyq  
       2020-10-18 01:05:06 +08:00
    首先,目前 chromium 为事实标准的情况下,safari 某些情况下兼容性会出现一些问题;其次,这意味着浏览器内核只能随着 iOS 系统更新,想想你们怎么骂 ie/edge 的吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2604 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 12:41 PVG 20:41 LAX 05:41 JFK 08:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86