java2script/java2script is the overall master of the project. However, all active devlopment should be forked from BobHanson/java2script, as that is the current development fork. That said, pushing to java2script/java2script is done regularly, so BobHanson/java2script should not ever be too far ahead of java2script/java2script.
Developers of java2script/SwingJS itself should read README-developers.md
Bob Hanson (email@example.com)
See https://github.com/BobHanson/java2script/tree/master/sources/net.sf.j2s.core/dist and the README file in that directory.
Relationship to Alternatives
Google Web Toolkit
I can only find a very few examples of TeaVM use. But from what I can see, TeaVM is still at "concept" stage. It appears that they are hand writing "pseudo" Java as they go. For example, we see at
that "java.awt" contains three classes: TColor, TDimension, and TPoint. TColor has exactly four methods: getRed(), getGreen(), getBlue(), and getAlpha(). It appears to me that the developer has hand-written a decent collection of 800 files as org.teavm.classlib.java. Apparently, the idea is that you would take your Java project and swap in these pseudo-java classes. But this is not scalable. One can't expect a 100,000-line Java program to be retooled or limited to this small hand-crafted set of classes.
The primary differences between java2script/SwingJS and CheerpJ, to the best of my knowledge, include:
- implementing a true HTML5 UI rather than just painting a canvas the way Java does
- open source and completely extensible
History - 2019-
SwingJS is now more than just "Swing"-JS. AWT applets and applications are now supported. A test suite of over 500 AWT applets has been used to refine the AWT runtime classes with great success. Many thanks to Karsten Blankenagel (University of Wuppertal) for access to this source code set.
History - 2017-
https://github.com/BobHanson/java2script (development master)
Jmol-SwingJS https://github.com/BobHanson/Jmol-SwingJS (code only)
History - 2010-2016
https://github.com/java2script/java2script (stable master)
Ported from SourceForge by Zhou Renjian, developed further by Zhou Renjian and Udo Borkowski (primarily) as "Version 2.0".
Developed further in 2016 by zhou Renjian, Udo Borkowski, Bob Hanson, Andrew Raduege, Nadia El Mouldi, and Paul Falstad (http://www.falstad.com) for the first round of post-JSmol application of java2script, adding javax.swing classes and dubbed "SwingJS". Used by Bob Hanson during 11/2016 for conversion of the PhET gas applications applets.
Synchronized with https://github.com/BobHanson/java2script as the stable master version in 2018.
PhET, Falstad, and other tests https://chemapps.stolaf.edu/swingjs/phet/site/swingjs/examples Initial SwingJS tests converting AWT to Swing in Java, then transpiling.
JSmol: https://chemapps.stolaf.edu/jmol/jsmol Non-AWT, Non-Swing version, our initial application of Java2Script technology.
Falstad Math and Physics Applets (https://www.falstad.com/mathphysics.html) Source available.
History - 2005-2010
https://sourceforge.net/projects/j2s (last updated 6/2010)
Initially developed by Zhou Renjian (aka "Josson Smith", firstname.lastname@example.org, 2005-2017), Soheil Hassas Yeganeh (email@example.com, 2006), Sal Ferro (firstname.lastname@example.org, 2006), Sebastian Gurin (email@example.com, 2008), and others. The project was a "proof-in-concept" that saw limited actual application.