tschutschu.de fileBenutzeroberflächen mit JSF Nikola Topalovic Inhaltsverzeichnis 1 Einleitung.....2
Der GWT oder JSF Wahl-O-Mat · Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument...
Transcript of Der GWT oder JSF Wahl-O-Mat · Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument...
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Die Session stellt ein bereits mehrfach erprobtes Auswahlinstrument vor, mit dem man die prominenteste aller Short Lists von Webframeworks - JSF und GWT - für die eigenen Anforderungen qualifiziert entscheiden kann. Umgekehrt kann man das Instrument auch benutzen, um eine gute Begründung zu finden, falls man im Grunde seines Herzens die Entscheidung schon getroffen hat.
Thomas Asel
Orientation in Objects GmbH
GW
T-N
erd
JSF
-Ge
ek
Papick G. Taboada
pgt technology scouting GmbH
About
RIA == JS Entwicklung?
Die Magie findet im Client/ Browser statt.
JS als De-facto oder Quasi-Standard?
RIA
*DOM
Fear browsers* with all of mind, body and spirit
When in danger, when in doubt, run in circles
cry and shout...
HTML 5 here and now
Vic GundotraGoogle IO Keynote
HTML5 Chrome Firefox Safari Opera
canvas
video
geolocation
appcache
database
workers
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
Fail fast, failearly
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
http://de.wikipedia.org/wiki/ Proprietär
• Juristisch „urheberrechtlich geschützt“
• IT: Dinge, die nicht allgemein anerkannten Standards entsprechen („hauseigene Entwicklungen“)
• Freie-Software-Bewegung: alles was nicht frei (Lizenztechnisch) und Quelloffen ist.
http://de.wikipedia.org/wiki/ Standard
• De-facto- oder Quasi-Standards
• Industriestandard
• Herstellerspezifische Standards
• Offener Standard
• Java EE ist ein De-facto oder Quasi-Standard in der Entwicklung von unternehmenskritischen Anwendungen
• JSF Spezifikation ist Teil der Java EE SpezifikationStandard
Wo ist JSF Standard?
Industriestandard
Blau oder Rot?
GWTGoogle
Sencha (GXT)
Isomorphic Software (Smart GWT)
JSF
JBoss(RichFaces)
Prime Technology(PrimeFaces)
Icesoft Technologies(IceFaces)
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
klassische Webanwendungen
Browser Server
event
event
event
full html response
full html response
full html response
Ajax architectural shift
Browser Server
event
first request
full html response
data
data request
data
data request
event
event
event
Architektur Evolution?
• Reduzierung der Latenz
• Reduzierung des Bandbreitenbedarfs
• Reduzierung Ressourcenverbrauch Serverseitig
• Verteilung der Last auf Clients
•
Integration?
GWT JSFServlet,
HttpRequest (JSON, XML)
JSF RuntimeStatische
Resourcen
Navigation
Einbettung in Seite schwierig
Single-Page-Prinzip
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
In der Entwicklung
aber... ist es bei GWT angenehmer das
Backend im mitgelieferten Jetty starten zu können.
Daher sind Spring-Backends sehr beliebt.
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
GWT eher weniger
Vorgaben müssen erst definiert werden
Konzepte aus Rich-Client-Entwicklung übernehmen
Womit will ich entwickeln?
GWT JSF
Facelets (XML)HTML
JavaScriptCSS
Java UI Binder (XML)
HTMLJavaScript (für RIA)
CSS
Java
Technologiebrüche werden vermieden
Technologiebruch gehört zum Programmiermodell
Hier wäre die Einführung und GWT und JSF angebracht
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
Lessons learned aus SE & Java
Unit Tests, Testabdeckung, CI
Refactoring, Enwurfsmuster, ...
Checkstyle, Findbugs, PMD
IDE, Code-Completion, Starke Typisierung, Debugging
Zu aufwendig?
OhneTooling geht nix
Fail early?
Programmiermodell (wdh)
GWT JSF
Facelets (XML)HTML
JavaScriptCSS
Java UI Binder (XML)
HTMLJavaScript (für RIA)
CSS
Java
Technologiebrüche werden vermieden
Technologiebruch gehört zum Programmiermodell
Hier wäre eine Einführung in GWT und JSF angebracht
Programmiermodell und Software-Engineering?
GWT JSF
Facelets (XML)
Java HTML
Java
Technologiebrüche machen es schwieriger
Heimspiel...
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
Sonstiges...
GWT JSF
schnelleres, umkompliziertes debuggingRollentrennung Designer/ Java Entwickler besser umsetzbar
bessere Composite Komponentenbildung (Typisierung
möglich)
Breite Toolingunterstützung über mehrere IDEs
Produktivitätsgewinn durch Spezialisierung
Fachanwendung
Fachanwendungsframework
Generisches Webframework
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
Know-How
GWT
Bücher grundsätzlich Veraltet
Online Dokumentation
Beispiele & Javadocs
JSF
Wissen in Blogs
Wissen in Blogs
gute Bücher vorhanden
Dokumentation, Javadocs, Beispiele abhängig von der Komponentenbibliothek
starke Weiterentwicklung, wachsendeThemenbereiche
Stabil durch lange Releasezyklen
wenige Schulungsanbieter
viele Schulungsanbieter (Technologie)
Knappheit im Arbeitsmarkt
theoretisch Arbeitskräfte am Markt…
Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponenten
UI Komponenten
• Komponentenvergleich ist eine Momentaufnahme, versionsabhängig
• Keine sinnvolle Metrik für den Vergleich von Checkboxen
GWT bietet sehr wenig…
• GWT Komponenten vergleichbar mit JSF RI Komponenten
• GWT Komponentenbibliothek sehr schlicht
• Existierende (3rd Party) Komponentenbibliotheken erzeugen mehr Probleme als sie lösen
… dafür bietet GWT
• Einfache UI Komponenten (HTML Set)
• Tab-Panels, Accordeon
• Datenhaltungskomponenten (Cell-Widgets)
JSF Komponentenbibliotheken
• Haben langsam aber sicher die JSF 2.0 Spezifikation erreicht
• Bieten umfangreiche Komponenten
• Eigenes Wahl-O-Mat notwendig...
Mehr von OIO zum Thema...
Schulung: Einführung in GWThttp://www.oio.de/google-web-toolkit-schulung.htm
Schulung: JavaServer Faces http://www.oio.de/java-server-faces.htm
Artikel: Überblick GWT - Google Web Toolkithttp://www.oio.de/public/opensource/ueberblick-gwt-google-web-toolkit-2-artikel.htm
Mehr von OIO zum Thema...
Artikel: JSF Best Practices (englischer Artikel)http://www.oio.de/public/java/jsf-best-practices-javaserver-faces-session-tips.htm
Zeitschriften-Artikel aus dem Eclipse Magazin Vol. 14, S. 40Google Web Toolkit: Webanwendungen mit GWT entwickelnhttp://www.oio.de/public/opensource/gwt/google-web-toolkit.pdf
Zeitschriften-Artikel aus dem Java Magazin 01/2009, S. 46Love & Peace & JSF!http://www.oio.de/public/java/jsf-woodstock/JM1.09_Love_Peace_JSF.pdf
Mehr von OIO zum Thema...
Referenz: Rent-a-Team: After-Sales System für Automobilherstellerhttp://www.oio.de/object-rangers/referenzen/java-projekt-referenz-after-sales-jboss-soa-jsf.htm
Referenz: Coaching: Expertenwissen JSF bei Arbeitsübergabehttp://www.oio.de/referenzen/competence-center/referenz-coaching-review-jsf-anwendung.htm
Beratung zu Java Software Frameworkshttp://www.oio.de/beratung-consulting/open-source-software/java-frameworks/consulting-support-java-frameworks.htm