写点什么

J2CL:一款将 Java 编译成 JavaScript 的工具

  • 2019-05-27
  • 本文字数:916 字

    阅读完需:约 3 分钟

J2CL:一款将Java编译成JavaScript的工具

J2CL是一个开源的编译器,可以将 Java 编译成 JavaScript,由谷歌设计、开发和开源。J2CL 开发者称这款编译器”可以在 JavaScript 应用程序中无缝地使用 Java“。它想要解决的问题与其他 Java-JavaScript 框架(如 GWT)想要解决的问题不一样,也不想与其他框架展开竞争或者取代其他框架,它旨在提升跨平台代码重用性和互操作性。J2CL 开发者说”借助 J2CL,你可以在 JavaScript 中访问 Java 代码,或者直接用它创建整个应用程序,具体取决于你的实际需求“。


这个工具具备很强的灵活性,可以通过多种方式来使用它。其中一个使用场景是让运行在多个平台上的复杂逻辑可以被跨平台共享。例如,J2CL 前贡献者之一 Thomas Deegan 说,”Google Docs 的前端代码使用 Java 编写,然后使用 J2CL 将所有文档操作和渲染逻辑从 Java 编译成 JavaScript“。还有一种使用场景是在 Node.js 应用程序中重用 Java 库。


J2CL 可以编译大多数已有的 Java 代码,但并非支持所有的 Java API(比如 Java 反射 API)。默认情况下,编译后的代码不是公开的,JsInterop提供的一些 Java 注解可用来标注哪些类、方法、实例变量等可以被暴露出来。这个项目提供了一些简单的”hello world“示例来演示如何使用它。下面对这个示例进行了细微的修改,演示了如何在 JavaScript 中被注解的 Java 类。


下面是 Java 类:


package com.acme
import jsinterop.annotations.JsType;
@JsTypepublic class HelloWorld { public static String getHelloWorld() { return "Hello from Java!"; }
复制代码


}


在 JavaScript 中使用这个类:


const HelloWorld = goog.require('com.acme');console.log(HelloWorld.getHelloWorld());
复制代码


这个项目的开发者表示,这个工具已经可以用在生产环境中,并且已经是”谷歌多个 GSuite 应用程序的底层技术,包括 GMail、Inbox、Docs、Slides 和 Calendar“。


这个项目在去年开源,但项目可以追溯到 2014 年。J2CL 最初与 GWT 项目有关,2015 年初,开发者认为它不应该是 GWT 项目的一部分,并把它剥离出来成为一个独立的项目。这个项目目前还不能与其他工具集成,对 Windows 的支持也很有限。


更多信息可以访问项目的GitHub主页或者入门指南


查看英文原文J2CL: A Java to JavaScript Transpiler


2019-05-27 00:0014516
用户头像

发布了 731 篇内容, 共 447.3 次阅读, 收获喜欢 2001 次。

关注

评论 1 条评论

发布
用户头像
看别的文章说也不支持网络API,感觉实用性瞬间下去一大半
2019-05-27 00:55
回复
没有更多了
发现更多内容

互动视频和5G的相互成就

脑极体

TypeScript 中的 Index Signatures

Regan Yue

typescript ReganYue 10月月更

真香!兜兜转转还是得看你“阿里面试参考指南”

Java 程序员 架构 面试 后端

区块链通证经济的意义

CECBC

ToB产品如何自传播(上)

石云升

产品经理 产品设计 产品思维 10月月更

凌晨加班回家路上捡到阿里技术人限产的MySQL高级笔记及面试宝典,从此我的人生像开挂一样!

Java 架构 面试 程序人生 编程语言

没想到!阿里技术大佬独家收藏的pring全家桶小册,竟被我意外发现!

Java 架构 面试 程序人生 编程语言

总结出这份学习笔记,帮助朋友成功跳槽!六年阿里工作,苦熬到 P7经验分享!

Java 程序员 架构 后端 工程师

想不到吧!这本字节算法大佬562页《算法中文手册》,在Gihub上排名第一!

Java 架构 面试 程序人生 编程语言

无敌!学透美团老哥的这套微服务进阶学习手册拿个P7还是so easy!

Java 架构 面试 程序人生 编程语言

升级了 Windows 11 正式版,有坑吗?

王磊

发布两小时,霸榜GitHub!Spring Boot实战文档

Java 编程 程序员 后端 计算机

横空出世!IDEA画图神器来了,比Visio快10倍

收到请回复

Java IDEA idea插件

自定义View:如何绘制一个饼图

Changing Lin

10月月更

Java高级、架构师必备!Lucene+ElasticStack入门至项目实战!

Java 架构 面试 程序人生 编程语言

神马操作!Kafka 竟然宣布弃用 Java 8

收到请回复

Java kafka 后端 java8

这么卷吗?大三学生喜获阿里提前批

Java 程序员 架构 后端

内卷破坏者!“阿里爸爸”全新出品SpringBoot高级笔记(全彩版)

Java 编程 架构 IT 计算机

字节总监毕生心血总结:收获,不止SQL优化抓住SQL的本质

Java 程序员 架构 面试 计算机

4年CRUD小职员,五面阿里艰苦经历(定薪45K),回馈一波心得体会

收到请回复

Java 程序员 面试 后端 面经

被疫情“带飞”的家庭健身市场,是时候卷起来了

脑极体

通关宝典!Java 面试核心知识让你面试过,过,过!

Java 程序员 面试 后端 构架

怒肝 Linux 学习路线,这回不难

程序员鱼皮

Linux 编程 后端 开发 java

一女程序员因薪酬问题离职,rm -f * 删库,瘫痪6个小时,被判9个月

收到请回复

Java 程序员 面试 面经

飞桨与海光人工智能加速卡DCU系列完成互证,助力国产AI加速 卡人工智能应用创新

百度大脑

人工智能 深度学习 飞桨

2021金九银十Java面试经历:腾讯5面(已拿offer)

Java 编程 程序员 架构 面试

Leetcode题目解析:274. H 指数

程序员架构进阶

面试 算法 LeetCode 10月月更

刚上岸字节年薪60W的Java架构师,耗时半年总结的24W字面试手册

Java 程序员 架构 面试 后端

双非本科猛斩6个offer,秘籍公开!

Java 程序员 架构 面试 后端

面试多次被拒,“两个月”61天,我收到了蚂蚁金服P7级的offer

Java spring 程序员 架构 编程语言

谁说GitHub才能出经典?出自牛客网的Java程序员逆袭手册才是YYDS

Java 程序员 架构 面试 计算机

J2CL:一款将Java编译成JavaScript的工具_语言 & 开发_Dustin Schultz_InfoQ精选文章