内容简介: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 。
而 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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 反向编译OpenWrt的Lua字节码 (Decompile OpenWRT Lua Bytecode)
- Vdex Extractor:从Vdex文件反编译和提取Android Dex字节码的工具
- 主机字节序和网络字节序
- 操作 Java 字节码
- JVM基础 -- 字节码
- 字节跳动的面试感受
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员的算法趣题
[ 日] 增井敏克 / 绝 云 / 人民邮电出版社 / 2017-7 / 55.00元
本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等知名算法,并想要学习更多有趣算法以提升编程技巧......一起来看看 《程序员的算法趣题》 这本书的介绍吧!