38
Introduction à GWT La technologie derrière Google Adwords, Spreadsheet, Inbox et plus encore! CHRISTIAN GOUDREAU WAQ 2015

Introduction à GWT

  • Upload
    arcbees

  • View
    350

  • Download
    0

Embed Size (px)

Citation preview

Introduction à GWTLa technologie derrière Google Adwords, Spreadsheet, Inbox et plus encore!

CHRISTIAN GOUDREAU

WAQ 2015

Christian GoudreauCo-Fondateur et Bee-EO

Arcbees

+ChristianGoudreau@imchrisgoudreau

[email protected]

Dans une galaxie...

l’Empire

2006Découverte de la planèteGWT

Pourquoi ?

GoogleAdwords

La machinevirtuelledu Web

Box2DPerformanceBenchmark

Box2DCode Size

Box2DCode Size

GoogleInbox

public class HelloWorld implements EntryPoint {

@Override

public void onModuleLoad() {

$("p").click(new Function() {

@Override

public void f() {

$(this).slideUp();

}

});

}

}

CodeSplit

Historiquede navigation& SEO

➔ MVP➔ Rest-Dispatch➔ Historique de

navigation

MODEL

PRESENTER

VIEW

MVPPattern

RESTDispatch

➔ JAX-RS➔ Command pattern➔ Implémentation la plus simple

possible

@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());}

Librairiesdisponibles

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 Dashboard create(String modulePath) /*-{

return new $wnd.Dashboard(modulePath);

}-*/;

}

void clear();

void reset();

void render();

void redraw();

}

Merci

QUESTIONS ?