Java 桌面开发新解法:Fuzio 一站式嵌入 Chromium

0 阅读7分钟

Banner 1 .png 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 提供了一站式解决方案。

微信图片_20260413124323_12_24.png

为什么需要 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 窗口:

swing-view.webp

多进程架构,安全稳定

Fuzio 架构图:

微信图片_20260413125507_13_24.png

Fuzio 具有多进程架构。它在独立的本机进程中运行 Chromium,通过进程间通信(IPC)与 Java 进行通信。如果 Chromium 中出现错误,您的 Java 进程将保持活动状态。这一切都与良好的用户体验和用户数据安全有关。

信创平台全面支持

Fuzio 支持的操作系统:

平台支持版本
WindowsWindows 11、Windows 10、Windows Server 2022/2019/2016
macOSTahoe 26、Sequoia 15、Sonoma 14、Ventura 13、Monterey 12
LinuxUbuntu 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
Loongnixx64/ARM64/LoongArch64
Windowsx86/x64/ARM64(仅 Win11)
macOSx64/Apple Silicon
Linuxx64/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 或截图,辅助业务决策。

主要功能一览

构建现代化用户界面

  1. HTML5、CSS3、JavaScript:  通过最新 Web 标准构建现代化网页
  2. 离屏渲染:  在轻量级离屏 Swing/JavaFX 组件中显示网页
  3. 对话框管理:  控制 JavaScript 和文件对话框,或显示自定义对话框
  4. 自定义上下文菜单:  显示自定义的右键上下文菜单,或根据需要禁用

深入底层控制

  1. Java ↔ JavaScript:  在 JavaScript 和 Java 代码之间实现相互调用
  2. DOM:  访问和修改当前加载网页的 DOM
  3. CSS:  在网页文档中注入额外的 CSS
  4. DevTools:  通过 DevTools 或远程调试端口调试网页

丰富媒体体验

  1. 4K 60FPS:  通过 GPU 以 60FPS 的速度全屏渲染 4K 视频
  2. PDF:  通过内置的 PDF 查看器显示 PDF 文档
  3. 投屏到智能设备:  将浏览器内容投射到智能电视、投影仪等设备,实现大屏展示
  4. 屏幕共享:  支持远程屏幕捕捉与共享,可选择共享屏幕、应用窗口或网页

数据安全保护

  1. 安全更新:  通过不断更新 Chromium 来维持安全性
  2. 身份验证:  处理 Basic、Digest、NTLM、Proxy 和 SSL 证书认证,支持 SuisseID 和 U2F 设备
  3. Cookies:  访问、创建、删除和过滤会话和持久 Cookie

多样化页面交互

  1. HTML 转 Bitmap:  将网页另存为 PNG 或 JPEG 文件
  2. Chrome 扩展程序:  从 Chrome 应用商店安装扩展或从 CRX 文件加载
  3. 打印:  打印网页和 PDF,将网页保存为 PDF 格式
  4. Chromium 配置文件:  创建和使用多个标准和无痕配置文件
  5. 拼写检查:  获取网页上拼写错误的通知
  6. 键盘和鼠标:  过滤键盘和鼠标事件,注册自定义快捷键
  7. 保存网页:  将当前加载的网页保存为一组文件
  8. 缩放:  更改缩放级别,放大/缩小网页内容
  9. 下载管理:  管理文件下载,跟踪下载进度,暂停或取消下载

网络设置

  1. 网络:  拦截网络请求,修改 HTTP 头部信息等
  2. 自定义协议:  注册自定义协议并模拟 Web 服务器响应
  3. 用户代理:  修改每个网页的用户代理字符串
  4. 代理:  为每个配置文件配置 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,支持微信直接对接工程师)