探索轻量级浏览技术:Miniblink —— 基于Chromium的微型浏览器引擎

探索轻量级浏览技术:Miniblink —— 基于Chromium的微型浏览器引擎

miniblink49a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核,用来取代wke和libcef项目地址:https://gitcode.com/gh_mirrors/mi/miniblink49

项目介绍

Miniblink,这个曾经因安全问题短暂关闭的开源项目,已在2024年6月22日重获新生。它是一个小巧玲珑、单文件的浏览器组件,基于Chromium引擎,旨在提供简单易用的浏览器控件,让你仅需数行代码就能在你的应用中集成强大的网页渲染功能。

项目技术分析

Miniblink的核心在于其强大的C接口,这使得你可以轻松地用C++、C#或Delphi等语言调用并构建浏览器界面。不仅如此,它还内嵌了Node.js,支持Electron应用,这意味着你可以在小型应用中实现复杂的JavaScript逻辑。该项目还提供了网络资源拦截功能,能够将远程资源替换成本地文件,这对于调试和性能优化来说是一大利器。

应用场景

Miniblink的应用场景广泛,无论是在桌面应用中嵌入网页视图,还是进行自动化测试、数据抓取,甚至是创建轻量级的电子阅读器,它都是理想的选择。特别是对于那些需要在老旧系统(如Windows XP)上运行,并且仍然需要强大HTML5支持的项目,Miniblink是极具吸引力的解决方案。

项目特点

- 极致小巧

Miniblink以小体积著称,小巧的尺寸让它能在各种环境下快速部署。

- 多语言支持

除了C++,它还支持C#和Delphi,让不同开发背景的开发者都能无缝接入。

- 自定义环境

你可以模拟不同的浏览器环境,满足特定网站的兼容需求。

- 头文件和预编译版

官方提供的预编译SDK和示例代码让你能即刻开始编码。

- 强大的HTML5支持

Miniblink对HTML5标准有着出色的兼容性,能良好地运行现代Web应用。

- 模拟器模式

通过关闭跨域限制,你可以轻松利用跨域功能,便于开发和测试。

- 头less模式

节约资源的头less模式使其成为Web爬虫的理想选择。

- 社区活跃

开发者可以通过论坛、微信群、Telegram群等途径获取帮助和支持。

开始使用

要开始使用Miniblink,你可以从GitHub releases页面下载预编译的SDK,其中包含了完整的示例代码。只需寥寥数行,就像上面的示例所示,你就可以创建出一个显示指定网页的无边框窗口。

最后,我们呼吁每一位使用者尊重开源,尊重作者辛勤的付出。如果你对项目有任何疑问或建议,可通过社区平台与开发者直接交流。

欢迎加入Miniblink的世界,体验它所带来的便捷与强大,开启你的轻量化网页应用之旅。

miniblink49a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核,用来取代wke和libcef项目地址:https://gitcode.com/gh_mirrors/mi/miniblink49

miniblink是什么?Miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件。其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blinkMiniblink保持了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对大小要求非常严格。原版chromiumblink里对排版渲染没啥大用的如音视频全都被砍了,只专注于网页的排版和渲染。甚至为了裁剪大小,我不惜使用vc6的crt来跑mininblink(见我上篇文章)。这个也算前无古人后无来者了。其次,miniblink紧跟最新chromium,这意味着chromium相关的资源都可以利用。在未来的规划里,我是打算把electron的接口也加上的,这样可以无缝替换electron。使用miniblink的话,开发调试时用原版electron,发布的时候再替换掉那些dll,直接可以无缝切换,非常方便。miniblink如何使用?Miniblink导出了electron、WKE的接口,可以直接无缝替换现有的electron、WKE项目。早期miniblink还导出了CEF接口,不过现在已被废弃。miniblink有个小demo,从demo里可以看到,brackct这个基于cef的开源编辑器,已经顺利由miniblink跑起来了。现在electron的接口已做好,vscode跑起来了。更详细的使用文档见本页其他文章。miniblink如何裁剪到这么小?这个比较复杂了。主要就是把blinkchromium抽离了出来,同时补上了cc层(硬件渲染层)。现在的blink,已经不是当年的那个webkit了,渲染部分全走cc层,复杂无比。我这大半年都在重写他那个蛋疼又复杂的cc层。和webkit比,miniblink架构有什么优势现在的webkit版本,已经比miniblink落后太多了。blink一直在加入各种极富创造力和想象力的功能、组件。例如,blink早就加入多线程解析html token、blink gc回收器、多线程录制回放渲染机制。这些能让blink的解析渲染速度极大提升。下一次,我会先开源出blink gc组件,这东西很有意思,在c 里硬是搞出了一个垃圾回收机制,能让你像写java一样写c 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓巧知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值