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


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

查看所有标签

猜你喜欢:

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

Compilers

Compilers

Alfred V. Aho、Monica S. Lam、Ravi Sethi、Jeffrey D. Ullman / Addison Wesley / 2006-9-10 / USD 186.80

This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised ......一起来看看 《Compilers》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具