GWT-Entwicklung ist Rich-Client-Entwicklung, und das ist für viele Webentwickler neu. Mit den "Lessons Learned" aus der Entwicklung von Google AdWords wurden Architekturmuster für GWT-Anwendungen vorgestellt. Einiges davon ist inzwischen in GWT gelandet und kann sofort eingesetzt werden. In diesem Vortrag werden Architekturmuster vorgestellt, die in den letzten Jahren in einigen Projekten erfolgreich eingesetzt wurden.
9. + testability!
+ maintainance!
+ product development
Architecture shift
Web applications
Model 2 web applications
Rich internet applications
10. !
eb t
w en
sic pm
as lo
cl ve
de
Server
Browser
user action
e
ons
html resp
full
user action
po
l html res
ful
nse
user action
po
l html res
ful
nse
11.
eb ent
w
IA pm
R lo
ve
de
Server
Browser
first reques
t
e
l respons
full htm
event
event
event
data reque
st
data
event
data reque
data
st
15. TextBox t0 = new TextBox();
TextBox t1 = new TextBox();
TextBox t2 = new TextBox();
TextBox t3 = new TextBox();
TextBox t4 = new TextBox();
VerticalPanel...
SplitPanel...
ScrollPanel
RootPanel.get().add(mainPanel);
25. HTML 2.0
November 1995
HTML 4.0 update
April 1998
HTML 4.0.1
Dez 1999
CSS 1
Dez 1996
XHTML 1.0
Jan 2000
HTML 3.2
Januar 1997
J2SE 1.3
Mai 2000
HTML 4.0
Dezember 1997
JDK 1.0
Jan 1996
CSS 2.1
XHTML 1.1
Mai 2001
J2SE 1.2
Dez 1998
JDK 1.1
Feb 1997
CSS 2
Mai 1998
Java EE 1.2
Dez 1999
Internet Explorer 6
Aug 2001
Feb 2004 – Jun 2011
CSS level 2 revision 1, often referred to as "CS
errors in CSS 2, removes poorly supported or n
interoperable features and adds already-imple
browser extensions to the specification. In orde
with the W3C Process for standardizing techn
specifications, CSS 2.1 went back and forth be
Working Draft status and Candidate Recomm
status for many years.
THE
Jan 2000
Jan 2005
56. keep it stupid simple
• use PLACES
framework for main
level navigation
• if you really need
to, nest activities
for a second level.
try not to.
• use dialogs for user
input, showing data.
dialogs are easily
reused.
57. ‣ he will be using photoshop
or dreamweaver
‣ he will not use the
software
‣ he will not build the
software
‣ he will not maintain the
software
Once upon a time, a
good designer does
good a good looking
design...
72. Search DIALOG
slides in from right
side, stays on TOP
Don‘t move your
user away from his
„PLACE“ unless
you have to.
73. Navigation should not hurt
• The application shown uses only 3
levels of navigation, DOES NOT
NEED MORE
• PLACES used for bookmarkable
entry points/ back button
navigation consistency
• Activities should be STATELESS, to
survive page reloads
• Learn from OTHERS, lookout for
hashtags…
74. BEFORE YOU ADD THE LOGO
TO THE TOP
HOW MANY PIXELS DO
YOUR USERS HAVE?
the designer or
marketing guy
using photoshop is
probably sitting in
front of a 27“
apple cinema
display