Softwareumgebung

Softwareumgebung

Wenn man mit Java entwickelt, so hat man eine unglaubliche Auswahl an Softwarepaketen, welche die Entwicklung bestimmter Anwendungen vereinfachen. Schon der Umfang der Sprache mit den von Sun automatisch mitgelieferten Bibliotheken selbst ist gewaltig und umfaßt den Großteil der Anwendungsentwicklung. Aber trotzdem kann man sich das Leben an vielen Stellen einfacher machen.

Eine vollständige Beschreibung der Installation jedes einzelnen Softwarepaketes würde den Rahmen dieser Seiten bei weitem sprengen und so muß ich auf die meist exzellente Dokumentation der jeweiligen Projekte verweisen.

Java Development Kit - JDK

Es gibt zwar Teil-Alternativen zu Suns JDK, allerdings führt an diesem faktisch kaum ein Weg vorbei, da die meisten Projekte über die Fähigkeiten der Ersatzprogramme und -bibliotheken hinausgehen und darüberhinaus auf Bibliotheken von Drittanbietern basieren, die ihrerseits wieder die Fähigkeiten eines bestimmten JDK erfordern. Und schon bei Sun selbst gibt es eine Versionsvielfalt, die die Entscheidung nicht immer leicht macht.

Die Grundlage aller anderen ist die Sun Java Standard Edition (SE). Will man zusätzlich Unternehmensanwedungen entwickeln braucht man noch die Erweiterungen Enterprise Edition (EE) und für mobile Geräte wie PDA und Handy noch die Micro Edition (ME). Die gängigen Abkürzungen sind Java SE, Java EE und Java ME. We Java lernen will ist aber erst einmal mit der J2SE bestens bedient

Aber nun geht es weiter: Ab der Version 1.2 spricht man von "Java 2" und diese Bezeichnung war bis zur Version 1.4.2 gültig, welche wiederum mit dem Java EE 2 korrespondiert. Diese Versionen sind in Unternehmensanwendungen bis heute die am häufigsten benutzten. Mit der Version 1.5 wurde Java in "Java 5" umbenannt und dieser Versionssprung im Namen war durchaus gerechtfertigt. Nachdem die Sprache vorher im wesentlichen erweiterte Bibliotheken bekam, wurde sie mit Java 5 zum ersten Mal in ihrem Grundumfang stark erweitert und bekam neue Fähigkeiten. Die aktuelle Version ist allerdings Java 6 und ganz neu ist auch Java EE 3. Beide zusammen machen die Entwicklung komplexer Unternehmensanwendungen erheblich einfacher, sind aber nicht nur in diesem Bereich optimiert. Java 6 ist noch einmal schneller als Java 5 geworden, welches in den meisten Bereichen schon mit nativen Anwendungen konkurrieren konnte, hat neue Möglichkeiten des Datenzugriffs und Erweiterungen im Bereich Desktop-Anwendungen bekommen. Insgesamt eine runde Sache.

Wenn man mit Java neu beginnt, sollte man auf jeden Fall gleich mit Java 6 beginnen.

Informationen und Download hier

Entwicklungsumgebung - IDE

Eine der besten Erfindungen seit wir das Feuer benutzen sind Integrierte Entwicklungsumgebungen, auf Englisch Integrated Develupment Enviroment, kurz IDE, welche dem Programmierer das Leben so leicht wie möglich machen. Schon die frei erhältlichen Umgebungen Netbeans und Eclipse unterstützen mit genialen Hilfen bei der Codeeingabe, beim Refactoring, also dem Umbau der Projektstruktur, bei der Projekt- und Versionsverwaltung, der Dokumentation, den Tests usw. usf. Man muß schon eine ausgeprägt masochistische Ader haben, wenn man weiterhin darauf besteht mit einem einfachen Texteditor und dem Compiler auf der Kommandozeile zu arbeiten, wie dies in manchen "Einsteigerbüchern" leider immer noch steht.

Die meines Erachtens besten Entwicklungsumgebungen sind:

Kostenlos:

Kostenpflichtig:

Mit welcher man arbeitet hängt vor allem von den persönlichen Vorlieben ab. Eclipse und etwas weniger auch Netbeans haben eine große Community, die auch Erweiterungen entwickelt, sind aber etwas behäbig. JDeveloper arbeitet zwar auch mit allen anderen Datenbanken und Erweiterungen zusammen, ist aber schon auf Oracles Produkte zugeschnitten und bietet hier erhebliche Hilfen und Erleichterungen. IDEA kostet zwar Geld - und nicht wenig - nichtsdestotrotz ist diese IDE unter Profis weit verbreitet, weil sie gerade bei den professionellen Features in Punkto Vielfalt und Geschwindigkeit die Nase vorn hat.

Buildhilfen

Eine Buildhilfe steuert den gesamten Prozeß der Programmerstellung, der bei größeren Projekten mehr umfaßt, als nur den Quellcode zu compilieren. Je nach Art der erstellten Programme werden alle benötigten Bibliotheken, Konfigurationsdateien, Hilfsdaten etc. zusammengepackt und z.B. zu einem installierbaren Archiv zusammengestellt, es können Teilaufgaben ausgeführt werden, Datenbanken erstellt und mit Testdaten gefüttert werden und nicht zuletzt können auch Testumgebungen erstellt und automatisiert ausgeführt wertden. Es gibt einiges in diesem Bereich, aber die bekanntesten sind ohne Zweifel

Apache Ant - Hier herunterladen

und

Apache Maven - Hier herunterladen

Man sollte sich auf jeden Fall beide herunterladen und installieren, da sehr viele Open Source Projekte eine der beiden benutzen. Maven ist zwar etwas komplizierter in der Einarbeitung, aber dafür auch in der Lage z.B. benötigte Bibliotheken automatisch aus dem Internet herunterzuladen.

Versionsverwaltungen

Eine Versionsverwaltung wie Subversion dient dazu, mehrere Versionen z.B. der Quellcodes eines Softwareprokektes vorhalten, vergleichen und verwalten zu können. Für Windows empfiehlt sich zusätzlich die Installation von TortoiseSVN, einer graphischen Oberfläche für Subversion, welche sich auch bequem in den Explorer einklinkt und falls man sich für Eclipse als IDE entschieden hat, auch noch die Installation von Subclipse, einem Subversion-Plugin für Eclipse, welches die Bedienung vereinfacht. Die Links zum herunterladen:

Neben Subversion ist aber auch CVS (Concurrent Version System) noch weit verbreitet. Man sollte es auch installieren, da viele Sites noch darauf setzen, obwohl die Tendenz im Open Source Bereich unübersehbar zu Subversion geht.
Für Windows sollte man auch noch Tortoise CVS herunterladen, welches ähnliche Funktionen wie Tortoise SVN bietet.