转载自:https://zhuanlan.zhihu.com/p/22611497?utm_source=tuicool&utm_medium=referral

一直忘记发一个miniblink的介绍了。

miniblink是什么?

Miniblink是一个全新的、追求极致小巧的浏览器内核项目,

其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。

Miniblink保持了10M左右的极简大小,是所有同类产品最小的体积,同时支持windows xp、npapi。

为什么要做miniblink?

市面上作为嵌入的组件的可用的浏览器内核,不外乎这几个:webkit、cef、nwjs、electron。

cef:优点是由于集成的chromium内核,所以对H5支持的很全,同时因为使用的人也多,各种教程、示例,资源很多。但缺点很明显,太大了。最新的cef已经夸张到了100多M,还要带一堆的文件。同时新的cef已经不支持xp了(chromium对应版本是M49)。而且由于是多进程架构,对资源的消耗也很夸张。如果只是想做个小软件,一坨文件需要带上、超大的安装包,显然不能忍受。

nwjs,或者最近大火的electron:和cef内核类似,都是chromium内核。缺点和cef一模一样。优点是由于可以使用nodejs的资源,同时又自带了各种api的绑定,所以可以用的周边资源非常丰富;而基于js的开发方案,使得前端很容易上手。所以最近N多项目都是基于nwjs或electron来实现。例如vscode,atom等等。

原版webkit:现在官网还在更新windows port,但显然漫不在心,而且最新的webkit也很大了,超过20几M。最关键的是,周边资源很少,几乎没人再基于webkit来做开发。同时由于windows版的saferi已经停止开发了,所以用webkit就用不了他的dev tools了。这是个大遗憾。

WKE:这是个很老的webkit内核的裁剪版了。小是小,但bug太多了。

那么关键点来了,使用miniblink有啥好处呢??

首先,miniblink对大小要求非常严格。原版chromium、blink里对排版渲染没啥大用的如音视频全都被砍了,只专注于网页的排版和渲染。甚至为了裁剪大小,我不惜使用vc6的crt来跑mininblink(见我上篇文章)。这个也算前无古人后无来者了。

其次,miniblink紧跟最新chromium,这意味着chromium相关的资源都可以利用。在未来的规划里,我是打算把electron的接口也加上的,这样可以无缝替换electron。使用miniblink的话,开发调试时用原版electron,发布的时候再替换掉那些dll,直接可以无缝切换,非常方便。

miniblink如何使用?

Miniblink导出了CEF、WKE的接口,可以直接无缝替换现有的CEF、WKE项目。

同时,正在开发electron的接口,大家拭目以待。

目前miniblink放出了一个小demo,从demo里可以看到,brackct这个基于cef的开源编辑器,已经顺利由miniblink跑起来了。未来如果electron的接口做好,把vscode跑起来,那就屌炸天了。

miniblink如何裁剪到这么小?

这个比较复杂了。主要就是把blink从chromium抽离了出来,同时补上了cc层(硬件渲染层)。现在的blink,已经不是当年的那个webkit了,渲染部分全走cc层,复杂无比。我这大半年都在重写他那个蛋疼又复杂的cc层。

和webkit比,miniblink架构有什么优势

现在的webkit版本,已经比miniblink落后太多了。blink一直在加入各种极富创造力和想象力的功能、组件。例如,blink早就加入多线程解析html token、blink gc回收器、多线程录制回放渲染机制。这些能让blink的解析渲染速度极大提升。下一次,我会先开源出blink gc组件,这东西很有意思,在c++里硬是搞出了一个垃圾回收机制,能让你像写java一样写c++。

miniblink有计划开源吗?

正有此意。一个成熟的产品,需要更多人去测试和使用,虽然我完全不指望会有人给我提代码。。。。

但由于现在bug还比较多,感觉开源出去不负责。不过谁感兴趣的话,可以发邮件到weolar@qq.com和我索要。

miniblink还在开发中,目前只有内测版。 我会持续维护这个项目的,我相信,这个才是此项目最有价值的地方

更多动态可以关注我的博客: 炫酷的miniblink demo已上传,基于bracket



屌炸天的内核来袭,史上最小chromium内核miniblink!相关推荐

  1. 打造史上最小尺寸.Net Core单文件应用程序

    .Net Core支持将应用程序发布成单文件进行部署和分发. 以下示例将Windows应用作为独立的单文件应用程序发布: dotnet publish -r win-x64 -c Release /p ...

  2. 史上最小 x86 Linux 模拟器「GitHub 热点速览 v.22.50」

    作者:HelloGitHub-小鱼干 本周 GitHub Trending 略显冷清,大概是国内的人们开始在养病,而国外的人们开始过圣诞.元旦双节.热度不减的 ChatGPT 依旧占据了本周大半的 G ...

  3. 可能是史上最小最好用的免费分屏软件

    可能是史上最小最好用的免费分屏软件,特别适合理工科建模仿真或者文科生同时处理多个文档,大幅度提高工作效率. 下载链接:可能是史上最小最好用的免费分屏软件

  4. oracle 蜥蜴封面,《自然》封面文章遭质疑,“史上最小恐龙” 还是某种蜥蜴?...

    原标题:<自然>封面文章遭质疑,"史上最小恐龙" 还是某种蜥蜴? 3月12日,中美科学家联合发表的一篇名为<缅甸白垩纪蜂鸟大小的恐龙>的论文登上了当期< ...

  5. 史上最小的基于IE内核的多标签、多进程浏览器

    大约在四年前,CHROME浏览器刚刚面世不久,我尝试了一下,立即被它简洁的界面所吸引.当时市面上除了它和IE8,还没有多进程浏览器出现,不像现在,各种多进程浏览器横行.正因为CHROME,才激发了我做 ...

  6. Science 封面:史上最小飞行器,有翼微芯片仅沙粒大小,可用于环境监测

    来源:机器人大讲堂 据最新一期<自然>杂志刊发的论文,西北大学的工程师为电子微芯片增加了一种新的能力:飞行.据了解,这种微芯片大概只有一粒沙子大小,另外它没有马达.相反,它在风中捕获飞行- ...

  7. lzma打包exe_【原创】手写PE文件,打造史上最小LZMA解压DLL

    因程序需求,需要在VB中调用LZMA解压数据,经过N天研究出此成果- 什么是LZMA:LZMA应该是目前世界上数一数二的压缩算法--压缩时相同的时间得到压缩比最高,解压时速度极快且几乎不占内存.如果你 ...

  8. 史上最小sql2005下载只有57.2M(含图形管理工具)

    当我们安装 Microsoft Visual Studio 2005 时  很多人还去专门单独安装 SQL2005开发版或企业版 其实在Microsoft Visual Studio 2005 安装时 ...

  9. 史上最小最优的Apk.1安装器

    安卓手机每次在微信收发Apk都会默认加个.1的后缀, 导致无法安装, 必须安装QQ浏览器才可以解决; 有了我的这个APP, 不用安装QQ浏览器, 也可以在微信上正常安装Apk了,并且安装包才不到17K ...

最新文章

  1. C++阶段02笔记【通讯录管理系统 完整代码(系统需求、创建项目、添加/显示/删除/查找/修改/清空)】
  2. redhat mysql tar_mysql5.7版本tar包手动安装---redhat7.0
  3. 魔术引号 php,php怎么关闭魔术引号
  4. IC-CAD Methodology企业实战之openlava
  5. RMQ(求区间最值问题)
  6. URLLoader 类和 URLVariables 类
  7. gc buffer busy release
  8. Fiddler刚使用遇到的4大问题
  9. php导出Excel表格
  10. arping 命令解析
  11. HDU 6319 Ascending Rating(单调队列)
  12. 当500万只能作为摇号的诚意金来临时,你的想法是什么?
  13. git cherry-pick 的时候出现git cherry-pick xxx  fatal: bad object xxx
  14. Diskgenius分区简单教程
  15. v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 | 百篇博客分析HarmonyOS源码
  16. 【BI学习心得15-数据分析思维】
  17. Mac 搭建本地SVN,并使用Cornerstone管理svn
  18. 网站诊断报告之基本分析
  19. 互联网创业赚钱最好的时期,执行力很重要。
  20. Windows下安装pycocotools(本人亲测,可以解决)

热门文章

  1. 《11.uboot的移植-从三星官方uboot开始移植》
  2. MacBook Pro M1 安装抓包工具Burp Suite教程
  3. 智能交通系统计算机技术应用,计算机技术在智能交通系统中的应用
  4. 需求分析——系统需求的难点
  5. 自考管理系统中计算机应用笔记,自考“管理系统中计算机应用”笔记(15)
  6. 阿里云出现源代码泄露企业 涉及万科等40家企业200余项目
  7. 西门子PLC200SMART恒压供水通讯案例
  8. jira是干什么_JIRA简介及基本概念
  9. [BISTU校赛]12月12日校赛题解
  10. Ci2454/CI2451国产2.4GHz无线收发8位MCU玩具遥控SoC芯片