*We recently sent an update on J2CL and we would like to cross post it to GWT contributor list since there was recent questions about it. I would like to also remind everybody that GWT3 != J2CL; GWT3 work is still ongoing in the open source community and I will talk to steering committee to see if an update on it could be provided as well.* ----
*Since we gave access to more people, we thought that this would be a good time to give you an update on J2CL; what is happening, if it is really a thing or not and what to expect from it.First the good parts:1- J2CL is feature complete for a while and had a very strong traction in Google in the last year.We got pretty big customers on board and some launched to production and they are pretty happy about it. To name a few projects that are already running J2CL code: New GMail, Inbox, Docs, Slides. And more are coming.We could not have achieved this with GWT since our customers apps have very strict expectations on code size/performance and interoperation with their existing JavaScript stack. And this is why we built J2CL in the first place.2- J2CL has improved on code size compared to already quite performant GWT compiler.The last time I checked it was around 5-10% code size reduction and we will continue working on that.3- Optimized compiles improved by 50% and it is possible to get a couple of second refresh times for development.And now the “could be better” parts :)1- Open-source build is not fully workingJ2CL is highly optimized for Google infrastructure and scales very well with Bazel. There are multiple reasons for that: - Bazel works very well as a cross-platform build solution. You can build your Android, iOS and Web application together with Bazel. - Bazel has a very good caching/scaling architecture and we already designed J2CL based on that. - Bazel is our only expertise on build systems so we can only ensure developers gets a good development experience using Bazel.For pure J2CL experience in open source, we decided early on to rely on Bazel and made it a prerequisite for open-sourcing it.However, our internal build macros used things that are only available internally so we need to clean and port to a more proper solution that could also work well for open-source. And during that process we keep hitting limitations that block us and cause delays. Also please keep in mind that J2CL’s success is highly related to its internal success and we were busy helping internal customers to have successful production launches so we didn't have much bandwidth either.On the bright side, most of the blocking issues are getting resolved and we had progress in the last couple of months and we are prioritizing this even further.(Note that this doesn’t mean you will be *required* to use Bazel for J2CL and our contributors are already working on Maven/Gradle solutions.)2- For now your mileage may vary w.r.t performanceEven though optimized compiles are much better for Google, I am not sure how this will translate to open- source since the two compilers scale differently and historically open source users got better performance out of GWT than we did internally. However I'm optimistic on this in the long run.For development edit/refresh cycles, it is hard to beat GWT’s SDM since it is already designed to do the very minimal things required to serve development code. Being said that it is still possible to have good refresh times using something called 'iblaze' which is essentially a file watcher that triggers a warm transpiler and code bundler where we could do caching.One worry I have here is, we use some tools that does code pruning during build which helps some with the performance, and those tools are not available for open source. Something we will eventually look at but not very soon.Anyway, this is the quick summary of how things are and I hope it sheds some light to the questions.* -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA1idZ%3DcM77U%2BrbShH7%2Brhv7kS%3Dj7uz%2BJRCPoCgjcu06gQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
