Introduction à GWT
La technologie derrière Google Adwords,
Spreadsheet, Inbox et plus encore!
CHRISTIAN GOUDREAU
WAQ 2015
Christian Goudreau
Co-Fondateur et Bee-EO
Arcbees
+ChristianGoudreau
@imchrisgoudreau
christian.goudreau@arcbees.com
Dans une galaxie...
l’Empire
2006
Découverte
de la planète
GWT
Pourquoi ?
Google
Adwords
Dans la même veine
Autres langages :
➔ Pyjs (Python to JS)
➔ emscripten (C++ to JS)
➔ jsil (.net to JS)
➔ ClojureScript (C...
La machine
virtuelle
du Web
Box2D
Performance
Benchmark
Box2D
Code Size
Box2D
Code Size
Google
Inbox
public class HelloWorld implements EntryPoint {
@Override
public void onModuleLoad() {
$("p").click(new Function() {
@Over...
CodeSplit
Historique
de navigation
& SEO
➔ MVP
➔ Rest-Dispatch
➔ Historique de
navigation
MODEL
PRESENTER
VIEW
MVP
Pattern
REST
Dispatch
➔ JAX-RS
➔ Command pattern
➔ Implémentation la plus simple
possible
@Path(“/api/dashboard”)
public interface DashboardService {
@GET
@Path(“/{organizationId}”)
Dashboard getByOrganizationId(...
Librairies
disponibles
Performance
Et Angular ?
Singular !
Et
GWTP ?
Et mes librairies
Javascript ?
GWT 2.7
JsInterop !
@JsType(prototype = "$wnd.Dashboard")
public interface Dashboard {
public static class Builder {
public static native Dash...
Merci
QUESTIONS ?
Introduction à GWT
Introduction à GWT
Introduction à GWT
Introduction à GWT
Introduction à GWT
Introduction à GWT
Introduction à GWT
Prochain SlideShare
Chargement dans…5
×

Introduction à GWT

1 303 vues

Publié le

Introduction à GWT
Conference by Christian Goudreau, at WAQ 2015.
Christian Goudreau is BEE-EO AND CO-FOUNDER
at Arcbees.
You can follow Christian on Twitter : @imchrisgoudreau


Christian Goudreau, ArcBees’ CEO, is a self-made entrepreneur with significant experience in project management. Christian has been managing major software development projects since his early teens, and therefore has quickly learned how to juggle heavy responsibilities and deliver.

A talented guest speaker, recognized expert in software architecture and developer tools, his services are much sought-after, not only in Quebec but also in Europe and the United States, where he takes great pleasure in sharing his technical knowledge and his passion for business.

Christian Goudreau was named Young Business Person of the Year, technology & research division, at the Jeune personnalité d’affaires Banque Nationale competition organized by the Jeune chambre de commerce de Québec (JCCQ), in 2012. He was also awarded the Creativity and Innovation Prize, and the Grand Prize at the 2013 Annual LOJIQ awards (the Quebec International Youth Offices).

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 303
Sur SlideShare
0
Issues des intégrations
0
Intégrations
48
Actions
Partages
0
Téléchargements
13
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction à GWT

  1. 1. Introduction à GWT La technologie derrière Google Adwords, Spreadsheet, Inbox et plus encore! CHRISTIAN GOUDREAU WAQ 2015
  2. 2. Christian Goudreau Co-Fondateur et Bee-EO Arcbees +ChristianGoudreau @imchrisgoudreau christian.goudreau@arcbees.com
  3. 3. Dans une galaxie...
  4. 4. l’Empire
  5. 5. 2006 Découverte de la planète GWT
  6. 6. Pourquoi ?
  7. 7. Google Adwords
  8. 8. Dans la même veine Autres langages : ➔ Pyjs (Python to JS) ➔ emscripten (C++ to JS) ➔ jsil (.net to JS) ➔ ClojureScript (Clojure to JS) ➔ dart2js Javascript : ➔ CoffeeScript ➔ TypeScript ➔ Google Closure
  9. 9. La machine virtuelle du Web
  10. 10. Box2D Performance Benchmark
  11. 11. Box2D Code Size
  12. 12. Box2D Code Size
  13. 13. Google Inbox
  14. 14. public class HelloWorld implements EntryPoint { @Override public void onModuleLoad() { $("p").click(new Function() { @Override public void f() { $(this).slideUp(); } }); } }
  15. 15. CodeSplit
  16. 16. Historique de navigation & SEO
  17. 17. ➔ MVP ➔ Rest-Dispatch ➔ Historique de navigation
  18. 18. MODEL PRESENTER VIEW MVP Pattern
  19. 19. REST Dispatch ➔ JAX-RS ➔ Command pattern ➔ Implémentation la plus simple possible
  20. 20. @Path(“/api/dashboard”) public interface DashboardService { @GET @Path(“/{organizationId}”) Dashboard getByOrganizationId(@PathParam(“organizationId”) int organizationId); @PUT @Path(“/{organizationId}”) void update(@PathParam(“organizationId”) int organizationId, Dashboard dashboard); } private void loadTemplate() { dashboardService.withCallback(new AbstractAsyncCallback<Dashboard>() { @Override public void onSuccess(Dashboard result) { } }).getByOrganizationId(currentUser.getOrganizationId()); }
  21. 21. Librairies disponibles
  22. 22. Performance
  23. 23. Et Angular ?
  24. 24. Singular !
  25. 25. Et GWTP ?
  26. 26. Et mes librairies Javascript ?
  27. 27. GWT 2.7
  28. 28. JsInterop !
  29. 29. @JsType(prototype = "$wnd.Dashboard") public interface Dashboard { public static class Builder { public static native Dashboard create(String modulePath) /*-{ return new $wnd.Dashboard(modulePath); }-*/; } void clear(); void reset(); void render(); void redraw(); }
  30. 30. Merci
  31. 31. QUESTIONS ?

×