Open
Description
By popular request, I am listing the things that J2CL team is actively working on apart from continuous improvements and maintenance and what to expect in the next quarters:
Last Edit: Dec 3, 2024
Now
- Support for Java 21
- Switch default fronted from JDT to Javac
- Open-source tooling to enable Kotlin support
Next
- Implement TestSuite support for Open Source
- Reduce limitations on @JsEnums
- Finalize supported Enum/EnumSet APIs
- Add periodic auto-tagging for Open Source for versioned releases
Later
- Enable RTA pruning for Open Source development
- Investigate embedding GwtIncompatibleStripper step into J2CL
- Add ability to run JsInteropRestrictionChecker as an ErrorProne plugin
- Optimize Dagger to be more efficient with J2CL
- Remove boxing from long (similar to double/Double)
Completed in previous quarters
- Modular compilation for Wasm
- Improve Wasm GC spec, tooling and J2CL experimental Wasm backend
- Implement testing support for Open Source
- Java 11 support (completed, waiting Bazel release)
- First-class support for JSR nullability
- Optimize AutoValue to be more efficient with J2CL
- Improve code generation Java enums to reduce code size
- Add experimental Wasm backend
- Switch to Bazel TreeArtifacts
- Overhaul bridge calculate&creation to fix related bugs and reduce code size
- Fix overflow for integer arithmetic
- Improve JsCompiler optimizations
- Switch to Bazelisk by default
Note:
The J2CL code is production ready and battle tested with Google Apps for years. Only open-source tooling is missing some workflows. All of our improvements to the released code are in sync with Google and you are getting the improvement at the same time as Google gets.
At the moment for J2CL, we are only planning to do dated releases (instead of semantic versioning like v1) and make more tools work in open source over time.
Metadata
Metadata
Assignees
Labels
No labels