VOICE Homepage: http://de.os2voice.org |
[Newsletter Inhalt]
|
Von: Isaac Leung ©Mai 2001 Übersetzung: Heribert Bieler |
Simplicity ist eine IDE (Integrierte Entwicklungsumgebung) programmiert in 100% reinem Java. Also, dies bedeutet, es läuft auf jeder Plattform, die eine gute JVM (Java Virtual Machine) enthält. Sie behaupten, dies sei der "einfachste Weg zur Erstellung von Java Applets und Anwendungen". Es wird in einer regulären und einer professionellen Version geliefert, wobei die professionelle Version einige Eigenschaften zur leichteren Entwicklung von Datenbankanwendungen und serverseitigen Applets besitzt. Ich habe die reguläre Version gekauft, da ich die Zusatzfunktionen nicht benötige.
Diejenigen von Ihnen, die hoffen, von diesen Aussagen enttäuscht zu sein werden enttäuscht sein: Es wird diesen Ansprüchen schlichthin gerecht und ist eines der Produkte, die so arbeiten, wie es in der Werbung beschrieben wird.
Also, wie ist Simplicity, das in der Tat in Java für Java geschrieben wurde ? Wird es einigermaßen zufriedenstellend auf einer Durchschnittsmaschine funktionieren ? Dies ist meine hauptsächliche Entwicklungsmaschine:
Die Installation ist simpel für OS/2, vielleicht sogar die einfachste. Unzippen Sie in das Verzeichnis Ihrer Wahl. Ein kurzes Skript ist vorhanden um ein Symbol für die Arbeitsoberfläche zu erstellen, aber das ist natürlich optional. Und, ähhh, das ist es.
Das WIN32 Paket wird mit einer ausführbaren Datei geliefert, die InstallShield für Java benutzt. Raffiniert ? Vielleicht. Aber einfach? Nicht notwendigerweise. Jedenfalls nicht in meinem Fall. Das erste Mal war in Ordnung, aber als es ans Upgrade, de-installieren oder Verschieben des Originalverzeichnisses ging , Autsch! Es deinstallierte nicht korrekt bzw. vollständig. Dann konnte ich das Upgrade nicht installieren, dann nicht das Original in einem anderem als dem ursprünglichen Verzeichnis (dem der ersten installation) installieren. Alles was wirklich gemacht werden muß, ist, die Dateien irgendwohin zu entpacken und ein kurzes Start-Skript zu schreiben.... also sollte man doch meinen, der Installer wäre in der Lage, korrekt zu Installieren bzw. Deinstallieren. Besonders wenn etwas so einfach ist wie diese Sache.
Ich würde für jeden das Herunterladen der Gratis-Testversion und die Absolvierung des Tutorials empfehlen. Was ich Ihnen in Worten oder Bildschirmabbildungen beschreiben kann, ersetzt diese Praxis nicht! Sie müssen es wirklich selbst ausprobieren oder eine life Demo davon sehen um die Leichtigkeit wertschätzen zu können, mit der man mit der Software arbeiten kann.
Wenn Sie mit einem neuen Projekt im Composer starten, sehen Sie zunächst ein leeres Fenster. Die erste Sache, die höchstwahrscheinlich ansteht, ist der Entwurf des Layouts Ihrer Anwendung. Gehen Sie einfach zur Objektpalette, wählen Sie dann das Layout Ihrer Wahl und lassen es in das leere Fenster "fallen".
Danach fügen Sie Text Labels, Knöpfe, Checkboxen hinzu, was immer Sie wollen. Die Basiskomponenten werden über die Objektpalette bereitgestellt, wie Sie in der Abbildung unten sehen. Alle diese Dinge können Sie einfach auswählen und in Ihr Layout fallen lassen. Es sollte darauf hingewiesen werden, daß alles im Layout und der Basispalette Standard Java Objekte sein sollten, mit einigen Ausnahmen (siehe meine Nörgelei weiter unten). All die anderen Karteikarten sind Extras, also Beigaben, die Simplicity zu Ihrer Bequemlichkeit erzeugt hat. Wenn Ihre Anwendung auf diese Dinge aufbaut, müssen Sie also das .JAR file von Simplicity mit bereitstellen.
Alles was Sie hinzufügen (sogar das Layout selbst) bekommt einen Objektnamen, den Sie natürlich ändern können. Diese sind im wesentlichen Variablennamen (hey, Java ist objektorientiert ok?) und Sie sollten diese Namen zu etwas sinnvollem ändern. Wenn Sie eine Menge solcher Komponenten in Ihrer Anwendung haben, sind sie manchmal nicht sichtbar, so daß der einzige Weg ein Objekt zu selektieren über die Drop-Down Box des Composerfensters führt. Sie haben einen Fehler gemacht ? Kein Problem. Sie können die Komponente einfach anklicken, gehen zum Composer-Fenster und klicken den "Recycle" Knopf. Falls Sie diese Objekte erneut benutzen wollen, finden Sie sie alle auf der "Recycled" Karte der Objektpalette wieder.
Schauen sie in das Composer Fenster: Dort sind anfänglich 3 Karten für jedes Objekt. Eine steht für den Typ des Objektes, Sie können es also umbenennen und andere Eigenschaften ändern. Die nächste Karte trägt den Titel "Visual", und ermöglicht es, wie der Name vermuten läßt, die visuellen Objekteigenschaften zu ändern, also z. B. Schriftart, Farbe, usw. Die einzig übriggebliebene Karte ist beschriftet "Listeners"... und das ist alles was Sie beim Start wissen müssen.
Meistens wollen Sie es nur mit Knöpfen oder Menüs zu tun haben, also klicken Sie einfach die Checkbox "Listen for Action events". Dies fügt einfach eine zusätzliche Karte beschriftet "Action" hinzu. Wenn Sie andere Checkboxen anklicken, werden natürlich entsprechend andere Karten hinzugefügt.
Betrachten sie einmal diesen ganzen Code. Er entstammt dem "Lade"-Knopf meiner Anwendung, der einen Dateidialoges aufruft, nach einem Dateinamen fragt das Ergebnis in einer Variablen ablegt. Schon beunruhigt? Na ja Sie sollten es nicht sein! Einfach deshalb, weil Ich nichts davon geschrieben habe ! Okay, um ehrlich zu sein, ich entschied mich einen Variablennamen zu ändern, der Punkt ist jedoch, daß ich es nicht selbst machen musste. All dies war das Ergebnis eines magischen, farbigen "Code Sourcerer" Knopfes. Es ist ein Programm Assistent, der Sie durch alles führt bis zum Code generieren.
Wieviel Arbeit war es? Wieviel Programmierarbeit? Ich musste ca. 135 Zeilen nutzlosen Code schreiben, der Großteil davon waren überwiegend write-Anweisungen und Variablenvereinbarungen. Das war's. Warum unnötig? Weil ich der Ansicht bin, es ist eben einfacher Code zu schreiben als durch den Code Sourcerer (Quellersteller) zu gehen. Die Sache ist die: Ich *muss* nicht so viel Code schreiben. Bei Benutzung von Code Sourcerer ist die Zahl der Zeilen, die ich schreiben muss, wesentlich geringer als 135. Code Sourcerer macht die ganze Arbeit für Sie.
Und das ist eines der großartigsten Teile dieser Software. Simplicity hilft mir, wenn ich es nötig habe. Aber wenn nicht, kann ich dies umgehen und springe direkt da in den Code hinein, wo ich Modifikationen anbringe, und gehe dann zurück in die visuelle Entwicklungsumgebung, wenn es nützlich ist.
Meine erste Nörgelei betrifft die drop-down Box, die für die Auswahl von Objekten im Composer Fenster zuständig ist. Sie scheint in der Reihenfolge der erzeugten Objekte sortiert zu sein. Das geht in Ordnung für eine kleine Anwendung mit 10-15 Objekten, aber für eine große Anwendung ist eine alphabetische Sortierung notwendig ! Ich habe dies gegenüber Data Representations erwähnt, und sie haben zugestimmt, daß dies ein Problem sei; sie würden dies für die Zukunft berücksichtigen.
Eine zweite Unannehmlichkeit ist, daß Sie die "drag und drop" Dinge nicht frei in der Anwendung bewegen können. Wenn Sie sich zum Beispiel entscheiden, den "Load" Knopf unten und nicht oben auf dem Fenster zu haben, können Sie ihn nicht einfach aufnehmen und bewegen, sogar wenn sie Platz in Ihrem Fenster haben. Der einzige Weg das zu bewerkstelligen ist das "Recyclen" dieses Objektes. Danach gehen Sie zur "Recycled" Teileliste, nehmen es dort auf und lassen es an der gewünschten Stelle wieder fallen.
Einige der Layout-Dinge und Objekte sind nicht JAVA-Standard, sondern von Data Representations extra erzeugte Objekte, die mit Simplicity zusammengepackt wurden. Diese sind wirklich nützlich, aber die Sache ist, dass der Code dafür nicht in dem vom Endanwender erzeugten Code (also in dessen Anwendung) enthalten ist. Er befindet sich nämlich komplett in der .JAR Datei von Simplicity. Das ist solange kein Problem, wie es sich um eine eine serverseitige Anwendung handelt, aber wenn Sie diese als Stand-Alone (separate) Anwendung verteilen wollen, ist es etwas problematisch. Es ist Ihnen - nach Aussage von Data Representations - freigestellt, diesen Code zu verteilen, aber anstelle eines Installationsskripts oder Anweisungen, die einfach Ihre Anwendung ausführen, müssen Sie sicher sein, dass die .JAR Datei in den entsprechenden Pfaden enthalten ist. Oder Sie müssen die Rechnerumgebung des Benutzers ändern.
Nun, dies wäre nicht so schlimm, wenn die Objekte des JAVA-Standards in offensichtlichen Gruppen organisiert wären. Aber so ist es eben nicht. Alle Komponenten zum Layout und den Basisobjekten sollten Standard sein, aber einige sind es nicht. Also graben Sie sich entweder durch die Java Dokumentation oder Sie gehen nach dem Zufallsprinzip vor: Was ist Standard und was nicht. Um ihre Ehre zu retten muß ich dazu sagen, daß ich mit Data Representations gesprochen habe und man mir zugestimmt hat, daß das nicht schön ist. Bei einer zukünftigen Änderung wird das berücksichtigt.
Einer der üblichen Zusammenhänge - besonders bei Software - ist der zwischen der Leichtigkeit der Benutzung, der Mächtigkeit der Software und deren Flexibilität. Simplicity hat wirklich die Eigenschaft, leicht benutzbar zu sein, obwohl - natürlich - der Zugang zum Quellcode es genauso mächtig und flexibel macht wie jede anderes Entwicklungswerkzeug; von dem ich weiss. Aber trotzdem, ist das Ihre Absicht, würden sie wahrscheinlich EPM laufen lassen und keine von den visuellen Entwicklungsumgebungen benutzen. IBM's Visual Age für Java (VAJ) ist in etwa ein Konkurrenzprodukt. Dieses macht meiner Meinung nach bei der Benutzerfreundlichkeit einen Kompromiss zu Gunsten der Mächtigkeit. Es war meine Erfahrung, dass man mit VAJ sicherlich nicht einfach mit Java starten kann und es war eine grosse Freude mit Simplicity Java zu lernen. Jedoch, nachdem man die Basisdinge gelernt hat, und gelernt hat mit dem Code " eins zu sein", ist meiner Ansicht nach VAJ über Simplicity zu bevorzugen, jedenfalls für die komplizierteren Projekte.
Wie bereits früher erwähnt, geschieht die Installation unter Windows NT über den InstallShield für Java, der einiges umständlicher ist als das "unzip" installieren unter OS/2. Wie auch immer, der InstallShield Edition ist noch viel problematischer. Die OS/2 Installation ist leicht genug, so dass jeder, der etwas von Java Programmierung versteht, in der Lage sein sollte ohne Fehler folgen zu können. Ich habe festgestellt, das Sie auch unter Windows das unzippen durchführen können, aber hier zeigt sich die Java "Integration" in OS/2, die Sie einige Zusatzschritte sparen lasst, um die .CMD Datei fur Simplicity zu erstellen. Daumen hoch für OS/2 bei diesem Punkt.
Als ich das erste Mal Simplicity startete, habe ich es eigentlich lieber unter Windows NT als unter OS/2 getan, obwohl die Zeit zum Starten und das Laufen lassen unter OS/2 schneller ist. Warum ? Einfach wegen zwei nervenden Fehlern. Der eine war ein verschwindender Cursor im Texteditor Fenster. Das zweite Problem war ein schrecklich nervendes blinkendes Fenster, das jedesmal hochkam, wenn ich eines der Anwendungsfenster bewegt habe. Aber diese Probleme wurden bei den APAR's von IBM berücksichtigt (bei der JVM für OS/2) und folgende Fixes haben mit diesen Dingen aufgeräumt. So ist die einzige Sache, die jetzt zu sagen ist die, das Simplicity genauso gut unter OS/2 wie unter Windows NT läuft, aber es ist viel schneller unter OS/2. OS/2 gewinnt also beide Runden!
Simplicity war auf der PIII-600MHz Maschine so schnell, dass man kaum sagen konnte, ob es nicht eine native Anwendung ist und auf der PII-300MHz Maschine immer noch einfach genug fur Entwicklungszwecke zu benutzen, zumindest unter OS/2. (Und ich habe wirklich einige Teile einer Anwendung auf dieser Machine erstellt, da es mein bevorzugter laptop ist). Die P233MMX? Naja, wenn es erst mal geladen ist, ist es immer noch nutzbar, aber ich denke das ist das untere Ende, was ich noch akzeptieren würde. Wenn Sie ein wirklich grosses Projekt haben oder Sie lassen andere Programme im Hintergrund laufen, finden Sie es wahrscheinlich etwas langsam, um es für lange Zeit zu benutzen. Das ist aber in Wirklich der "Fehler" der JVM, Simplicity selbst ist dagegen eine der besseren Java Anwendungen, die mir begegnet sind.
Ich habe einiges über Simplicity gehört und konnte nicht verstehen, was dieses Getue darüber soll, bis ich es tatsächlich selbst ausprobiert habe und durch das erste Tutorial gegangen bin. Mir fehlen die Worte, zu beschreiben wie gut es arbeitet. Die Testversion kann man kostenlos herunterzuladen, holen Sie sich diese!
Quellenverzeichnis:
Hersteller:Data Representations |
Artikelübersicht
editor@os2voice.org
[Vorherige Seite ] [ Inhalt]
[Nächste Seite ]
VOICE Homepage:
http://de.os2voice.org