BlueJ und Greenfoot: Die besten IDEs, um Java zu lernen

Sie sagen, Sie möchten Java lernen. Es kann eine entmutigende Sprache sein. Es könnte sogar undurchdringlich erscheinen, wenn Sie ein neuer Programmierer sind. Aber Sie atmen tief ein und beschließen, es auszuprobieren. Ok, das Wichtigste zuerst: Sie benötigen eine der integrierten Entwicklungsumgebungen (IDEs), über die Sie gelesen haben. Eine einzelne Anwendung, in der Sie Ihre in Kürze zu schreibende Java-Anwendung bearbeiten, erstellen, ausführen, debuggen und bereitstellen können.

Es stehen mehrere beliebte, kostenlose Java-IDEs zur Verfügung: Eclipse, NetBeans und die Community Edition von IntelliJ. Sie wählen eine aus, laden sie herunter und installieren sie. In kürzester Zeit stellen Sie fest, dass Sie jetzt zwei Dinge lernen müssen: Java und die IDE. Ihr ausgewähltes Entwicklungswerkzeug ist so undurchdringlich wie die Sprache, mit der es Ihnen helfen soll.

Geben Sie BlueJ und Greenfoot ein, zwei IDEs, die speziell für Anfänger entwickelt wurden. Sie sind das Produkt eines Teams am King's College in London (obwohl die Teammitglieder zeitweise mit Universitäten in Australien und Dänemark verbunden waren). Die Entwickler von BlueJ und Greenfoot haben den Funktionsumfang und das Interface-Design ausgewählt, um Anfänger nicht zu überfordern.

Wie Neil Brown, der Hauptentwickler, erklärt, werden die Funktionen von BlueJ und Greenfoot "... enthüllt, wenn Benutzer zu ihnen kommen". Sie werden nicht in das tiefe Ende des Pools geworfen. Folglich bieten beide eine einfache Einführung nicht nur in die Java-Sprache, sondern auch in die Tools und Techniken, die zum Erstellen von Anwendungen in dieser Sprache erforderlich sind.

Lerne Java mit BlueJ

BlueJ erschien erstmals 1999 mit dem Namen Blue. Zu dieser Zeit war es sowohl eine Entwicklungsumgebung als auch eine Sprache. Als Java erschien, wurde das Tool mit Java als Sprache neu erstellt und der Name in BlueJ geändert.

Es gibt Editionen von BlueJ für Linux, MacOS und Windows. BlueJ gibt es auch in einer generischen Form: Als JAR-Datei gepackt, damit BlueJ auf jedem System installiert werden kann, das Java unterstützt. Die aktuelle Version von BlueJ (4.2.2 zum Zeitpunkt dieses Schreibens) erfordert JDK 11 oder höher und muss daher auf einem 64-Bit-Betriebssystem ausgeführt werden. Frühere 32-Bit-Versionen existieren, werden jedoch nicht mehr entwickelt.

Ich wurde zum ersten Mal auf BlueJ (und Greenfoot) aufmerksam, als ich sie auf einem Raspberry Pi 4 vorinstalliert fand, den ich letztes Jahr bekommen hatte. Ich erfuhr später, dass BlueJ seit 2015 auf dem Raspberry Pi installiert war.

Wenn Sie ein Projekt in BlueJ öffnen, wird ein erfrischend spärliches Fenster angezeigt: Menüleiste oben, Symbolleiste links neben einem großen Workbench-Bereich und ein kleinerer Objektbankbereich unten. Mit den Schaltflächen in der Symbolleiste können Sie eine Klasse erstellen, eine Vererbungsbeziehung definieren oder eine Klasse kompilieren. Projektklassen werden in der Workbench als eine Art reduziertes UML-Diagramm angezeigt. BlueJ ist zwar keine vollständige visuelle Entwicklungsumgebung, reicht jedoch aus, damit Sie die Beziehungen zwischen Entitäten in Ihrem Programm sehen, aber nicht aus den Augen verlieren können des Codes.

Doppelklicken Sie auf ein Klassensymbol in der Workbench. Die Quelle wird im Editor geöffnet. Dort wird eine weitere visuelle Unterstützung angezeigt: die Hervorhebung des Bereichs. Bei der Hervorhebung des Bereichs werden verschachtelte Codeblöcke buchstäblich in verschiedenfarbigen Hintergründen hervorgehoben, sodass Sie schnell den Bereich sehen können, der von einer Methode innerhalb einer Klasse, einer forSchleife innerhalb einer Methode, einer ifAnweisung innerhalb dieser forSchleife usw. abgedeckt wird . Die Codestruktur wird sofort sichtbar.

Klicken Sie mit der rechten Maustaste auf eine Klasse in der Workbench, und ein neues Menü wird angezeigt, in dem Sie - je nach Art und Zusammensetzung der Klasse - die Klasse kompilieren, ihren Inhalt überprüfen, eine entsprechende Testklasse erstellen (dazu später mehr) und ausführen können eine Klassenmethode oder instanziieren Sie ein Objekt der Klasse. Hier steht die Interaktivität von BlueJ im Mittelpunkt.

Klassen können individuell zusammengestellt werden; Sie müssen nicht ein gesamtes Projekt neu erstellen, wenn Sie eine einzelne Klasse geändert haben. Wenn Sie eine Klassenmethode ausführen, wird ein Dialogfeld angezeigt, in dem Sie zur Eingabe der Methode aufgefordert werden. Geben Sie die Eingaben ein, klicken Sie auf OK, und ein weiteres Dialogfeld mit dem Rückgabewert und seinem Datentyp wird angezeigt.

Wenn Sie eine Klasse instanziieren, wird in der Objektbank ein Symbol für das neue Objekt angezeigt. Wie bei Klassen können Sie mit der rechten Maustaste auf das Objektsymbol klicken und den Inhalt des Objekts überprüfen. Sie können auch einzelne Objektinstanzmethoden ausführen. Dialogfelder zur Eingabe von Eingabeargumenten und zur Anzeige von Rückgabewerten werden (wie oben) angezeigt.

BlueJ wäre ohne einen Debugger keine vollständige IDE. Sie können Debugger-Haltepunkte in BlueJ genauso festlegen wie in anderen IDEs. Klicken Sie im Editor einfach in die Spalte links neben der Zielquellcodezeile. Wenn während der Ausführung der Haltepunkt ausgelöst wird, wird das Debugger-Popup von BlueJ geöffnet, in dem Threads, Aufrufstapel, statische Sperren und Instanzvariablen sowie die bekannten Debugging-Steuerelemente (Schritt, Schritt in, Fortfahren und Stopp) angezeigt werden. Auch hier steht die übersichtliche Präsentation von BlueJ nicht zwischen Ihnen und der anstehenden Aufgabe.

Wie oben erwähnt, kann BlueJ eine Testklasse aus dem Rechtsklick-Menü eines Klassensymbols erstellen. Die automatisch erstellte Klasse ist eine Skelett-JUnit-Testklasse (JUnit 4 ist in BlueJ integriert). Es besteht aus einem leeren Konstruktor setUp()und tearDown()Methoden. Sie können entweder Testmethoden erstellen, indem Sie die Quelle der Klasse im Editor öffnen, oder eine Art integrierten Assistenten verwenden, der Sie über eine Reihe von Dialogfeldern durch das Erstellen von Testmethoden führt.

In ähnlicher Weise bietet BlueJ Unterstützung beim Erstellen von grafischen JavaFX- und Swing-Anwendungen. Es werden Tutorials bereitgestellt, und das Durcharbeiten des JavaFX-Tutorials zeigt den tatsächlichen Vorteil der Verwendung der Fähigkeit von BlueJ, Methoden für "lebende" Objekte auszuführen (während die Anwendung ausgeführt wird). Sie können das Ergebnis eines Methodenaufrufs für eine grafische Komponente anzeigen.

Die integrierten interaktiven Tutorials von BlueJ bringen Sie auf den Weg. Wenn Sie noch mehr Lehrmaterialien benötigen, verwendet das Buch Objects First with Java , das von BlueJ-Erfinder Michael Kölling mitgeschrieben wurde, BlueJ als Entwicklungsumgebung, um den Ansatz eines Anfängers für die objektorientierte Programmierung in Java vorzustellen.

Lerne Java mit Greenfoot

Greenfoot wurde vom selben Schöpfer, Michael K onlling, auf BlueJ aufgebaut und ist eine spezialisiertere IDE als BlueJ. Während BlueJ häufig im Rahmen eines Einführungskurses auf Universitätsniveau verwendet wird, richtet sich Greenfoot an jüngere Benutzer. so jung wie 14 Jahre. Um die Aufmerksamkeit eines jüngeren Publikums auf sich zu ziehen und zu halten, wurde Greenfoot als „einfaches Java-IDE- und Animations-Framework“ entwickelt. Das heißt, es ist für das Bauen von Spielen.

Um Greenfoot zu verstehen, müssen Sie zuerst seine Terminologie lernen. Ein Greenfoot-Projekt ist ein „Szenario“. Jedes Szenario hat eine „Welt“, die das Spielfeld Ihres Spiels ist. Es ist ein zweidimensionaler Container, in dem „Schauspieler“ leben. Seien Sie hier vorsichtig - ein Greenfoot-Schauspieler ist nicht die bestimmte Art von objektorientierter, gleichzeitiger Programmiereinheit mit demselben Namen (siehe //en.wikipedia.org/wiki/Actor_model). Greenfoot-Schauspieler sind die Spielsteine ​​Ihres Spiels.

Ein Greenfoot-Schauspieler verfügt über Attribute und Methoden (Merkmale und Verhaltensweisen). Ein Merkmal eines Schauspielers ist sein Aussehen - das Symbol, das in der Welt angezeigt wird, um diesen Schauspieler darzustellen. Greenfoot wird mit einer Vielzahl von Schauspielerbildern geliefert, um Ihnen den Einstieg zu erleichtern, oder Sie können Ihr eigenes Bild erstellen und importieren.

Greenfoots visuelle Anordnung ist ein Spiegelbild von BlueJ. Das Hauptfenster von Greenfoot ist die Welt. Rechts davon wird eine vertikale Symbolleiste mit Vererbungsdiagrammen von Projektklassen gefüllt. In der Regel befinden sich in der Symbolleiste zwei Vererbungsbäume, von denen einer in der Basisklasse Worldund der andere in der Basisklasse verwurzelt ist Actor. Abgeleitete Klassen verzweigen sich von diesen beiden Wurzeln.

Wie bei BlueJ öffnet ein Doppelklick auf das Symbol einer Klasse die zugehörige Quelle in einem Editorfenster. Der Greenfoot-Editor ist identisch mit dem von BlueJ, was nicht verwunderlich ist, da fast der gesamte BlueJ unter Greenfoot ausgeführt wird. Der Editor von Greenfoot hat also den Bereich von BlueJ hervorgehoben, und der Debugger von Greenfoot funktioniert genau wie der von BlueJ.

Ändern Sie eine Klasse im Editor, und ihr Symbol im Vererbungsdiagramm ist schraffiert. Dies zeigt an, dass die Klasse neu kompiliert werden muss, bevor sie zum Instanziieren eines Objekts verwendet werden kann. Außerdem verschwimmen alle Objekte auf der Welt, die von dieser Klasse stammen, (nicht mehr scharf), um zu zeigen, dass sie jetzt veraltet sind. Glücklicherweise können Sie wie in BlueJ Klassen einzeln kompilieren.

Sobald Sie einen Schauspieler instanziiert haben, können Sie ihn in der Welt platzieren, indem Sie sein Symbol in die Fensterscheibe der Welt ziehen und dort ablegen. Genau genommen muss man keinen Schauspieler in die Welt setzen, bevor eine der Methoden des Schauspielers aufgerufen werden kann. Klicken Sie mit der rechten Maustaste auf einen Akteur, um eine aufzurufende Methode auszuwählen. Wenn für die Methode Eingabeparameter erforderlich sind, wird ein Dialogfeld geöffnet, in dem Sie den Parameter angeben können.

In der Greenfoot-Welt muss Zeit fließen, damit die Schauspieler Bewegung haben. Aber es ist eine digitale Welt, also schreitet die Zeit in Ticks einer internen Uhr voran - einer Aktualisierungsschleife. Zwei Schaltflächen - Act und Run - steuern die Ausführung dieser Schleife. Klicken Sie auf die Schaltfläche Act, und die Schleife wird einmal ausgeführt. Klicken Sie auf Ausführen, die Schaltfläche wird zu Pause und die Schleife wird ausgeführt, bis Sie erneut auf die Schaltfläche klicken, um sie zu stoppen. Diese Schaltflächen sind natürlich äußerst nützlich zum Testen und Debuggen Ihres Spiels.

Wenn Sie die Entwicklungssitzung Ihres Szenarios unterbrechen müssen und dort weitermachen möchten, wo Sie aufgehört haben, können Sie die Welt retten (was viel weniger dramatisch ist, als es sich anhört). Greenfoot erfasst den Standort und den Status von Akteuren auf der Welt und codiert diese Informationen für eine Methode, die vom Konstruktor der Akteure aufgerufen wird. Das Ergebnis: Ihre Bühne setzt sich beim nächsten Start der Greenfoot IDE wieder zusammen.

Was passiert während des Spiels, wenn zwei Schauspieler kollidieren? Oder explodiert etwas? Ein Spiel muss Soundeffekte haben. Greenfoot kann WAV-Dateien in ein Szenario importieren. Mit diesen Methoden können Sie diese Sounds abspielen, wenn bestimmte Ereignisse ausgelöst werden. Nichts hindert Sie daran, sich die Sounds auszuleihen, die in den verschiedenen Tutorials auf der Greenfoot-Website enthalten sind. Für den Fall, dass Sie Ihre eigenen erstellen möchten, bietet Greenfoot einen integrierten Soundrekorder. Die Bearbeitungsfunktionen des Rekorders sind einfach, aber verwendbar. Es ist im Grunde ein "Capture and Trim" -System.

Wenn Sie Spielideen benötigen, die über die in den Greenfoot-Tutorials angegebenen hinausgehen, finden Sie auf der Greenfoot-Website zahlreiche Szenarien, die von Benutzern aus der ganzen Welt erstellt und hochgeladen wurden. Einige können sogar online gespielt werden. Die Qualität ist verständlicherweise nicht so gut, aber die Vielfalt der Spiele zeugt von der Vielseitigkeit von Greenfoot.

Sprungbrett für die Pro-Java-Programmierung

Laut dem Erfinder Michael Kӧlling eignet sich Greenfoot normalerweise für den Einsatz in der High School, während BlueJ normalerweise im Einführungskurs einer Universität verwendet wird. Unabhängig von Ihrem Alter können Sie mit jeder IDE eine Menge Kilometer sammeln, wenn Sie gerade den Weg zur Java-Selbstbildung betreten haben.

Über die bereits erwähnten Tutorials hinaus gibt es auf den Websites von BlueJ und Greenfoot eine beträchtliche Anzahl unterstützender Materialien. Wir haben das BlueJ-Lehrbuch bereits erwähnt. Es gibt auch ein Lehrbuch für Greenfoot, Einführung in die Programmierung mit Greenfoot . (Informationen zum Kauf finden Sie auf den Websites.)

Keine der IDE eignet sich zum Erstellen produktfähiger Java-Anwendungen auf Unternehmensebene. Als Einführungsvehikel für alle Java-Neulinge aktivieren sie jedoch alle Kontrollkästchen und belasten Sie nicht mit der Komplexität von Symbolleisten und Menüs. Sie sind solide und reibungslose Sprungbretter für die professionelle Java-Entwicklung.