j2cl

Java to Closure JavaScript transpiler

Github星跟蹤圖

J2CL · Build Status

Seamless Java in JavaScript applications that tightly optimizes with
Closure Compiler


J2CL is a powerful, simple and lightweight transpiler from Java to Closure style
JavaScript.

  • Get the best out of Java and JavaScript. You no longer need to choose between
    the two or lock into a specific framework or a language. Choose the right language
    at the right place and hire the best talent for the job.

  • Get it correct the first time. The robust run-time type checking based on
    the strong Java type system combined with the advanced cross language type checks
    catches your mistakes early on.

  • Provides massive code reuse. J2CL closely follows the Java language
    semantics. This reduces surprises, enables reuse across
    different platforms and brings most popular Java libraries into your toolkit
    including Guava, Dagger
    and AutoValue.

  • Modern, fresh and blazing fast. Powered by Bazel,
    J2CL provides a fast and modern development experience that will make you smile
    and keep you productive.

  • Road tested and trusted. J2CL is the underlying technology of the most
    advanced GSuite apps developed by Google including GMail, Inbox, Docs, Slides
    and Calendar.

Guides

Get Support

Caveat Emptor

J2CL is production ready and actively used by many of Google's products, but the
process of adapting workflows and tooling for the open-source version is not yet
finalized and breaking changes will most likely be introduced.

We are actively working on adapting more pieces including
Junit4 emulation and faster pruning for an even
better development experience.

Last, the workflow is not yet supported in Windows. You can contribute to
make this a reality. Coordinate and follow the progress of this effort
here.
For developers that want to use Windows as their platform we recommend
installing under WSL (Windows Subsystem for Linux).

Stay tuned!

J2CL vs. GWT?

In early 2015, Google GWT team made a difficult but necessary decision to work
on a new alternative product to enable Java for the Web.

It was mostly due to changing trends in the web ecosystem and our new internal
customers who were looking at Java on the Web not as an isolated ecosystem but
an integral part of their larger stack. It required a completely new vision
to create tools from the ground up, that are tightly integrated with the rest of
the ecosystem. A modern architecture, that is reliable, fast and provides a
quick iteration cycle.

There was no practical way to achieve those goals completely incrementally out
of GWT. We started from scratch using everything we learned from working on GWT
over the years. In the meantime, we kept GWT steering committee members in the
loop and gave contributors very early access so they could decide to build the
next version of GWT on J2CL.

The strategy has now evolved GWT3 to an SDK focused on libraries and enterprise
tooling which was one of the strongest points of GWT all along.

We think that such separation of concerns is crucial part of the success of the
both projects and will provide the best results for the open source community.

Contributing

Read how to contribute to J2CL.

Licensing

Please refer to the license file.

Disclaimers

J2CL is not an official Google product and is currently in 'alpha' release for developer preview.

主要指標

概覽
名稱與所有者google/j2cl
主編程語言Java
編程語言Java (語言數: 8)
平台
許可證Apache License 2.0
所有者活动
創建於2017-06-20 09:53:52
推送於2025-07-17 13:13:55
最后一次提交2025-07-17 06:12:14
發布數9
最新版本名稱v20250630 (發布於 )
第一版名稱v20190918 (發布於 2019-09-18 20:53:47)
用户参与
星數1.3k
關注者數57
派生數150
提交數7k
已啟用問題?
問題數132
打開的問題數24
拉請求數7
打開的拉請求數5
關閉的拉請求數88
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?