Hallo Tuxe, im Folgenden kurz das Wichtigste vom Lugrav-Treffen am 22.2.2007 in der Schule am Möllerstift in Brackwede : Als Hauptthema des Abends stellte Gerhard Genuit Eclipse als Entwicklungsumgebung für Rich Clients, konkret am Beispiel der Javaentwicklung, mit konkreten Beispielen vor. Damit griff er inhaltlich einen früheren seiner Vorträge wieder auf, in dem er Java als Entwicklungsumgebung für ein Projekt im Umweltamt der Stadt Bielefeld vorgestellt hatte. Die Anwesenden am Donnerstagabend waren aufgefordert, auch während des Vortrages Hinweise zur Gestaltung der Impressfolien zu geben, da Gerhard den Vortrag auch während der Linuxtage in Chemnitz am ersten Märzwochenende halten möchte. Zunächst stellte er noch einmal kurz Java als eine plattformunabhängige, objektorientierte, teils kompilierte und teils interpretierte Sprache vor, deren Zielumgebung letztendlich die Java Virtual Machine ist, die dort relativ sicher in einer Sandbox läuft und auf diese Weise eine Unabhängigkeit gegenüber dem zugrundeliegenden Betriebssystem gewinnt. Bei der Entwicklung von Java stand letztendlich C++ mit Pate, man versuchte aber, Probleme dieser Sprache zu vermeiden, die etwa mit der Speicherverwaltung auftreten. So verwendet Java keine Zeiger, auch ist der Entwickler von der Aufgabe befreit, von ihm selbst geschaffene Objekte im Speicherraum zerstören zu müssen, was, wenn dies nicht hinreichend geschieht, zum Speicherüberlauf führen kann. In Java werden Objekte vom Garbage Collector beseitigt. Nicht zuletzt ist Java seit Ende des Jahres 2006 Open Source ; damit hat die Schöpferin der Sprache, die Fa. Sun, wiederholten Bitten und Aufforderungen der Open Source Community nachgegeben. Gerhard spielte kurze Videosequenzen von Sun's Webseite ein, in denen jeweils Richard Stallman und Mark Shuttleworth die Bedeutung dieses Schrittes für die Open Source-Bewegung, aus leicht unterschiedlichem Blickwinkel, deutlich hervorheben. Als Entwicklungsumgebung gerade für Java hat sich in den letzten Jahren Eclipse durchgesetzt, das, in englisch-wortmalerischer Anspielung auf den Schöpfer von Java , Sun ( Sonnenfinsternis = eclipse vs. Sonne = sun ) einen Marktanteil von 70 % bei den Java-IDE's ( Integrated Development Environments ) erreicht habe. Die Umgebung ist Nachfolger von IBM Visual Age ; es wurde von und bei IBM entwickelt und ist seit November 2001 Open Source. Dies führte zu einer Diversifizierung der Entwicklerprovenienz, die Hälfte sitzt bei IBM, die andere Hälfte verteilt woanders. Gerhard wies darauf hin, dass Eclipse keineswegs nur eine Umgebung für Java ist. Seit der Version 3 ist der Kern von Eclipse so reduziert, dass man sich über Plugins auch Umgebungen für andere Programmiersprachen, aber auch für Programme wie Azureus schaffen kann. Wer Eclipse zur Javaentwicklung einsetzen möchte, muss zunächst Java installieren. Dies kann die "Original"-Sun-Java-SDK sein, letztendlich ist dies aber nicht Bedingung. Danach wird Eclipse installiert, von welcher Installationsquelle auch immer , und entsprechend gestartet. Dann sieht man , auf eine letztendlich grafisch im Einzelnen konfigurierbare Art und Weise, ein Zentralfenster mit mehreren umgebenden, daran unmittelbar angedockten weiteren Fenstern, den "Views" , während das zentrale Fenster den Editor darstellt. Eclipse ist selbst in Java geschrieben und verwendet eine grafische Weiterentwicklung der ursprünglich von Java stammenden Grafikumgebung Swing, das Standard Widget Tool (SWT). SWT ( eine Namensgebung, die offensichtlich auf die erste Grafikumgebung in Java, den AWT, anspielt ) zeichnet Fenster im Gegensatz zu Swing unter Rückgriff auf die Grafikroutinen des jeweiligen , zugrundeliegenden Betriebssystems. Damit wird die Geschwindigkeit gegenüber Swing sicher deutlich erhöht, dies wird aber mit einer Abhängigkeit vom jeweiligen Betriebssystem und damit letztendlich einem Verlust an Portabilität erkauft. Startet man Eclipse, so öffnet man einen "workspace launcher" und legt ein Projekt an. Dabei bietet Eclipse eine Fülle von u. a. grafischen Klassen an, die für die verschiedensten Verwendungszwecke geladen werden können und deren Code dann im zentralen Editor sichtbar wird. Gerhard führte eine ganze Reihe von "code snippets" zu unterschiedlichen Anwendungsbereichen vor; diese Snippets importieren letztendlich nicht nur Klassen der jeweiligen Javaimplementierung, sondern auch von IBM bzw. der Eclipse-Entwicklergemeinde beigesteuerte , so dass dem Entwickler eine Fülle von Basis - und vorgefertigten Klassen zur Verfügung steht. Durch Klick auf einen "Run as"-Button kann der jeweilig Code dann in eine .class-Datei übersetzt und gestartet werden. Letztendlich kann man natürlich auch sein eigenes Rich-Client-Projekt starten, indem man selbst im meist zentralen Editorfenster codiert. Gerhard führte am Beispiel des klassischen "Hallo Welt"- Programmes vor, welche Hilfestellungen Eclipse als IDE etwa bei Tippfehlern (system.out statt System.out ) anbietet. Damit haben Entwickler nicht nur die Möglichkeit, auf einen Satz vorgefertigter Lösungen zurückzugreifen, sondern werden auch syntaktisch bei ihrem eigenen Code unterstützt. Darüber hinaus gibt es die Möglichkeit, eigene Projekte zu exportieren. Man definiert ein entsprechendes Exportverzeichnis und hat dann auch durchaus die Möglichkeit, eine Klasse auf der Kommandozeile mit java <Klassenname> aufzurufen oder auch , wer mag, mit dem Suntool javap <Klassenname> zu dekompilieren. Bei der Darstellung der Möglichkeiten von Eclipse wurde darauf hingewiesen, dass es natürlich Alternativen zur Programmierung grafischer Oberflächen gibt. Hierzu müsste man bei dem in seiner Grundausstattung karg gehaltenen C++ entsprechende Libraries einsetzen, wie etwa Qt , oder aber mit Dot.NET-Sprachen arbeiten. Ralf Tiemann wies aus seiner Erfahrung darauf hin, dass man auch mit Visual Basic eine grafische Oberfläche gestalten könne, Volker Eckert verwies auf Gambas. Auch sei es mittlerweile über entsprechende Tools möglich, etwa in Visual Studio VB-Code in Javacode umzuwandeln. Gegen Ende seines Vortrages wies Gerhard noch auf Literatur zum Thema hin, insbesondere auf das aktuelle Ebook von Ullenbohm "Java ist auch eine Insel" oder auf das Buch "Java-Entwicklung mit Eclipse 3" von Berthold Daum. Vom gleichen Autor stammt auch, mit etwas anderer inhaltlicher Schwerpunktsetzung, "Rich-Client-Entwicklung mit Eclipse 3.1". Wir können Gerhard nur ganz herzlich für diesen sehr interessanten Vortrag danken und darauf verweisen, dass jeder Interessierte die Gelegenheit haben wird, mehr zum Thema während der Chemnitzer Linuxtage von Gerhard zu hören. Aus seiner beruflichen Arbeit zeigte Ralf Tiemann dann, wie er mit Visual Basic 2005 Express Edition( keine zusätzlichen Kosten ! ) eine Benutzer- und Gruppenverwaltung firmenintern realisiert hat. Dabei bekamen wir Gelegenheit, entsprechenden VB-Code zu sehen. Ralf berichtete auch von den Schwierigkeiten, entsprechenden Code für die Verwaltung von Mailnutzern unter Exchange zu schreiben, weil dies selbst in umfänglicher Spezialliteratur nur stiefmütterlich behandelt werde. In seinem Programm hat Ralf eine grafische Oberfläche geschaffen, um Benutzer und Nutzergruppen aufzurufen. Im weiteren Verlauf sahen wir dann einen originellen britischen Comedy-Streifen über eine IT-Abteilung, den Volker Eckert auf mobiler Festplatte mitgebracht hatte. Letztendlich ging es um die Verwicklungen, die entstehen, wenn eine Frau ohne jede Computerkenntnisse unter Männern in einer ihr fremden, weil neuen Firma versucht, die Chefin einer IT-Abteilung zu mimen. In unserer traditionellen Frage-und-Probleme-Runde gelang es dann, ein DVD-Brennproblem unter Ubuntu zu lösen, das auf einem Rechner bestand , den Rudolf von einem Bekannten mitgebracht hatte. Letztendlich war die korrekte Rechtezuweisung für cdrecord und die gewissermaßen unvorbelastete Anwendung der von Ubuntu mitgebrachten Tools zum Brennen für die Lösung entscheidend. Ganz kurz wurde noch auf die bevorstehenden Linuxtage in Chemnitz am ersten Märzwochenende eingegangen. Einige aus der Gruppe werden hinfahren und sogar einen Vortrag halten, neben Gerhard auch Peter Voigt. Einigkeit bestand darüber, dass , nicht zuletzt vor dem Hintergrund der freiwilligen fast privaten Organisationsform, sich diese Veranstaltung nicht in der gleichen Liga befinden könne wie der Linuxtag früher in Karlsruhe oder dieses Jahr in Berlin, sie sich aber besonders durch ihre informelle und fast familiäre Atmosphäre auszeichne. Das nächste Treffen wird ein "Basteltreff" am zweiten Märzwochenende sein . Der turnusmäßige Donnerstagstreff in der Woche fällt aus, Genaues wird aber noch bekanntgegeben bzw. ist z.T. jetzt schon unter www.lugrav.de einzusehen. Ich hoffe, dass die wesentlichen Inhalte einigermaßen korrekt dargestellt sind, und bitte sonst natürlich um Eure Korrekturen und Kommentare. Macht's gut, bis bald! Ulrich
Teilnehmer (2)
-
RalfGesellensetter
-
Ulrich Rieke