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

Apache-2.0
Java 查看源码»
跨平台
2017-04-14
乌龟壳

什么是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,请参考 这份教程

加载中

评论(1)

l
luoz_2016
Gwt都不玩了,这货要干嘛?

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

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

01/06 08:10

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

暂无博客

返回顶部
顶部