Download - RoCS08 Viorel Spinu
![Page 1: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/1.jpg)
Google Web Toolkit
Viorel SpînuManaging Partner, Sety
RoCS 08
18 Noiembrie
![Page 2: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/2.jpg)
Sety
Viorel Spînu, Managing Partner
in cadrul Sety, companie axata pe
consultanta si dezvoltarea de
solutii bazate pe tehnologia Java
Am facut soft ca programator, apoi ca project
manager, iar acum ca antreprenor in cadrul Sety
![Page 3: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/3.jpg)
Sety
1. clasic, GWT
clasic server side: PHP, Ruby, Java,...
client side: HTML, Javascript, CSS
server side: PHP, Ruby, Java,...
client side: JAVA -> HTMLJAVA -> HTMLGWT
![Page 4: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/4.jpg)
Sety
2. cum ?
![Page 5: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/5.jpg)
Sety
3. adica rulez Java pe client ?
NU
scrii Java doar cat dezvolti
pe productie pui HTML si Javascript optimizat,
generat automat din codul Java
e un fel de applet ?
![Page 6: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/6.jpg)
Sety
4. bun, dar DE CE ?
ca sa nu iti schimbi calculatorul prea repede
![Page 7: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/7.jpg)
Sety
5. chiar merge pe orice browser ?
DA (cele care conteaza)
Mozilla Firefox
Internet Explorer
Safari
Opera
Google Chrome
![Page 8: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/8.jpg)
Sety
6. un ciclu
dezvolti aplicatia web in cod Java debug modifici, faci reload fara redeploy
![Page 9: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/9.jpg)
Sety
7. un ciclu
generezi pentru productie
![Page 10: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/10.jpg)
Sety
8. si performanta ?
este
Firefox, engleza
Firefox, franceza
IE, engleza
IE, franceza
cod JavaScript optimizat
* cod nefolosit -> eliminat
* metode inline, cand este cazul
echipa GTW :
“codul generat de compilatorul nostru
este probabil mai bun decat ar putea
scrie vreodata o fiinta umana”
- modesti, nu-i asa? :)
incarci doar ce iti trebuie
![Page 11: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/11.jpg)
Sety
9. the BIG win : cod usor de intretinut
-> OOP
-> static type (erori prinse la compilare)
-> IDE-uri performante (Eclipse, IntelliJ)
-> debug simplu
-> OOP -> patterns
-> teste unitare pentru interfata
![Page 12: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/12.jpg)
Sety
10. am o aplicatie web deja scrisa...
mai pot folosi GWT fara sa o rescriu complet ?
DA !
![Page 13: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/13.jpg)
Sety
11. se integreaza cu JavaScript nativ
se poate si in sensul JavaScript -> GWT
GWT -> JavaScript
![Page 14: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/14.jpg)
Sety
12. chiar e totul
NU
javascript pur -> no google indexingpastreaza si pagini HTML statice !
procesul de compilare dureazamodule separate !
echipa de design -> cod java – mai complicat curba de invatare
?
![Page 15: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/15.jpg)
Sety
13. un exemplu
business goal : 90% dintre interactiuni cu
raspuns sub o secunda
solutie : cod executat pe client, merg la
server doar cand este absoluta nevoie
![Page 16: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/16.jpg)
Sety
14. business logic pe client
![Page 17: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/17.jpg)
Sety
stateless server
statefull client
15.
![Page 18: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/18.jpg)
Sety
16. inca un exemplu
business goal : senzatie de aplicatie desktop,
fara page reload
solutie : cod executat pe client, merg la
server doar cand este absoluta nevoie
![Page 19: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/19.jpg)
Sety
17. ar fi putut functiona fara server (!)
![Page 20: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/20.jpg)
Sety
18. resurse
http://code.google.com/webtoolkit/
http://groups.google.com/group/Google-Web-Toolkit
http://googlewebtoolkit.blogspot.com/
![Page 21: RoCS08 Viorel Spinu](https://reader033.vdocuments.pub/reader033/viewer/2022061210/54919469b47959db5c8b46f8/html5/thumbnails/21.jpg)
Sety
19. mi-ar placea sa ne auzim
blog : http://www.spinu.ro
twitter : viorelspinu