Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Alternativen für die Entwicklung von grafischen Oberflächen in Java GI-Regionalgruppenveranstaltung.

Ähnliche Präsentationen


Präsentation zum Thema: "1 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Alternativen für die Entwicklung von grafischen Oberflächen in Java GI-Regionalgruppenveranstaltung."—  Präsentation transkript:

1 1 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Alternativen für die Entwicklung von grafischen Oberflächen in Java GI-Regionalgruppenveranstaltung Bremen/ Oldenburg 4. Dezember 2001 Jens Dibbern, EMPRISE Software + Consulting GmbH Hamburg

2 2 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Timeline IBM Standard Widget Toolkit (SWT) MS.NET Framework JDK 1.0 mit dem Abstract Windowing Toolkit (AWT)MS Application Foundation Classes (AFC)Sun Java Foundation Classes/Swing (JFC) MS Windows Foundation Classes (WFC)

3 3 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Abstract Windowing Toolkit (AWT) Der Beginn von grafischen Oberflächen in Java kleinster gemeinsamer Nenner der unterstützten Plattformen sehr geringer Umfang (Button, Checkbox, Choice, Label, List, TextArea, TextField)

4 4 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Application Foundation Classes (AFC) Microsofts erste GUI Klassenbibliothek für Java Basierend auf dem JDK 1.1 plattformunabhängig ausgeliefert mit jeder MS Java VM seit dem Internet Explorer 4 Unterstützung durch Borland und Metrowerks angekündigt

5 5 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Windows Foundation Classes (WFC) Microsofts zweite GUI Klassenbibliothek für Java fokussiert auf Microsoft Windows verbunden mit der Microsoft Java VM

6 6 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Java Foundation Classes (JFC/Swing) Von Sun für das JDK 1.1 nachgeliefert Bestandteil der Java 2 Plattform aufwendig gestaltet mit Pluggable Look & Feels unterstützt von den meisten Entwicklungsumgebungen

7 7 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Aufbau von Swing Java Virtual Machine Betriebssystem Swing AWT Anwendung

8 8 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Ablauf beim Erzeugen einer Schaltfläche (Swing) JButtonUI ManagerUI DefaultsDelegate Konstruktor getUI(button) getClassID() returns createUI() setUI(delegate) installUI(button)

9 9 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Swing Widgets

10 10 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH IBM Standard Widget Toolkit (SWT) Bestandteil des Eclipse Projekts Basis für zukünftige Entwicklungsumgebungen von IBM plattformunabhängige API - plattformabhängige Implementierung Open Source Software

11 11 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Aufbau von SWT Java Virtual Machine Betriebssystem JFace SWT Anwendung SWT Shared Library

12 12 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Ablauf beim Erzeugen einer Schaltfläche (SWT) Dies ist plattformabhängig! Im Konstruktor wird über das Java Native Interface (JNI) die systemspezifische Abbildung einer Schaltfläche erzeugt. Der Quellcode ist offengelegt, aber nur von erfahrenen Entwicklern für die jeweilige Plattform nachvollziehbar.

13 13 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH SWT Widgets

14 14 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Microsoft J# und das.NET Framework Bestandteil von Microsofts.NET Initiative Java Syntax & API auf dem Stand des JDK Nutzt weder Java Bytecode noch eine Java Virtual Machine Last but not least: This is preliminary documentation and subject to change.

15 15 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Aufbau von J# und dem.NET Framework Common Language Runtime Betriebssystem Anwendung Framework Class Library

16 16 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Ablauf beim Erzeugen einer Schaltfläche (J# &.NET) Dies ist nicht nachvollziehbar, da der Quellcode nicht offengelegt wird. Die Annahme eines ähnlichen Ablaufes wie beim SWT wirkt plausibel - große Teile der Framework Class Library werden in C bzw. C++ codiert und in Intermediate Language (MSIL) übersetzt sein.

17 17 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH.NET Widgets

18 18 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Was bedeutet Performance für uns Ausführungsgeschwindigkeit Laufzeit beim Starten Hauptspeichernutzung Skalierbarkeit wahrgenommene Leistung

19 19 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Ein paar Worte zur Ergonomie Einfache und natürliche Dialoge Sprich die Sprache des Benutzers Belaste das Gedächtnis wenig Sei konsistent Gib Rückmeldungen Klar gekennzeichnete Ausgänge Stelle Abkürzungen zur Verfügung Liefere gute Fehlermeldungen Beuge Fehlern vor

20 20 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Vor- und Nachteile von Swing +Ausführliche Dokumentation +Breite Unterstützung durch Softwareindustrie +Quellcode verfügbar -aufwendige, teure Architektur -Nachbildung plattformspezifischer Eigenschaften

21 21 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Regeln für die Benutzung von Swing Verstehen & benutzen Sie das verwendete MVC Paradigma Default Renderer sind nicht auf Ihre Anwendung abgestimmt Verstehen Sie & arbeiten Sie mit Threads Ein Profiler kann helfen! Das JDK 1.4 hoffentlich auch?

22 22 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Wann setze ich Swing in Projekten ein? Jetzt Wenn andere Klassenbibliotheken nicht in Frage kommen

23 23 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Vor- und Nachteile von SWT +Effiziente, schnelle Architektur +Open Source Software +Referenzprojekt im Quellcode mitgeliefert -mangelnde Dokumentation -Plattformabhängigkeit

24 24 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Regeln für die Benutzung des SWT If you created it, you dispose it. SWT Klassen belegen im Konstruktor Systemressourcen, die explizit freigegeben werden müssen. Disposing the parent disposes the children. Abhängige Objekte werden implizit freigegeben.

25 25 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Wann setze ich SWT in Projekten ein? Wenn das Projekt den Einsatz von SWT demonstrieren soll Wenn über Personal mit SWT Erfahrung verfügt wird Wenn die Unterstützung von anderen Systemen als Windows oder Linux nicht benötigt wird

26 26 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Vor- und Nachteile von J# &.NET +Enge Integration in die Windows Plattform +Hochwertige Entwicklungsumgebung verfügbar -Plattformabhängigkeit -Proprietäre Laufzeitumgebung -Keine Unterstützung der Java 2 Plattform -kein RMI

27 27 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Regeln für die Benutzung von J# &.NET Es gibt keine Regeln. Das nächste Beta Release ist Dein Feind. Das erste Final Release ist Dein Freund.

28 28 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Wann setze ich J# &.NET in Projekten ein? Wenn ein reiner Windows Client benötigt wird Wenn Kenntnisse der Java Syntax vorhanden sind Wenn die Gesamtstrategie auf MS.NET geändert wird Wenn keine Enterprise Java Beans integriert werden Nicht vor dem Final Release von Visual J#

29 29 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Fazit Ich hätte gerne eine Java Klassenbibliothek mit der Swing API, die direkt in das jeweilige Betriebssystem integriert ist, eine standardkonforme Java Virtual Machine voraussetzt, vorbildlich in Englisch und Deutsch dokumentiert ist, mindestens MS Windows, Apple Mac OS X, Linux & Solaris unterstützt, sowie eine entsprechende Entwicklungsumgebung mit leistungsfähigem Maskendesigner.

30 30 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Quellen Swinghttp://java.sun.com/products/jfc/ Eclipse J# &.NEThttp://msdn.microsoft.com/visualj/jsharp/beta.asp Jürgen Schlierf, Rudolf Weber: Programmieren mit Swing, Carl Hanser, 1999 David Flanagan: Java Foundation Classes in a Nutshell, OReilly, 2000


Herunterladen ppt "1 © 2001, Jens Dibbern, EMPRISE Software + Consulting GmbH Alternativen für die Entwicklung von grafischen Oberflächen in Java GI-Regionalgruppenveranstaltung."

Ähnliche Präsentationen


Google-Anzeigen