2023 年又发现了一个 "IE6" ,那就是安卓版微信内置的 Webview

2023-02-24 16:54:21 +08:00
 beginor

2023 年了, 不管是桌面端还是移动端的浏览器都是基于 Chrome/100+ 的了吧, 最新的 Chrome/Edge 也已经是 110+ 了, 但是安卓版微信的 Webview 居然还是 Chrome/86 , 好多 js 的新一点儿的特性 (比如 async/await) 都不能用。 真是悲剧。

项目生成的 js 可以降级成 es5 , 但是 chrome/86 的效率比最新版本应该低好多的吧。

然而更加悲剧的是现在也不能通过 http://debugtbs.qq.com 来调整内核, 因为已经打不开了。

还是苹果手机好, 只能使用 safari 的 WebKit 。

12944 次点击
所在节点    程序员
100 条回复
leaves615
2023-02-25 14:03:13 +08:00
遵循能用原则,升级浪费成本。
Torpedo
2023-02-25 14:04:48 +08:00
好近没开发移动端的网页了,说一下以前吧
安卓 2.3 那会吧,系统 webview 是跟随系统,app 基本都要调用系统的 webview 。
但那会国内厂商水平低,什么锤子、华为、ov ,他都魔改 webview ,但是他们没那个能力,导致各种奇奇怪怪的 bug
那会就有很多 app 想办法把自己魔改的 webview 放到自己 app 里,毕竟还能更新。不过我印象里这么做,冷启动性能是不如直接调用系统 webview 的
后来谷歌分离了 webview 更新,可以在应用商店里更新了,国内也跟了,小米就可以
苹果当时一直都是跟着系统的
其实安卓过了 5.0 系统之后,兼容性好多了,反倒是苹果 safari ,跟随 html5 的标准特别慢。而且很多苹果用户不开系统更新,兼容性问题更多
duckgo991
2023-02-25 14:10:05 +08:00
又不是不能用
jim9606
2023-02-25 14:34:32 +08:00
@datou
webview2 出生太晚了,所以一般不把 win10 视为预装 webview2 。
另外,electron 用的 chromium 是裁剪定制过的不一定能套用,况且 electron 自己迭代也快,社区讨论过的按大版本共享 runtime 都被认为收益不足,更别说引用外部 webview 了。

@yyws2012
我不认为 Google 故意把 AOSP 的功能挖掉放进 GMS 是一个合理的行为,例如不在 AOSP 包管理器的 GUI 提供 app bundles 安装功能,webview 分离更新也不应该是 Google Play 垄断的事。
Danswerme
2023-02-25 17:08:04 +08:00
@mgrddsj 我的是 Google Play 版微信 8.0.30 , 系统 WebView 版本是 110 ,为什么微信里面显示的还是 86 版本呢?

Mozilla/5.0 (Linux; Android 12; Pixel 3 XL Build/SP1A.210812.016.C2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/4317 MMWEBSDK/20221011 Mobile Safari/537.36 MMWEBID/6330 MicroMessenger/8.0.30.2244(0x28001E44) WeChat/arm64 Weixin GPVersion/1 NetType/WIFI Language/en ABI/arm64
jeesk
2023-02-25 17:27:29 +08:00
@leaves615 厂商推动能有多少成本?
Dragonphy
2023-02-25 18:42:43 +08:00
MIUI14 Chrome107[doge]
viisoo
2023-02-25 21:15:54 +08:00
5.0 (Linux; Android 12; Redmi K30 Pro Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.141 Mobile Safari/537.36 XWEB/5015 MMWEBSDK/20221206 MMWEBID/923 MicroMessenger/8.0.32.2300(0x2800205D) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64
flyqie
2023-02-26 01:46:46 +08:00
兼容一个像微信这样自带 webview 的 app 可比兼容各厂商那令人绝望的系统自带 webview 好多了。。。

aosp 生态就特么是一坨屎,各家魔改的五花八门,兼容成本不是一般的高。
flyqie
2023-02-26 01:57:03 +08:00
@MengiNo #40

1. 那可不一定,2022 年还用着 android10 以下的人我还见过一堆。。

没钱换或者觉得没必要换(还能用),这才是他们的真实情况。

2. 你是不是国产手机好久不用产生幻觉了?是什么让你觉得在 aosp 这个支离破碎的生态下各家系统 webview 能保持统一?
Windrox
2023-02-26 02:07:34 +08:00
手机厂商自带的 webview 从 40 能跨到 100 ,记得哔哩哔哩之前是不内置 x5 的,结果被低版本的骂完被 beta 版骂;不过说到底还是手机厂商摆烂,觉得应用都内置了就懒得把包放商店里,毕竟大多数用户能感知到系统 webview 可能只有 via
Yzh361
2023-02-26 08:18:51 +08:00
对我来说微信只是个聊天社交工具。其他的杂的东西,能不用的就不用😁
MoeMoesakura
2023-02-26 08:49:32 +08:00
@Rache1 不能共存这个问题似乎不大(有 island 之类工具吧

不过是真缺德
Hayashikawa
2023-02-26 09:14:01 +08:00
微信可以更改为系统内置的版本,而系统内置的版本可以自己升级,所以有些微信的内核版本就会很高。
wuyusite
2023-02-26 10:37:07 +08:00
看来每个人的微信都不一样
Mozilla/5.0 (Linux; Android 8.0.0; MI 5s Plus Build/OPR1.170623.032; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/4425 MMWEBSDK/20221206 Mobile Safari/537.36 MMWEBID/3934 MicroMessenger/8.0.32.2300(0x2800205D) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64
Macolor21
2023-02-26 10:49:36 +08:00
封闭 /开放的剑 /矛。所以看到有人说哪个系统更好,哪个系统差,就知道那个人认知水平很差了,没有绝对的完美的东西。
beginor
2023-02-26 11:11:47 +08:00
@Hayashikawa 请问怎么修改呢?
opengps
2023-02-26 12:37:40 +08:00
chrome 曾经被人批评升级过快。根据这个线索,答案你顺着猜一下就知道了
Cheons
2023-02-26 13:22:01 +08:00
Paly 商店版默认分离了内核,安装就只有 130M 本体,但不能使用小程序。
会更新安装大约 100M 的 86 版本内核,用不到小程序取消自动更新就行
leaves615
2023-02-26 14:39:16 +08:00
@jeesk 如果是原封不动依赖就没什么成本,升级下源码,重新编译就可以发布了。 要是基于一个版本进行定制的话,改动适配都是需要花时间和人力的。这一部分,就要看每个版本的改动量,大变更就相当于重新适配一个了。 这后面还要对已有功能的大量兼容测试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/918931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX