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

栏目: Java · 发布时间: 8年前

内容简介: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 。

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

而 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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构

数据结构

殷人昆 / 2012-10 / 43.00元

《清华大学计算机系列教材:数据结构(C语言描述)》共分10章,第1章是介绍数据结构的地位和主要知识点,数据结构和算法的基本概念和算法分析的简单方法,以及C语言编程的要点,第2章~第10章对应考试大纲的6个知识单元,包括线性表、栈、队列和数组、树与二叉树、图、查找、排序,并做了适当延伸。作者在讨论每一个知识单元时,结合30多年教学的经验和考试辅导的体会,合理安排了教材内容,力求透彻、全面。对学生读书......一起来看看 《数据结构》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具