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

联合创作 · 2023-10-02 01:06

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

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报