Miniblink49 是什么
Miniblink 是一个开源的、单文件的、目前已知最小的基于 Chromium 的浏览器内核控件。它通过导出的纯 C 接口,只需几行代码即可在你的桌面应用中嵌入一个功能完整的浏览器控件。它是 wke 和 libcef(Chromium Embedded Framework)的优秀替代品,在极小的体积内实现了完善的 HTML5 支持和丰富的前端框架兼容性。
项目在 GitHub 上已获得 7,818 颗星,被广泛应用于各类需要内嵌浏览器的桌面应用开发中。目前 miniblink 已与华为达成战略合作,108 内核版本已在华为欧拉系统开源。
a lighter, faster browser kernel of blink to integrate HTML UI in your app.
核心特性
| 特性 | 说明 |
|---|---|
| 📦 极致小巧 | 单文件架构,极小的体积占用 |
| 🔌 多种语言支持 | 支持 C++、C#、Delphi 等语言调用 |
| ⚡ 内嵌 Node.js | 支持内嵌 Node.js,可运行 Electron 应用 |
| 🎨 定制功能 | 随心所欲的定制功能和模拟环境 |
| 🖥️ XP 支持 | 兼容 Windows XP,支持 NPAPI |
| 🌐 HTML5 完善 | 完善的 HTML5 支持,对前端库友好 |
| 🔗 跨域支持 | 关闭跨域开关后可实现各种跨域功能 |
| 📡 网络拦截 | 网络资源拦截,替换任意网站任意 JS 为本地文件 |
| 🦎 Headless 模式 | 无头模式,极大节省资源,适用于爬虫 |
| 🔄 多版本 | 49/108/132 内核版本可选 |
快速上手
创建浏览器窗口(C++ 示例):
// 无边框窗体
wkeWebView window = wkeCreateWebWindow(
WKE_WINDOW_TYPE_TRANSPARENT, NULL, 0, 0, 640, 480
);
wkeLoadURLW(window, L"https://www.example.com");
// 消息循环
while (true) {
wkeRunJS(window, wkeGetMainFrame(window), L"console.log('hello')");
Sleep(1);
}
下载与集成:
- 前往 GitHub Releases 下载最新编译后的 SDK
- 包含头文件、库文件和演示样例(demo_src)
- 或在 mb-demo 仓库 获取更多使用示例
应用场景丰富:
- 桌面应用的 HTML UI 渲染
- 混合应用开发(Hybrid App)
- 游戏内嵌 H5 界面
- 自动化测试与爬虫
- Electron 应用的轻量替代
优劣势
优势:
- 极致小巧,比完整 Chromium 嵌入方案小得多
- 单文件架构,集成非常简单
- 纯 C 接口,跨语言调用方便
- HTML5 支持完善,兼容主流前端框架
- 内嵌 Node.js,可运行 Electron 应用
- 支持网络资源拦截和自定义
- Headless 模式节省资源
劣势:
- 49 内核版本较老,部分新特性不支持
- 与最新版 Chromium 存在功能差距
- 文档主要面向中文开发者
- 社区相对 Chromium 生态较小
- 108 和 132 版本需额外获取
- 主要支持 Windows 平台
适合谁用
- 需要在桌面应用中嵌入浏览器功能的 C++/C# 开发者
- 希望用 HTML5 构建桌面应用 UI 的开发者
- 寻找 wke/libcef 轻量替代品的程序员
- 需要浏览器内核做爬虫和自动化测试的工程师
- 想在游戏或工具中嵌入 H5 页面的开发者
项目地址
- GitHub: https://github.com/weolar/miniblink49
- 官方网站: http://miniblink.net/
- 开发者论坛: https://bbs.miniblink.com/
仓库统计: ⭐ 7818 Stars 🍴 1163 Forks 📜 Apache-2.0 License
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/tool/miniblink49.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)