Google Web Toolkit - tutorial
-
Upload
anisoarasava -
Category
Technology
-
view
1.818 -
download
6
description
Transcript of Google Web Toolkit - tutorial
![Page 1: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/1.jpg)
Google Web Toolkittutorial
Anişoara Sava, OC2
Marcela-Daniela Mihai, OC2
Universitatea Al. Ioan Cuza Iaşi
Facultatea de Informatică
![Page 2: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/2.jpg)
2
Cuprins
Google Web Toolkit
Arhitectura GWT
Instrumente GWT
Modalităţi de a rula aplicaţia
Beneficii
Comparaţie cu alte framework-uri
![Page 3: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/3.jpg)
3
Probleme caracteristice Ajax
Dificultăţi cu limbajul JavaScript
Diferenţe între browsere
Problema butoanelor Back/Forward
![Page 4: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/4.jpg)
4
Google Web Toolkit
Ce este?
Framework Java open-source pt crearea aplicaţiilor Ajax
Produce cod compatibil cu toate browserele
Este mai mult decât un compilator
Similar cu Swing, însă centrat pe HTML şi CSS
![Page 5: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/5.jpg)
5
Google Web Toolkit
Ce conţine?
compilatorul responsabil cu transformarea codului Java în cod JavaScript
echipament de testare folosit pentru depanarea bytecodului Java în mod direct atunci când este rulat în mediul oferit de GWT ce simulează browserul
set de widget-uri principale
sistem Remote Procedure Call pentru realizarea comunicaţiei cu serverul web
![Page 6: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/6.jpg)
6
Google Web Toolkit
De ce GWT?
- nu este nevoie să se scrie cod JavaScript
- elimină grija pentru diferenţele dintre browsere
- se foloseşte doar Java API în favoarea DOM API
- elimină problema legată de butoanele Back/Forward
![Page 7: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/7.jpg)
7
Google Web Toolkit
De ce GWT? (cont.)− Pot fi folosite unelte Java pentru
scrierea/depanarea/testarea codului
− Integrează JUnit
− Include suport pentru internaţionalizare
![Page 8: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/8.jpg)
8
Arhitectura GWT
Construit pe modelul client-server:• Client - Codul java este transformat in HTML şi JavaScript - Formatare cu CSS
• Server - Este folosit un mecanism RPC bazat pe servleturi şi HTTP
![Page 9: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/9.jpg)
9
GWT - Client
![Page 10: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/10.jpg)
10
Arhitectură Client Bazată pe patternul MVC
− Modelul: este sincronizat cu cel de pe server prin intermediul RPC
− View: componente asemănătoare celor din Swing
− Controller: evenimente şi listeneri
Avantaje:− Coordonarea tranziţiilor
din UI
![Page 11: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/11.jpg)
11
GWT - Server
![Page 12: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/12.jpg)
12
Instrumente GWT uneltele din toolbox-ul GWT sunt împărţite
în două categorii: cele legate de compilator şi librăriile Java care alcătuiesc API-uri GWT:
![Page 13: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/13.jpg)
13
Două modalităţi de a rula aplicaţia
Modul Host
- este rulat bytecodul Java în cadrul JVM
- este posibilă rularea în debug a aplicaţiei
- folositor la dezvoltarea aplicaţiei
Modul Web
- este rulat codul JavaScript şi HTML rezultat în urma compilării
- rulat intr-un server pentru aplicaţii J2EE
![Page 14: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/14.jpg)
14
Comunicarea dintre server şi client
Mesaje în format JSON
Implementare proprie a protocolului RPC:− Clientul realizează apeluri Ajax− Pe server se folosesc servleturi pentru tratarea cererii− Clientul primeste răspunsul asincron− Tipurile transmise trebuie să fie serializabile
![Page 15: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/15.jpg)
15
Beneficii
Pentru utilizatori:− Răspuns rapid − Compatibilitate
cu toate browserele
− Nu necesită plugin-uri pentru browser sau JVM
− Navigare cu taste în cadrul aplicaţiei
Pentru dezvoltatori:− Acelaşi limbaj
atât pe server cât şi pe client
− Integrare facilă cu alte tehnologii
− Open-source (licenţă Apache 2.0)
− Utilizarea IDE-ului preferat
![Page 16: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/16.jpg)
16
Beneficii
Pentru utilizatori:− realizarea de
aplicaţii asemănătoare cu cele desktop
Pentru dezvoltatori:− cod scris in Java,
şi nu în JavaScript -pentru aplicaţiile Web complexe, reduce dimensiunea aplicaţiei, mai uşor de administrat
![Page 17: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/17.jpg)
17
Comparaţie cu alte framework-uri
GWT vs Swing
- modalităţii similare de scriere a codului(ClickListener vs ActionListener)
- GWT nu foloseşte managerii de afişare (layout managers) pentru organizarea componentelor în interfaţă, ci panel-uri
GWT vs. Echo2
- aplicaţiile Echo2 rulează pe server, faţă de aplicaţiile GWT care rulează pe client
- mai multe apeluri la server în Echo2, însă nu este nevoie de a fi implementat un mecanism de tip RPC
- în Echo2 nu este nevoie să fie trimis browser-ului tot codul JavaScript rezultat în urma compilării
![Page 18: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/18.jpg)
18
Comparaţie cu alte framework-uri
GWT vs JSF
- în JSF standard toate procesările sunt făcute de către server, iar paginile web sunt reîncărcate după fiecare tranzacţie
GWT vs. Ruby on Rails
- Pe partea de server, RoR oferă suport pentru Ajax(foloseşte limbajul Ruby)
- GWT deţine unele avantaje privitoare la mecanismele de transmitere a informaţiilor între server şi client
- este eficientă o eventuală colaborare între cele două
![Page 19: Google Web Toolkit - tutorial](https://reader033.fdocument.pub/reader033/viewer/2022061116/546557daaf795939528b559c/html5/thumbnails/19.jpg)
19
Vă mulţumim pentru atenţie!