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 GmbHhttp://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
JavaRIA
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...
*DOMHTML5 Chrome Firefox Safari Opera
canvas
Vic Gundotra
Google IO Keynote
video
geolocation
appcache
database
workers
HTML 5 here and nowWahl-O-Mat?
Fail fast, fail
early Politische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI KomponentenPolitische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI Komponentenhttp://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 SpezifikationWEB Standards Java EE Standards
klassische
dynamische
RIAs
Webanwend
ungen
There is a kind of magicGWT & Standards
cloud
HTML5
IE6
IE10
IE9
HTML4
JS
Support
Websphere
5... 6... 7...
Mobile
ZukunftsicherheitGewä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 KomponentenBrowser 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 WebanwendungenBrowser 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 shifthttp://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 Komponentenweder 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 KomponentenData-Binding/ Validierung Navigation
Request-Response Modell
JSF macht VorgabenKonzepte aus Rich-Client-Entwicklung übernehmen
Vorgaben müssen erst definiert werden
GWT eher wenigerWomit 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 angebrachtPolitische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI KomponentenWebtechnologien & 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 angebrachtProgrammiermodell und
Software-Engineering?
Facelets (XML)
Java GWT JSF HTML
JavaProgrammiermodell 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 KomponentenGWT JSF
Sonstiges...
GWT JSF
Rollentrennung Designer/ Java
schnelleres, umkompliziertes debugging Entwickler besser umsetzbar
bessere Composite
Komponentenbildung (Typisierung Breite Toolingunterstützung über
möglich) mehrere IDEsWeb-
entwicklung
ist ein
Hürdenlauf
über
TechnologiebrücheFachanwendung
Fachanwendungsframework
Generisches Webframework
Produktivitätsgewinn durch
SpezialisierungPolitische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI KomponentenTeambedingt
Rich Client Webapp
Frameworks Frameworks
umfangreicher
komplexer
ungewohntLernkurve 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 KomponentenbibliothekPolitische Kriterien
Architektur
Laufzeitumgebung
Programmiermodell
Software-Engineering
Produktivität
Notwendige Skills
UI KomponentenUI 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