cheerpj 3.0 标志着在浏览器中使用 WebAssembly 部署应用程序的重大进展,尤其是 j**a 应用程序。
翻译自 cheerpj 30:使用 WebAssembly 在浏览器中运行应用程序,作者:bCameron Gain是Revecom Media的创始人兼首席分析师。 在 20 世纪 80 年代初,他入侵了 Space Invaders 游戏机,该游戏机只需 25 美分就可以玩一整天游戏,从那时起,他就对电脑着迷。 cheerpj3.0 展示了 WebAssembly 在浏览器中的一个有趣的应用,展示了它在部署和运行用 J**A 编写的复杂应用程序和运行时环境方面的潜力。 开发人员可以创建任何语言的应用程序,只需单击一下即可打包它们,使它们可供最终用户测试和使用。 虽然 cheerpj 30 的开发仍在继续,但它代表了使用 WebAssembly 在浏览器中部署应用程序的重要一步,尤其是使用 j**a。 这补充了其他专注于加密的项目,以及将用 C++ 编写的应用程序部署到浏览器中的能力。
带啦啦队 30,该公司声称 J**A 客户端应用程序,例如 J**A 小程序、J**A Web Start 应用程序和独立的 J**A 应用程序,无需修改即可在现代浏览器上运行,也无需本地 J**A 安装。 这个想法是使运行时环境(在本例中为 j**a)运行得更好,就像用户拥有端点服务器的资源可以在浏览器中自由执行一样。 “就像 docker 允许你在计算机上运行二进制容器一样,你需要有一种技术,使你能够在浏览器中运行二进制工作负载,就像在普通平台操作系统上一样。 Leaning Technologies首席执行官兼创始人Stefano Marco Maria de Rossi向The New Stack透露。 设置 cheerpj 3该公司表示,0 相当简单,在文档中清楚地概述了步骤,并且与绝大多数浏览器兼容。 说到游乐场,将 PDF 文件与 cheerpj itext 合并非常简单。 用户只需在API中输入PDF文件,点击几下鼠标,文件就会被合并到“浏览器”中。 您需要先访问iText演示页面:
上传要合并的 PDF 文件,然后按照提示合并文档:
按照提示合并 PDF 文件:
如上例所示,这可以在 cheerpj 3 中找到0 webassembly 模块,以便跨浏览器分发和执行任何用 j**a 编写的应用程序,至少在理论上是这样。 在不久的将来,将有更多有趣的应用程序在浏览器中运行 cheerpj。 Leaning Technologies 提供了一个更有趣的例子,展示了它如何通过 Cheerpj 在浏览器中启用 J**A 是 BrowserCraft,它允许在浏览器中运行 Minecraft 游戏,以便用户可以直接(免费)玩游戏:
文档将欢呼pj 30 被描述为一个 WebAssembly JVM(如上所述),它在浏览器中将 j**a 字节码编译为 j**ascript,其组件包括:用于 j**a 字节码的 WebAssembly JVM 和一个实时编译器。 对类文件中包含的 ** 进行编译和优化。 JIT 编译器支持高级优化,例如内联和动态虚拟化。
完整且未经修改的 OpenJDK 版本。
虚拟化系统层由以下部分组成:
通过HTTP访问资产的虚拟化文件系统,通过IndexedDB提供本地持久化RW存储,通过STR与J**Ascript数据进行交互。
虚拟化网络支持通过尾部提供。 支持服务器和客户端应用程序。
正如 De Rossi 所指出的,如果不使用 WebAssembly,开发人员必须分别使用 x86、Linux 或其他目标架构的运行时,无论是使用 rust、c++、python、j**a 还是任何其他语言。 ** 编译为在不同平台上运行。 但 WASM 代表着一个统一的目标。 “关键的区别在于,WasM是独一无二的,无论你的浏览器是Linux上的Chrome、macOS上的Safari还是Windows上的Firefox。 德罗西说。 最终,wasm 创造了这种抽象,允许工具制造商为几乎任何语言创建工具。 是的,随着 wasm 变得越来越强大,越来越像原生平台,未来会出现越来越多的语言。 ”