没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-02-07 10:53:08.270|阅读 7 次
概述:Compose Multiplatform没有 Web 视图组件, JxBrowser 8.0.0是 Compose Multiplatform 的第一个适用于所有桌面平台的 Web 视图组件。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
Compose Multiplatform 是一个用于在桌面、网络和移动设备上创建用户界面的框架。它扩展了 Android 的 Jetpack Compose,并允许您使用熟悉的 API 为 iOS 和桌面开发应用。
JxBrowser 是一个商业 Web 视图组件。它基于 Chromium,也可用于 Swing、JavaFX 和 SWT。
JxBrowser 专为具有关键用例、截止日期和对第三方软件和供应商有高标准的公司而设计。该软件附带由产品工程师直接提供的保密技术支持。保证的首次响应时间 (SLA) 为一个工作日。JxBrowser 使用最新的安全补丁使 Chromium 保持最新状态。
WebViews现状
Jetpack Compose 没有 Web 视图组件。相反,开发人员使用 Android 的原生WebView。它是旧版 View 系统的一部分——一种早于 Compose 的 UI 技术。
Compose Multiplatform 也没有 Web 视图组件。相反,开发人员必须依赖平台上可用的组件。或者更准确地说,是多个平台:移动设备上有两个平台,桌面上有三个平台。
在移动设备上一切都很好。Compose Multiplatform 应用可以在 Android 上使用 WebView,WKWebView在 iOS 上使用一个组件。但在传统的台式机上,事情就变得复杂了。
桌面平台也提供原生 Web 视图,但 Compose Multiplatform 中不提供。不过,由于 Compose 可以与 Swing 互操作,理论上还可以与 JavaFX 互操作,因此开发人员可以将 Web 视图组件用于这些经典桌面工具包。这是 2024 年 10 月之前的唯一选择。
2024 年 10 月,JxBrowser发不了8.0.0版本,这是 Compose Multiplatform 的第一个适用于所有桌面平台的 Web 视图组件。这三个平台均适用于 Windows、macOS 和 Linux。JxBrowser 可直接与 Compose 配合使用,并且不使用 Swing 互操作层。
在 Compose 中使用 Web 视图
JxBrowser已经为 JavaFX、Swing 和 SWT 开发了 Web 视图。提供了惯用的 Kotlin API,并且易于添加到现有的桌面应用程序中。以下代码片段展示了如何将 Web 视图添加到 Compose Multiplatform 应用程序:
fun main() { // Create and run the Chromium engine. val engine = Engine(RenderingMode.OFF_SCREEN) val browser = engine.newBrowser() singleWindowApplication( title = "Compose Desktop BrowserView", state = WindowState(width = 800.dp, height = 600.dp), ) { // Creating a Compose component for rendering web content // loaded in the given Browser instance. BrowserView(browser) DisposableEffect(Unit) { browser.navigation.loadUrl("//html5test.teamdev.com") onDispose { // Close the engine when the app window leaves the composition. engine.close() } } } }
Compose 实际运行的浏览器视图
要将实际的 Web 视图添加到组合中,您需要BrowserView 为想要在应用程序中显示的浏览器调用可组合函数。
Kotlin-JavaScript 桥梁
任何 Web 视图的主要功能都是从 Kotlin 调用 JavaScript 并返回。在 JxBrowser 中,您可以获取 JavaScript 对象并直接从 Kotlin 代码访问其属性和方法:
val shoppingCart = frame.executeJavaScript<JsObject>("window.shoppingCart") val items: JsArray = shoppingCart.call("getItems")
其中包括 DOM 节点:
val body = frame.executeJavaScript<Element>("document.body") val bodyClone = body.call("cloneNode")
类似地,您可以将任何 Kotlin 对象注入 JavaScript 并从页面调用它:
class KotlinObject { @JsAccessible fun sayHelloTo(firstName: String) = "Hello $firstName!" } // This callback is executed before the page executes its own scripts. browser.register(InjectJsCallback { params -> val window = params.frame().executeJavaScript<JsObject>("window") window?.putProperty("kotlin", KotlinObject()) InjectJsCallback.Response.proceed() })
在 Kotlin 和 JavaScript 世界之间的每次调用中,JxBrowser 都会执行自动类型转换。
JxBrowser 的其他功能
JxBrowser 是获取几乎所有可供 Web 开发人员使用(但桌面 Kotlin 中没有)功能的桥梁。
当您需要生成漂亮的 PDF 文件时,Web 视图是一种常见的选择。当您拥有 HTML 和 CSS 格式的 PDF 文件模板时,您可以在 JxBrowser 中加载它并生成 PDF 文件。
与 Android 类似WebView,JxBrowser 允许您截取浏览器的屏幕截图。使用任何 JRE 提供的实用程序,您可以 截取屏幕截图并将其保存为 PNG 图像文件。
在企业环境中,身份验证至关重要。JxBrowser 支持与 Chromium 相同的身份验证协议,并允许您使用 Kerberos、WebAuthn、U2F 和其他身份验证技术。
除此之外,JxBrowser 还提供对网络流量的细粒度控制、高级打印 API、Chrome 扩展程序、专有编解码器支持、代理和许多其他功能。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:慧都网无论是零售、物流还是医疗保健,旋转条形码图像的功能都能增强不同应用的灵活性和适应性。使用Aspose.BarCode for Java,您可以轻松旋转条形码图像,确保它们无缝融入应用程序的设计和布局。
借助Aspose.Slides for Java,开发人员可以轻松编辑 PowerPoint 幻灯片(包括表格),以增强演示文稿的效果。
VMProtect 是保护程序代码免遭分析与破解的利器,但很多开发者在实现注册机制时犯了关键性错误,使得再强大的加壳工具也难以阻挡黑客破解。本文将从注册逻辑设计、密钥验证方式、注册状态存储等多个角度,系统拆解常见误区,并结合 VMProtect 的虚拟化和加密策略,提供构建高强度注册保护的实战方案。
在本文中,我们将探讨如何在FastReport .NET中配置与 Apache Ignite 的连接。您将学习通过代码和报表设计器连接插件的必要步骤。
一个跨平台的库,用于将Chromium浏览器集成到Java应用程序中
DotNetBrowserDotNetBrowser能添加Chromium引擎到你的.NET 应用中,支持.NET6!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢