TeaVM - 将 JVM 字节码翻译成 JavaScript 和 WebAssembly 的 AOT 编译器


Apache-2.0
跨平台
Java

软件简介

什么是TeaVM?

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

为什么要用TeaVM?

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

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

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

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

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

  • 生成代码调用关系图

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

如何用TeaVM?

你可以用Maven的archetype构建一个TeaVM模式的Java Web程序

mvn -DarchetypeCatalog=local \
  -DarchetypeGroupId=org.teavm \
  -DarchetypeArtifactId=teavm-maven-webapp \
  -DarchetypeVersion=0.4.3 \
  archetype:generate

然后你就能通过命令 mvn clean package 得到war文件

将它部署到Tomcat或者其它servlet容器中,或者直接解压这个war文件,打开里面的 index.html

为了简化开发,比如你喜欢使用Eclipse IDE,请参考
这份教程