TeaVM 现已支持将 Java 字节码编译成 WebAssembly

栏目: Java · 发布时间: 8年前

内容简介:TeaVM 现已支持将 Java 字节码编译成 WebAssembly

TeaVM 是一个 AOT 编译器(翻译器),可将 JVM 字节码翻译成 JavaScript,它和著名的 GWT 有一定相似之处,但必须指出 TeaVM 并不需要 Java 源代码,而只需要 class 文件(JVM 字节码)。所以它能成功地用于  Kotlin 和 Scala 等基于 JVM 的语言。

TeaVM 在主页上的自我描述为,给不想学习 JavaScript 技术,但又想要进行 Web 前端开发的 Java 开发者的一个强大工具。 (A powerful tool for Java developers who want to develop web front-end, but don't want to learn JavaScript development stack.)

为什么要用 TeaVM?

如果你喜欢 Java,比如它的静态类型等,同时你又需要写大量在浏览器里用 JavaScript 实现的逻辑。TeaVM 可提供必要的功能:

  • 预分析所有函数,只编译必须的部分

  • 生成高效的 js 代码,有时候比 GWT 生成得 更快

  • 提供 Java 环境下的 JS API 和 DOM API

  • 已经与 Maven 和 Eclipse 进行了集成

  • 生成代码调用关系图

  • 支持 Java 端和浏览器端调试

而现在,TeaVM 除了可将 JVM 字节码翻译成 JavaScript,还能翻译成 WebAssembly。

对于这一消息,阮一峰在其推特 发表 了如下的看法:

多少公司梦寐以求的东西,这一天终于来了,Java 字节码可以编译成 WebAssembly 了。

不远的将来,Java 开发可以一个人从中间件一直写到前端网页。那个项目的首页写着,你不需要 npm、babel、webpack...,只需要 Maven 。

TeaVM 现已支持将 Java 字节码编译成 WebAssembly

而 WebAssembly 最大的优点莫过于可大幅度提升 Javascript 的性能。WebAssembly 的 设计目标 :定义一个可移植,体积紧凑,加载迅速的二进制格式为编译目标,而此二进制格式文件将可以在各种平台(包括移动设备和物联网设备)上被编译,然后发挥通用的硬件性能以原生应用的速度运行。

目前这个项目还有很多兼容性方面的问题需要解决,所以要正式使用估计还有很长的一段路要走。可点此进入在线体验地址(Beta): http://teavm.org/sandbox/index.html

TeaVM 的详细介绍: https://www.oschina.net/p/teavm

附目前可以直接编译到 WebAssembly 的语言列表  https://github.com/appcypher/awesome-wasm-langs


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创新

创新

理查德·福斯特 / 王宇锋 / 中信出版社 / 2008-10 / 32.00元

《创新:进攻者的优势》内容简介:为什么一流企业突然间将它们的市场拱手让与新的竞争者?要避免这样的命运,需要无情地抛弃那些过去使它们成功的技能和产品,那么究竟哪些企业能够做到这一点呢?企业如果总是墨守成规、因循守旧,那么长期下去,必然无法以市场的速度及规模进行革新或创造价值。这样的企业会像得州仪器、施乐等市场领先者一样,被一些资源较少、技术较差、市场支配力较弱的竞争对手超越,而这些所谓进攻者的优势,......一起来看看 《创新》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具