====== Features der Entwicklungsumgebung "Java-Online" ====== {{ :pasted:20200923-070416.png |}} * Die Entwicklungungsumgebung sowie die Runtime Engine dazu laufen **komplett im Browser**, es ist **keine Installation** nötig. * Die Programmiersprache deckt den grundlegenden **Sprachumfang** von Java ab, wurde in wenigen Details aber **an didaktische Erfordernisse angepasst**, um den Schülerinnen und Schülern den Einstieg zu erleichtern. [[unterschiede_zu_java:start|Hier eine detaillierte Beschreibung des Sprachumfangs.]] * Die Schülerinnen/Schüler/Lehrkräfte loggen sich mit Benutzername/Passwort ein und sehen sofort die Entwicklungsumgebung mit ihren Workspaces und Dateien. Vom Login bis zum Programmieren vergehen i.d.R. **weniger als 2 Sekunden**. * Eingegebene Programme werden **alle 20 Sekunden automatisch** auf dem Server **gespeichert**. * Schülerinnen und Schüler haben **von zuhause aus Zugriff** auf exakt dieselbe Entwicklungsumgebung. Probleme wie "Ich habe meinen USB-Stick zuhause vergessen.", "Ich habe vergessen, das Programm zu speichern." oder "Ich bringe den Compiler zuhause nicht zum Laufen." gibt es nicht mehr. * Während die Schülerinnen und Schüler programmieren, wird **laufend im Hintergrund compiliert**, so dass auftretende Fehler in wenigen Millisekunden als rote Unterringelung und als **Fehlermeldung (in deutscher Sprache!)** im unteren Bereich des Fensters sichtbar werden. * Die Buttons zum Starten/Stoppen/Pausieren des Programms, der Geschwindigkeitsregler und die Buttons zum Debuggen befinden sich direkt über dem Quelltext. Da schon während der Programmeingabe im Hintergrund kompiliert wird, startet das Programm sofort nach dem Klicken des Startbuttons. * Beim Starten im Einzelschrittmodus oder beim Stoppen an einem Breakpoint wird automatisch das **Debugger-Fenster** eingeblendet. * Obwohl die Benutzeroberfläche sehr einfach gehalten ist, besitzt die IDE alle Features, die man von modernen Entwicklungsumgebungen gewohnt ist: * Code-Vervollständigung * Code-Snippets * Parameter-Hilfe * Browsen im Programm durch + Click * Find References * Go to Definition * Refactor/rename * Automatische Code-Formatierung während der Eingabe * Quick Help * Zeigen der Dokumentation beim Hovern über Bezeichnern, Schlüsselwörtern oder Operatoren * usw. * Die IDE besitzt ein **integriertes Repository** und ermöglicht es den Schüler/innen dadurch, ein Projekt im Team zu entwickeln * Die **umfangreiche API** entspricht bei Standardklassen wie String, Math und den Collection-Klassen (List, Set, Map, ArrayList, HashMap, ...) der von Java. * Zusätzlich verfügt die API über **Klassen zur Grafik/Spieleprogrammierung** und zur einfachen Ein- und Ausgabe von Texten. * Zum schnellen Ausprobieren gibt es eine **Java-Console am unteren Bildschirmrand**. * **Interaktive UML-Klassendiagramme** werden **automatisch generiert** und während des Programmierens laufend aktualisiert. * Lehrkräfte haben **online Zugriff auf die Workspaces ihrer Schüler/innen**, und können ohne merkliche Verzögerung von einem Schüler zum nächsten umschalten. Das Testen/Korrigieren/Kommentieren von Schülerprogrammen kann so maximal effizient durchgeführt werden. Insbesondere bei auftretenden Problemen oder Fehlern kann die Lehrkraft schnell und mit minimalem Aufwand helfen.