Fuzio 是国内首个同时覆盖信创生态与主流平台的 Java 嵌入式 Chromium 浏览器组件。
Fuzio 是一个商业跨平台 Java/Kotlin 库,可以让您将基于 Chromium 的 Web 浏览器控件集成到 Java Swing、JavaFX、SWT 和 Compose Desktop 桌面应用程序中,以显示使用 HTML5、CSS3、JavaScript 构建的现代网页。
使用 Fuzio,您可以:
- 显示现代网页、PDF、WebGL
- 操作 DOM,执行 JavaScript,从 JavaScript 调用 Java
- 拦截网络请求,配置代理,管理 Cookie
- 管理文件下载,将 HTML 转换为 PNG
- 使用 DevTools 调试网页,打印网页和 PDF
- 处理身份验证,填写 Web 表单 等等
Fuzio 由即库科技(Jiku Technology)面向中国市场打造,原生支持麒麟(Kylin)、开放麒麟(openKylin)操作系统以及龙芯(LoongArch)处理器架构。对于开发和销售 Java 桌面软件的企业,尤其是需要同时适配信创环境与主流操作系统的场景,Fuzio 提供了一站式解决方案。
为什么需要 Fuzio
在 Java 桌面应用中嵌入浏览器,一直是开发者的常见需求。无论是用 Web 技术构建现代化界面、在应用内展示网页内容,还是实现 HTML 转 PDF、自动化测试,都离不开一个可靠的嵌入式浏览器组件。
然而,目前可选的方案各有痛点:
- JavaFX WebView: 基于 WebKit 引擎,不支持 WebGL,对现代 Web 标准的支持不完整,API 仅有约 10 个类,功能十分有限。由于 WebKit 在 JVM 进程内运行,任何错误或异常行为都可能导致 JVM 崩溃,终端用户的数据可能丢失或损坏。
- JCEF(Java Chromium Embedded Framework): 基于 CEF,开源免费,但需要自行构建、编译并打包。它同样在 JVM 进程内运行 Chromium——Chromium 的崩溃可能导致整个 Java 应用退出。JCEF 没有正式的发布计划,也没有商业技术支持,开发团队需要自行维护构建基础设施、修复问题。
- 海外商业方案: 功能强大,但购买和技术支持需要走海外流程,无法满足信创环境的需求。
Fuzio 正是为了解决这些问题而诞生的。
核心优势
开箱即用
2分钟内开始使用 Fuzio。
步骤1: 获得免费试用密钥。
步骤2: 在终端中执行如下命令。
Windows
git clone https://gitee.com/jiku-technology-dev/fuzio-quickstart-gradle-swing.git
cd fuzio-quickstart-gradle-swing
gradlew.bat run -Dfuzio.license.key=<your_license_key>
macOS/Linux
git clone https://gitee.com/jiku-technology-dev/fuzio-quickstart-gradle-swing.git
cd fuzio-quickstart-gradle-swing
./gradlew run -Dfuzio.license.key=<your_license_key>
就是这样!您将看到一个内嵌了 Chromium 浏览器的 Swing 窗口:
多进程架构,安全稳定
Fuzio 架构图:
Fuzio 具有多进程架构。它在独立的本机进程中运行 Chromium,通过进程间通信(IPC)与 Java 进行通信。如果 Chromium 中出现错误,您的 Java 进程将保持活动状态。这一切都与良好的用户体验和用户数据安全有关。
信创平台全面支持
Fuzio 支持的操作系统:
| 平台 | 支持版本 |
|---|---|
| Windows | Windows 11、Windows 10、Windows Server 2022/2019/2016 |
| macOS | Tahoe 26、Sequoia 15、Sonoma 14、Ventura 13、Monterey 12 |
| Linux | Ubuntu 18.04+、Debian 10+、Fedora 38+、openSUSE 15.5+、RHEL 8.9+ |
| Linux(信创发行版) | Kylin SP1 V10+、开放麒麟 openKylin 20.04+、Loongnix 4.19+ |
Fuzio 支持的处理器架构:
| 平台 | 支持架构 |
|---|---|
| 麒麟(Kylin) | x64/ARM64/LoongArch64 |
| 开放麒麟(openKylin) | x64/ARM64/LoongArch64 |
| Loongnix | x64/ARM64/LoongArch64 |
| Windows | x86/x64/ARM64(仅 Win11) |
| macOS | x64/Apple Silicon |
| Linux | x64/ARM64 |
支持龙芯 LoongArch 架构意味着 Fuzio 可以运行在政府、金融、能源等行业的信创硬件上。
使用场景
| 混合应用程序 | 数字广告与标牌 |
|---|---|
| 用最新 Web 技术扩展您的 Java 桌面应用。使用 React、Vue.js、Angular、Material UI 等 JS 库打造现代化界面,打造界面精美、体验出众的现代桌面或平板应用。 | 在户外或室内 LED 屏幕上(如数码广告牌、菜单板、影院/加油站/餐厅的数字标牌),显示视频或网页内容,通过 Web 端远程管理内容投放。 |
| 自动化与测试 | 游戏与多媒体渲染 |
| 模拟用户操作、拦截网络请求、配置代理、访问和修改 DOM、填写表单,实现 Web 自动化测试,有效提升开发效率。 | 使用 JS、HTML、CSS 创建游戏,借助 GPU 以 4K@60fps 渲染高清画面,无需互联网连接。支持从 JavaScript 直接调用外围设备。 |
| 结账与自助服务终端 | 网页抓取与数据采集 |
| 面向 POS 终端、自助结账机、医院挂号机、银行取号机等触控设备,用 Web 技术构建直观易用的交互界面。支持从 JavaScript 直接调用外围设备。 | 利用浏览器的完整渲染能力加载和分析网站,抓取动态页面内容,提取文本和图像,导出为 PDF 或截图,辅助业务决策。 |
主要功能一览
构建现代化用户界面
- HTML5、CSS3、JavaScript: 通过最新 Web 标准构建现代化网页
- 离屏渲染: 在轻量级离屏 Swing/JavaFX 组件中显示网页
- 对话框管理: 控制 JavaScript 和文件对话框,或显示自定义对话框
- 自定义上下文菜单: 显示自定义的右键上下文菜单,或根据需要禁用
深入底层控制
- Java ↔ JavaScript: 在 JavaScript 和 Java 代码之间实现相互调用
- DOM: 访问和修改当前加载网页的 DOM
- CSS: 在网页文档中注入额外的 CSS
- DevTools: 通过 DevTools 或远程调试端口调试网页
丰富媒体体验
- 4K 60FPS: 通过 GPU 以 60FPS 的速度全屏渲染 4K 视频
- PDF: 通过内置的 PDF 查看器显示 PDF 文档
- 投屏到智能设备: 将浏览器内容投射到智能电视、投影仪等设备,实现大屏展示
- 屏幕共享: 支持远程屏幕捕捉与共享,可选择共享屏幕、应用窗口或网页
数据安全保护
- 安全更新: 通过不断更新 Chromium 来维持安全性
- 身份验证: 处理 Basic、Digest、NTLM、Proxy 和 SSL 证书认证,支持 SuisseID 和 U2F 设备
- Cookies: 访问、创建、删除和过滤会话和持久 Cookie
多样化页面交互
- HTML 转 Bitmap: 将网页另存为 PNG 或 JPEG 文件
- Chrome 扩展程序: 从 Chrome 应用商店安装扩展或从 CRX 文件加载
- 打印: 打印网页和 PDF,将网页保存为 PDF 格式
- Chromium 配置文件: 创建和使用多个标准和无痕配置文件
- 拼写检查: 获取网页上拼写错误的通知
- 键盘和鼠标: 过滤键盘和鼠标事件,注册自定义快捷键
- 保存网页: 将当前加载的网页保存为一组文件
- 缩放: 更改缩放级别,放大/缩小网页内容
- 下载管理: 管理文件下载,跟踪下载进度,暂停或取消下载
网络设置
- 网络: 拦截网络请求,修改 HTTP 头部信息等
- 自定义协议: 注册自定义协议并模拟 Web 服务器响应
- 用户代理: 修改每个网页的用户代理字符串
- 代理: 为每个配置文件配置 HTTP、HTTPS 和 SOCKS 代理设置
支持的 Java 版本
Fuzio 支持 Java 17,21 和 25(LTS 版本),兼容以下发行版:
- Oracle JDK
- Amazon Corretto
- Eclipse Temurin
- OpenJDK
- Azul Zulu JDK
Fuzio 也应该可以在其他 Java 17+ 版本上运行,但我们仅针对 LTS 版本进行测试。
Fuzio 在 Windows 上同时支持 32 位和 64 位 JDK,macOS 和 Linux 仅支持 64 位。
许可
Fuzio 采用商业授权,一次性付费,永久使用。包含:
- 永久许可证
- 12 个月的产品更新
- 12 个月的技术支持 (含 SLA,支持微信直接对接工程师)