Version 2.2 entstand im Zeitraum Juni 2025 bis August 2025. Neu hinzugekommen sind folgende Features:
name: String
oder „Java-Style“, z.B. String name
Circle c = new Circle(100, 200, 50).setFillColor(red).setBorderColor(green)
)Falls Sie Fehler finden würde ich mich freuen, wenn Sie sie mir melden könnten. Sie haben zwei Möglichkeiten:
Über jede Art von Unterstützung würde ich mich freuen!
Um den Compiler der Online-IDE zukunftsfähig zu halten und fortgeschrittene Sprachelemente von Java zu unterstützen wurde er im Zeitraum August 2023 - Dezember 2024 nochmals von Grund auf neu programmiert. Da sich dabei grundlegende Datenstrukturen und Schnittstellen stark verändert haben, musste auch die Laufzeitbibliothek komplett überarbeitet werden. Die neue Version 2.0 der Online-IDE ist inzwischen schon sehr stabil. Seit Februar 2025 wird sie produktiv verwendet.
try…catch…finally
)Der neue Compiler erzeugt nicht mehr PCode, sondern eine Liste von Javascript-Funktionen, die der Browser direkt ausführen kann. Dadurch ist kein Interpreter im eigentlichen Sinn mehr nötig, so dass die Ausführung der Java-Programme deutlich schneller ist als beim alten Compiler.
Die Speicherung der Java-Objekte und der primitiven Datentypen wurde überarbeitet, so dass jetzt nur noch ein dünner Layer über den entsprechenden Javascript-Datenstrukturen nötig ist und weniger Speicher verbraucht wird.
Das Laufzeitsystem der Online-IDE verfügt jetzt über einen Scheduler, der mehrere Threads quasi gleichzeitig ausführen kann (preemtive multitasking).
Die Javascript-Bibliotheken werden ab jetzt alle als ECMAScript 6-Module nachgeladen. Dies erleichtert das Einbinden der Embedded-IDE in bestehende Seiten.
Die Online-IDE hatte bisher viele css-Klassen als Bezeichner im globalen Namensraum, insbesondere auch in der Embedded-Variante. Diese wurden jetzt auf ein Minimum reduziert, daher gibt es ab jetzt weniger Nebeneffekte, wenn die Embedded-IDE in bestehende Seiten eingebunden wird.
Ein großer Teil der Funktionalität des neuen Compilers wird jetzt durch automatisierte Unit-Tests qualitätsgesichert, siehe hier.