Der GWT oder JSF Wahl-O-Mat
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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.
About Thomas Asel JSF-Geek Orientation in Objects GmbH GWT-Nerd Papick G. Taboada pgt technology scouting GmbH
http://www.cartoonjournal.de JSF, GWT?
Fear, Uncertainty and Doubt
GWT ist... kein Standard.
JSF ist... doch langsam! State-Saving, erster Aufruf, Server Ressourcen- verbrauch!
GWT ist... nur ein JS Toolkit.
JSF ist... ein 7 (8?) - Phasiges (Kopf) Monster (Drache)...
GWT ist... irgendwie doch gar nicht Java, oder? oder?
JSF ist... • problematisch wenn man mehrere • Bibliotheken „mischen“ will
GWT ist... doch Swing-Like, und Swing ist doch tot.
JSF ist... doch Swing auf dem Server! Swing ist doch...
Google ist böse!
Aber hallo. Oracle auch.
20:45 - 21:45
was bisher geschah
Erstellung eines Bewertungskatalogs für die Analyse eines geeigneten Webframeworks
? Was vergleichen wir?!?
verwendetes CSS? erzeugtes HTML? ? Dokumentation? Aussehen? API? Was vergleichen wir?!?
2.322 2.321 And the winner is?!?
Architekturvergleich
Prototypisierung ist gut
Aber, Prototyp mit Produktionscharakter?!?
Produkt oder Projekt?
Unsere Reise GWT Spring, … JSF, Eclipse RCP Swing, Struts, … Java EE Java
RIA Die Magie findet im Client/ Browser statt. JS als De-facto oder Quasi- Standard? RIA == JS Entwicklung?
Mehr RIA, mehr JS, weniger Java?
Fear browsers* with all of mind, body and spirit When in danger, when in doubt, run in circles cry and shout... *DOM
HTML5 Chrome Firefox Safari Opera canvas Vic Gundotra Google IO Keynote video geolocation appcache database workers HTML 5 here and now
Wahl-O-Mat?
Fail fast, fail early Politische Kriterien Architektur Laufzeitumgebung Programmiermodell Software-Engineering Produktivität Notwendige Skills UI Komponenten
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
Wo ist JSF Standard? Industriestandard • Java EE ist ein De-facto oder Quasi-Standard in der Entwicklung von unternehmenskritischen Anwendungen Standard • JSF Spezifikation ist Teil der Java EE Spezifikation
WEB Standards Java EE Standards klassische dynamische RIAs Webanwend ungen There is a kind of magic
GWT & Standards
cloud HTML5 IE6 IE10 IE9 HTML4 JS Support Websphere 5... 6... 7... Mobile Zukunftsicherheit
Gewährleistung Herstellerunabhängigkeit? Herstellersupport
gibts nicht.
JBoss Sencha Google (RichFaces) (GXT) GWT Prime Technology JSF (PrimeFaces) Isomorphic Software (Smart GWT) Icesoft Technologies (IceFaces) Blau oder Rot?
Politische Kriterien Architektur Laufzeitumgebung Programmiermodell Software-Engineering Produktivität Notwendige Skills UI Komponenten
Browser Server e ve n t l r espo nse fu l l h tm e ve n t l r espo nse fu l l h tm e ve n t esp onse full html r klassische Webanwendungen
Browser Server first reques t l respo nse fu l l h tm event event data reque st event data event data reque st data Ajax architectural shift
http://breganzane.com/blog/snfl.php (ifying) Ajax Webapps
http://breganzane.com/blog/snfl.php (ifying) Ajax Webapps
Architektur Evolution? • Reduzierung der Latenz • Reduzierung des Bandbreitenbedarfs • Reduzierung Ressourcenverbrauch Serverseitig • Verteilung der Last auf Clients •
Teil eines Ganzen?
Single-Page- Servlet, Einbettung in Prinzip HttpRequest GWT (JSON, XML) JSF Seite schwierig Statische Navigation JSF Runtime Resourcen Integration?
Politische Kriterien Architektur Laufzeitumgebung Programmiermodell Software-Engineering Produktivität Notwendige Skills UI Komponenten
weder JSF noch GWT machen Aussage zu Backend- Technologien
http://download.oracle.com/javaee/5/tutorial/doc/bnabo.html Nur ein Web-Container
In der Entwicklung aber... ist es bei GWT angenehmer das Backend im mitgelieferten Jetty starten zu können. Daher sind Spring-Backends sehr beliebt.
weblogic jboss websphere glassfish JSF & die „Fullstack“ Falle
Politische Kriterien Architektur Laufzeitumgebung Programmiermodell Software-Engineering Produktivität Notwendige Skills UI Komponenten
Data-Binding/ Validierung Navigation Request-Response Modell JSF macht Vorgaben
Konzepte aus Rich-Client-Entwicklung übernehmen Vorgaben müssen erst definiert werden GWT eher weniger
Womit will ich entwickeln? HTML Facelets (XML) CSS CSS JavaScript GWT HTML JSF JavaScript (für RIA) Java Java UI Binder (XML) Technologiebrüche werden Technologiebruch gehört vermieden 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
Webtechnologien & Software-Engineering ?!?
Lessons learned aus SE & Java Zu aufwendig? Unit Tests, OhneTooling Testabdeckung, CI geht nix Refactoring, Enwurfsmuster, ... Checkstyle, Findbugs, PMD IDE, Code-Completion, Starke Typisierung, Debugging Fail early?
Programmiermodell (wdh) HTML Facelets (XML) CSS CSS JavaScript GWT HTML JSF JavaScript (für RIA) Java Java UI Binder (XML) Technologiebrüche werden Technologiebruch gehört vermieden zum Programmiermodell Hier wäre eine Einführung in GWT und JSF angebracht
Programmiermodell und Software-Engineering? Facelets (XML) Java GWT JSF HTML Java
Programmiermodell und Software-Engineering? Technologiebrüche machen es schwieriger Facelets (XML) Java GWT JSF HTML Java Heimspiel...
Politische Kriterien Architektur Laufzeitumgebung Programmiermodell Software-Engineering Produktivität Notwendige Skills UI Komponenten
GWT JSF
Sonstiges... GWT JSF Rollentrennung Designer/ Java schnelleres, umkompliziertes debugging Entwickler besser umsetzbar bessere Composite Komponentenbildung (Typisierung Breite Toolingunterstützung über möglich) mehrere IDEs
Web- entwicklung ist ein Hürdenlauf über Technologiebrüche
Fachanwendung Fachanwendungsframework Generisches Webframework Produktivitätsgewinn durch Spezialisierung
Politische Kriterien Architektur Laufzeitumgebung Programmiermodell Software-Engineering Produktivität Notwendige Skills UI Komponenten
Teambedingt Rich Client Webapp Frameworks Frameworks umfangreicher komplexer ungewohnt
Lernkurve aus der Erfahrung
Know-How starke Weiterentwicklung, wachsende Themenbereiche Online Dokumentation Wissen in Blogs GWT Knappheit im Arbeitsmarkt wenige Schulungsanbieter Bücher grundsätzlich Beispiele & Javadocs theoretisch Arbeitskräfte Veraltet Wissen in Blogs am Markt… Stabil durch lange Releasezyklen JSF gute Bücher vorhanden viele Schulungsanbieter (Technologie) Dokumentation, Javadocs, Beispiele abhängig von der Komponentenbibliothek
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...
UI Komponenten Fazit? • Bei GWT baut man selber • bei JSF nutzt man 3rd Party Bibliotheken
Und jetzt?
K.O. Kriterium gefunden?
Wahl treffen.
Mehr von OIO zum Thema... Schulung: Einführung in GWT http://www.oio.de/google-web-toolkit-schulung.htm Schulung: JavaServer Faces http://www.oio.de/java-server-faces.htm Artikel: Überblick GWT - Google Web Toolkit http://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. 40 Google Web Toolkit: Webanwendungen mit GWT entwickeln http://www.oio.de/public/opensource/gwt/ google-web-toolkit.pdf Zeitschriften-Artikel aus dem Java Magazin 01/2009, S. 46 Love & Peace & JSF! http://www.oio.de/public/java/jsf-woodstock/ JM1.09_Love_Peace_JSF.pdf
Mehr von OIO zum Thema... Beratung zu Java Software Frameworks http://www.oio.de/beratung-consulting/open-source- software/java-frameworks/consulting-support-java- frameworks.htm Referenz: Rent-a-Team: After-Sales System für Automobilhersteller http://www.oio.de/object-rangers/referenzen/java- projekt-referenz-after-sales-jboss-soa-jsf.htm Referenz: Coaching: Expertenwissen JSF bei Arbeitsübergabe http://www.oio.de/referenzen/competence-center/ referenz-coaching-review-jsf-anwendung.htm
Sie können auch lesen