Web编译器CheerpJ 2.0使用WebAssembly将Java应用程序移植到浏览器

LeaningTech 最近发布了CheerpJ 的第二个主要版本。CheerpJ 2.0可以将Java应用程序转换为HTML,WebAssembly和JavaScript 的混合,以便开发人员可以在浏览器中运行Java应用程序(包括小程序)或将Java库集成到Web应用程序中。CheerpJ 2.0使用WebAssembly来提高运行速度。

CheerpJ 2.0在WebAssembly和JavaScript中提供了完整的(Java 8语言的100%),模块化,优化的Java 8 SE运行时库。运行时还补充了各种功能的基于浏览器的本机实现(例如,具有Web worker的多线程,具有Web Audio的音频,基于IndexedDB的文件系统访问等等)。CheerpJ 2.0新利用WebAssembly运行时模块来提高运行时速度并减小包的大小,而这会带来大量的计算成本(例如,字体渲染)。

CheerpJ的早期版本提供了超过1MB的JavaScript,用于一个简单的增量计数器应用程序。CheerpJ 2.0努力通过仅交付运行时所需的组件来减小下载大小。但是,在考虑了Wasm模块和等效的JavaScript模块的解析时间的增加之后,CheerpJ 2.0应用程序仍可能表现出明显的等待时间,供用户开始使用该应用程序。结果,CheerpJ并不适合所有开发人员的用例。LeaningTech的首席执行官Stefano De Rossi特别强调了CheerpJ的非目标:

CheerpJ并非旨在从头开始编写Web应用程序(…),我们不认为CheerpJ是Java的Blazor等效工具(…)

Rossi详细介绍了CheerpJ努力解决的三个主要用例。第一个用例涉及遗留Java应用程序和小程序的转换。由于可以在现代浏览器中进行分发,访问和使用,因此这些传统应用程序的寿命可能会延长。罗西提到,数百个传统的教育性Java Applet可能会受益。

第二个用例涉及将现有Java客户端迁移到基于浏览器的应用程序,保留现有业务逻辑并将其转换为JavaScript / WebAssembly,同时用HTML重写用户界面。在第三个用例中,开发人员可以转换现有的Java库并将其集成到Web应用程序中。

Rossi在接受techUK 采访总结了与WebAssembly相关的优势:

多亏了Wasm,我们才能制作出将本机桌面和移动应用程序转换为标准Web应用程序的编译器和转换工具,任何具有浏览器的设备均可使用它,而不论其操作系统和浏览器供应商如何。
这意味着您可以采用关键任务且需要花费数年开发时间的现有Java,Flash或C ++应用程序,然后将它们自动移植到HTML5,而无需人工干预。
至关重要的是,编译为WebAssembly意味着您的组织不依赖远程执行和基于云的虚拟化来交付应用程序。通过使用最终用户设备上的计算能力来运行应用程序,可将维护和运行成本降至最低

CheerpJ是封闭源,但可以免费用于非商业目的以及技术评估;其他用途可能需要许可证。开发人员可以使用在线编辑器编写Java代码,并在浏览器中实时查看Java代码。

Leaning Technologies是一家计算机软件公司,专门研究WebAssembly和可编译为JavaScript的解决方案和工具,以将应用程序转换为Web Apps。精益技术致力于为大型遗留应用程序提供一种自动化,低成本的迁移和现代化解决方案。

将Java应用程序编译为Web应用程序的其他解决方案包括GWTTeaVMJSweetVaadin FlowJ2CL等。该JWebAssembly开源项目目前正在开发一个Java字节码到WebAssembly编译器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值