libcef 非常大,webview2 又有跨平台兼容问题,为什么没有人精简 WebKit 呢?
WebKit 编译时提供了非常多的开关,例如:--no-video 、--no-webgl
如果有人基于 WebKit 做一个精简的 Web 运行时,并且把 JavaScriptCore 替换成 QuickJS 我觉得应该很受欢迎。
WebKit 的三个模块:WebKit2 、WebCore 、JavaScriptCore
WebCore:可以去掉不需要的:Canvas 、音视频解码器、PDF 、WebGL 、拼音检查等等 JavaScriptCore:可以替换成 QuickJS
(虽然 QuickJS 没有 JIT ,但是核心模块可以用 C++、C#、Rust 等语言代替
我觉得整个下来,使用 7z 压缩后,应该可以控制在 10-15M 甚至更小
1
zhizunzz 1 天前 via Android
哥,首先我对你说的这些东西只有个概念,但是我觉得你说的是个实在的需求,没人做的话不正好趁机赚他一个亿么,不需要纠结为什么
|
3
hefish 1 天前
是啊,为什么这么好的需求没人做呢,别人肯定都是没想到,而我也和 op 一样想到了。
|
4
wwwcomcn 1 天前 早有大佬做过这块了。
https://github.com/weolar/miniblink49 |
5
gucheen 1 天前
因为不用好
你应该庆幸 Google 选择 fork webkit 研发了 blink ,以至于现在 Chromium 系能有这么出色的表现 我不明白你怎么会觉得你这一套设计会很好用?都不说你为什么会觉得 JavaScriptCore 替换成 QuickJS 会很受欢迎。 Apple 又不是没做过 windows 版的 Safari ,估计只有真果粉能用得下去 |
6
codehz 1 天前
游戏领域已经有了啊,比如 Ultralight 就是裁剪的 webkit
|
7
Isuxiz 1 天前 @龙泉寺扫地僧
|
8
wangtian2020 1 天前
没人在意大不大,反正我不在意,又不是我在意
|
9
jeesk 1 天前
我觉得很有前途,这个需要很大, 建议楼主上手亲自操刀.
|
10
lambdaq 1 天前
有人做。然后被黑产疯狂利用。
|
11
lisongeee 1 天前
你的收益貌似只有降低文件大小,但绝大多数普通用户根本不关心这点
|
12
Lockroach 1 天前
你可以试着做做,说不定呢
|
13
powersee OP |
15
shunia 1 天前
听起来很复杂?收益抵得上这么复杂的实现流程吗?而且搞了半天最后还是依赖 Webkit ,后面维护起来也坑吧。
所以现在时兴从头开始写浏览器 |
16
Vogan 1 天前
想想就很费钱。吃力不讨好的事,谁愿意干谁去干。
|
17
unixipc 1 天前
这个 codebase 非常难搞,精简太难了
|
21
szdubinbin 1 天前
目前国内有意愿和能力去做,并且已经非常成功的给开发者/用户喂 shit 的只有 qq 浏览器的 x5 一家,也就是上面提到的扫地僧的老东家。大佬在知乎算是比较分享干货的,有很多文章介绍这块的原理可以参考,其中一篇: https://www.zhihu.com/question/290767285/answer/1200063036?utm_campaign=rss&utm_medium=rss&utm_source=rss&utm_content=title
|
22
ysc3839 1 天前 via Android
WebKit 跨平台的潜在隐患更多吧?
苹果目前除了自家平台,应该只在 Windows iTunes 中使用 WebKit ,用户量极少。相比 Chrome 有大量用户踩坑,WebKit 很有可能存在许多未被发现的问题或隐患,性能优化可能也不如 Chrome 。 |
24
MindMindMax 1 天前
https://sciter.com/ 几十年历史的老牌子了。
|
25
14 1 天前
总有人需要一小部份功能,比如你这里举的例子 Canvas 和 PDF 我都需要,那我是不是用不了这个了?
|
26
powersee OP @qrobot #18 要的是 WebKit 跨平台和 HTML5+CSS3 的特性,JS 部分可以用原生代码编译,例如 C++、C# 等
@szdubinbin #21 毕竟公司是追求利润和商业化的 @14 #25 大多数 GUI 是用不到这些的 |
27
flynaj 19 小时 17 分钟前 via Android
大小小了,功能就少了,我的网页在其它浏览器上都正常,在你浏览器上就不正常,这个问题怎么解决?
|
28
powersee OP @flynaj #27 我觉得精简 WebKit 的目的是创造一个更好的 GUI 框架,开发者应该知道哪些特性可以用,哪些不能用。
@MindMindMax #24 有点子东西啊,好像是自己实现的渲染引擎 |
29
faywong8888 17 小时 37 分钟前
浏览器是一个 all in one 架构,换一个螺丝得把发动机里里外外全部改一遍,持续维护迭代成本极高,你说的这些轮子体积小了,但性能/功能并不全面,对完整 w3c 特性是有折损的,这个权衡取舍后的都是分散的场景化小需求。其次纯浏览器引擎、精简优化没有商业模式,没有经济收益可言。所以你说的这件事并没有持续地发生过。
|
30
powersee OP @faywong8888 #29 没有良好的商业模式的确很难让人有动力搞这个
|
31
qrobot 17 小时 21 分钟前
@powersee v8 就是这样做的啊, 部分麻烦的地方用 js 来替代, 否则你写 C++ 搞死你, 至于 C# ? 除非脑子有水才会用这个。 这个和 Java 一样有个垃圾回收, 而且性能还差.
而且你说的这些又不是没有 https://github.com/litehtml/litehtml |
32
powersee OP @qrobot #31 v8 大啊,而且有些应用根本不需要高性能的脚本执行能力 + 渲染能力。
譬如:Postman: 就是一个管理 API 管理程序,用不到 Chromium 这么强大的东西吧?其中的 Script 功能用 QuickJS 代替应该也是可以的 |
33
qrobot 12 小时 28 分钟前
@powersee #31 所以性能差啊, 你觉得 chromium 团队会放弃高性能的 v8, 转而投向低性能的 QuickJS 吗? 除非脑袋被驴踢了。
功能大,自然体积就大, 功能少自然体积就少。 你看看商业化的 sciter 都不知道阉割了多少功能了。 你要是希望把体积做小。 那么就用 wxwidget. 既要有要还想要, 这是不可能的 |
34
qrobot 12 小时 24 分钟前
@powersee 说难听一点 vc++ runtime 还有 6mb, 然后又要解决 vc++ 不同 runtime 的依赖问题。 然后在打包 vc++ 检查用户有没有, 如果没有就自动安装对吧? 你看看 steam 的发展史就知道了。 安装软件体积从来不是问题。 软件质量才是
|
36
rarpainting 9 小时 41 分钟前
其实我不太理解为什么要做一个精简的 Web 运行时,用 web 框架不就是图它 all in one 嘛?如果是精简系统,跨平台框架不缺吧,需求不明
|
37
powersee OP @rarpainting #36 cef 和 chromium 太大了,打出来的包差不多 100Mb ,精简之后只需要 HTML5+CSS3 排版,音视频、WebGL 、Canvas 等都可以去掉
|
38
KinBob 6 小时 57 分钟前
op 如果能做出来,按开发结果精确裁剪的工具,那还是超级厉害的
|
39
a4390509 4 小时 15 分钟前
可以去知乎关注下#7 兄弟 @的大佬,最新好像在做这部分内容
|