设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

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

2018-1-7 16:09| 发布者: joejoe0332| 查看: 1812| 评论: 0|原作者: oschina|来自: oschina

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

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


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部