TeaVM是一个将JVM字节码翻译成JavaScript和WebAssembly的AOT编译器(翻译器)。它和著名的GWT有一定相似之处,但必须指出TeaVM并不需要Java源代码,而只需要class文件(JVM字节码)。所以它能成功地用于Kotlin和Scala等基于JVM的语言。
如果你喜欢Java,比如它的静态类型等,同时你又需要写大量在浏览器里用JavaScript实现的逻辑。TeaVM可提供必要的功能:
预分析所有函数,只编译必须的部分
生成高效的js代码,有时候比GWT生成的更快
提供Java环境下的JS API和DOM API
已经与Maven和Eclipse进行了集成
生成代码调用关系图
支持Java端和浏览器端调试
你可以用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文件
mvn clean package
将它部署到Tomcat或者其它servlet容器中,或者直接解压这个war文件,打开里面的 index.html
index.html
为了简化开发,比如你喜欢使用Eclipse IDE,请参考 这份教程