writing cool web 2.0 apps with gwt and ui bindings
Post on 16-Apr-2017
1.039 Views
Preview:
TRANSCRIPT
Folie 1
Cool web apps with GWT
uberto barbini
uberto@ubiland.net
twitter: @ramtop
RIA (flash) is dead, long live to RIA (js)aka Client/Server is back!
In the crowded world of web technologies is often hard to decide which one suits better our needs.
We think we have found a very good solution to do cool web sites with complex logic that requires javascript.
Gwt is a very good product, but till recently it was a problem to use it on clean web2.0-like sites.
We think that it's possible to do it in a simple way but it's still not widely know. Using with UiBindings and TDD.
We did 2 applications: a CMS and a Google Appengine one.
I'll talk about our experience, what we learned, and we'll share the complete code for an example application.
A CMS that doesn't suck
Blueprint experience
Some raw data:
BP numbers:4-5 people teamagile (scrum and kanban)gwt, hibernate, smartgwtstarted jan 2009 version 1.0 june 2009, now 3.2
total classes:1176total methods:6565total executable lines:27459
A web2.0 like application with a lot of logic
www.netnumero.comhttp://netnumero.appspot.com/company/mycompany#dashboard
www.netnumero.comNetNumero numbers:5 people on weekends and nights1 year with many pausesTest coverage:Total classes 94.1% (272/ 289) Total methods73.7% (1004/ 1363)Total lines79.1% (5125/ 6481)
What's GWT anyway?
good gwt tutorials: http://developerlife.com/tutorials/?p=80http://code.google.com/webtoolkit/doc/latest/tutorial/http://code.google.com/webtoolkit/articles/testing_methodologies_using_gwt.html
books:Essential GWT: Building for the Web with Google Web Toolkit 2 (Developer's Library) - Federico KerekiProgramming Google App Engine - D SandersonGrowing Object-Oriented Software, Guided by Tests - Steve Freeman, Nat Pryce
gwt vs plain html
gwt vs traditional ajax
(i.e. jsp + jquery)
Gwt +easier to debug
no new language to learn
easy to unit test client logic
Gwt -steeper learning curve
basic gwt is "ugly"
big js app to download (once)
Gwt is CS with elegance
(show discuss code)tag ServiceImplExample
Gwt UI/UX issues
Solution
Design metaphor
our metaphor: restaurant(go to the table -login)(menu -list of url)(waiter- event dispatcher)(waiter notebook- request)(table num- sessionId)(kitchen- server side)(food- response)
client cache, code split and event drive
Architecture and design
(show discuss example code)tag AsyncTestFailure
Presenter
View
Entities
Data services
Command pattern
AuthAuth and security
How to continue
top related