Enviar pesquisa
Carregar
GWT 2 Is Smarter Than You
•
Transferir como ODP, PDF
•
9 gostaram
•
1,275 visualizações
Robert Cooper
Seguir
Summary of GWT 2.0 features
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 29
Baixar agora
Recomendados
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
GWTcon
GQuery a jQuery clone for Gwt, RivieraDev 2011
GQuery a jQuery clone for Gwt, RivieraDev 2011
Manuel Carrasco Moñino
Spring 4 advanced final_xtr_presentation
Spring 4 advanced final_xtr_presentation
sourabh aggarwal
Best Practices in Qt Quick/QML - Part III
Best Practices in Qt Quick/QML - Part III
ICS
Hector v2: The Second Version of the Popular High-Level Java Client for Apach...
Hector v2: The Second Version of the Popular High-Level Java Client for Apach...
zznate
Fun with QML
Fun with QML
ICS
React, Redux and es6/7
React, Redux and es6/7
Dongho Cho
Java Unit Testing with Unitils
Java Unit Testing with Unitils
Mikalai Alimenkou
Recomendados
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
GWTcon
GQuery a jQuery clone for Gwt, RivieraDev 2011
GQuery a jQuery clone for Gwt, RivieraDev 2011
Manuel Carrasco Moñino
Spring 4 advanced final_xtr_presentation
Spring 4 advanced final_xtr_presentation
sourabh aggarwal
Best Practices in Qt Quick/QML - Part III
Best Practices in Qt Quick/QML - Part III
ICS
Hector v2: The Second Version of the Popular High-Level Java Client for Apach...
Hector v2: The Second Version of the Popular High-Level Java Client for Apach...
zznate
Fun with QML
Fun with QML
ICS
React, Redux and es6/7
React, Redux and es6/7
Dongho Cho
Java Unit Testing with Unitils
Java Unit Testing with Unitils
Mikalai Alimenkou
Best Practices in Qt Quick/QML - Part 3
Best Practices in Qt Quick/QML - Part 3
ICS
Serving QML applications over the network
Serving QML applications over the network
Jeremy Lainé
Unit testing: unitils & dbmaintain
Unit testing: unitils & dbmaintain
nevenfi
Qt and QML performance tips & tricks for Qt 4.7
Qt and QML performance tips & tricks for Qt 4.7
Pasi Kellokoski
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part I
ICS
Best Practices in Qt Quick/QML - Part 1 of 4
Best Practices in Qt Quick/QML - Part 1 of 4
ICS
Nicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JS
JavaScript Meetup HCMC
An Introduction to CMake
An Introduction to CMake
ICS
Angular 1 + es6
Angular 1 + es6
장현 한
Qt for beginners part 4 doing more
Qt for beginners part 4 doing more
ICS
Intro to QML / Declarative UI
Intro to QML / Declarative UI
OpenBossa
Managing user's data with Spring Session
Managing user's data with Spring Session
David Gómez García
How Does Kubernetes Build OpenAPI Specifications?
How Does Kubernetes Build OpenAPI Specifications?
reallavalamp
Why Kotlin - Apalon Kotlin Sprint Part 1
Why Kotlin - Apalon Kotlin Sprint Part 1
Kirill Rozov
An Introduction To Testing In AngularJS Applications
An Introduction To Testing In AngularJS Applications
Rohan Chandane
Тестирование на Android с Dagger 2
Тестирование на Android с Dagger 2
Kirill Rozov
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Guillaume Laforge
Config BuildConfig
Config BuildConfig
Vijay Shukla
Rock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer Elements
Manuel Carrasco Moñino
DbSetup
DbSetup
fbenault
Android 3
Android 3
Robert Cooper
Android Froyo
Android Froyo
Robert Cooper
Mais conteúdo relacionado
Mais procurados
Best Practices in Qt Quick/QML - Part 3
Best Practices in Qt Quick/QML - Part 3
ICS
Serving QML applications over the network
Serving QML applications over the network
Jeremy Lainé
Unit testing: unitils & dbmaintain
Unit testing: unitils & dbmaintain
nevenfi
Qt and QML performance tips & tricks for Qt 4.7
Qt and QML performance tips & tricks for Qt 4.7
Pasi Kellokoski
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part I
ICS
Best Practices in Qt Quick/QML - Part 1 of 4
Best Practices in Qt Quick/QML - Part 1 of 4
ICS
Nicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JS
JavaScript Meetup HCMC
An Introduction to CMake
An Introduction to CMake
ICS
Angular 1 + es6
Angular 1 + es6
장현 한
Qt for beginners part 4 doing more
Qt for beginners part 4 doing more
ICS
Intro to QML / Declarative UI
Intro to QML / Declarative UI
OpenBossa
Managing user's data with Spring Session
Managing user's data with Spring Session
David Gómez García
How Does Kubernetes Build OpenAPI Specifications?
How Does Kubernetes Build OpenAPI Specifications?
reallavalamp
Why Kotlin - Apalon Kotlin Sprint Part 1
Why Kotlin - Apalon Kotlin Sprint Part 1
Kirill Rozov
An Introduction To Testing In AngularJS Applications
An Introduction To Testing In AngularJS Applications
Rohan Chandane
Тестирование на Android с Dagger 2
Тестирование на Android с Dagger 2
Kirill Rozov
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Guillaume Laforge
Config BuildConfig
Config BuildConfig
Vijay Shukla
Rock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer Elements
Manuel Carrasco Moñino
DbSetup
DbSetup
fbenault
Mais procurados
(20)
Best Practices in Qt Quick/QML - Part 3
Best Practices in Qt Quick/QML - Part 3
Serving QML applications over the network
Serving QML applications over the network
Unit testing: unitils & dbmaintain
Unit testing: unitils & dbmaintain
Qt and QML performance tips & tricks for Qt 4.7
Qt and QML performance tips & tricks for Qt 4.7
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part 1 of 4
Best Practices in Qt Quick/QML - Part 1 of 4
Nicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JS
An Introduction to CMake
An Introduction to CMake
Angular 1 + es6
Angular 1 + es6
Qt for beginners part 4 doing more
Qt for beginners part 4 doing more
Intro to QML / Declarative UI
Intro to QML / Declarative UI
Managing user's data with Spring Session
Managing user's data with Spring Session
How Does Kubernetes Build OpenAPI Specifications?
How Does Kubernetes Build OpenAPI Specifications?
Why Kotlin - Apalon Kotlin Sprint Part 1
Why Kotlin - Apalon Kotlin Sprint Part 1
An Introduction To Testing In AngularJS Applications
An Introduction To Testing In AngularJS Applications
Тестирование на Android с Dagger 2
Тестирование на Android с Dagger 2
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Groovy Ecosystem - JFokus 2011 - Guillaume Laforge
Config BuildConfig
Config BuildConfig
Rock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer Elements
DbSetup
DbSetup
Destaque
Android 3
Android 3
Robert Cooper
Android Froyo
Android Froyo
Robert Cooper
Amazing
Amazing
Sam Ignarski
Extreme Source Compatibility
Extreme Source Compatibility
Robert Cooper
Galicia Calidade
Galicia Calidade
guest027ad
Stop Complaining
Stop Complaining
Sam Ignarski
Destaque
(6)
Android 3
Android 3
Android Froyo
Android Froyo
Amazing
Amazing
Extreme Source Compatibility
Extreme Source Compatibility
Galicia Calidade
Galicia Calidade
Stop Complaining
Stop Complaining
Semelhante a GWT 2 Is Smarter Than You
Google Web Toolkit
Google Web Toolkit
Software Park Thailand
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
IMC Institute
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
JooinK
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
GWT Extreme!
GWT Extreme!
cromwellian
Google Web Toolkits
Google Web Toolkits
Yiguang Hu
GWT is Smarter Than You
GWT is Smarter Than You
Robert Cooper
GWT Training - Session 1/3
GWT Training - Session 1/3
Faiz Bashir
Asp.Net 2.0 Presentation
Asp.Net 2.0 Presentation
sasidhar
Google Dev Day2007
Google Dev Day2007
lucclaes
New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...
New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...
Shahzad
Gwt Presentation1
Gwt Presentation1
rajakumar.tu
YaJUG: What's new in GWT2
YaJUG: What's new in GWT2
Olivier Gérardin
GWT Basics
GWT Basics
Emprovise
SoftShake 2013 - Vaadin componentization
SoftShake 2013 - Vaadin componentization
Nicolas Fränkel
Smoothing Your Java with DSLs
Smoothing Your Java with DSLs
intelliyole
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
Jiaxuan Lin
Caerusone
Caerusone
tech caersusoft
Migration from ASP to ASP.NET
Migration from ASP to ASP.NET
Information Technology
Asp.net mvc
Asp.net mvc
Phuc Le Cong
Semelhante a GWT 2 Is Smarter Than You
(20)
Google Web Toolkit
Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
GWT Extreme!
GWT Extreme!
Google Web Toolkits
Google Web Toolkits
GWT is Smarter Than You
GWT is Smarter Than You
GWT Training - Session 1/3
GWT Training - Session 1/3
Asp.Net 2.0 Presentation
Asp.Net 2.0 Presentation
Google Dev Day2007
Google Dev Day2007
New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...
New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...
Gwt Presentation1
Gwt Presentation1
YaJUG: What's new in GWT2
YaJUG: What's new in GWT2
GWT Basics
GWT Basics
SoftShake 2013 - Vaadin componentization
SoftShake 2013 - Vaadin componentization
Smoothing Your Java with DSLs
Smoothing Your Java with DSLs
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
Caerusone
Caerusone
Migration from ASP to ASP.NET
Migration from ASP to ASP.NET
Asp.net mvc
Asp.net mvc
Último
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
Último
(20)
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
How to write a Business Continuity Plan
How to write a Business Continuity Plan
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
GWT 2 Is Smarter Than You
1.
GWT 2.0 is
Smarter than You Robert “kebernet” Cooper Internap Network Services Inc. GWT in Practice (http://manning.com/cooper)
2.
3.
4.
5.
I18n Strategy (Out
of the Box)
6.
Image DL optimization
(Out of the Box)
7.
8.
9.
SOYC
10.
11.
12.
13.
14.
XB testing on
one device
15.
16.
Browser-specific CSS options
17.
Templates for Sprites,
etc.
18.
19.
Integrates better with
standard methodology
20.
21.
22.
Driven by NPAPI
plugin for all browsers
23.
Demo
24.
25.
26.
Compiled Stylesheets (Examples)
MyModule.css: @def smallText 10px; @def baseText #00CCCC; .myLabelText { font-size: smallText; Color: baseText; } .myUnderline { Border-bottom: 1px solid baseText; }
27.
Compiled Stylesheets (Examples)
interface MyModuleCss extends CssResource { String myLabelText; @ClassName(“myUnderline”) //Optional (name) String myUnderlineClass; }
28.
Compiled Stylesheets (Examples)
/* @if (compile property) (match value)... */ @if user.agent msie msie8 { .halfOpaque { filter: alpha(opacity = 50); } } @ else { .halfOpaque { opacity: 0.5; } }
29.
Compiled Stylesheets (Examples)
@sprite .myEditButton { border: 1px outset silver; background: silver; Gwt-image: “edit-icon”; }
30.
31.
I18n of all
resources based on naming
32.
One-line compile-time optioning
off all resources
33.
Compiled Resources (Examples)
interface MyResources extends ClientBundle { @Source(“MyModule.css”) @Strict Css myCss; // Depends on below! @Source(“MyEditIcon.png”) ImageResource editIcon; @Source(“SomeTextFile.txt”) //LOAD FROM WEB! ExternalTextResource configFile; }
34.
35.
@Source() +”.[ln]” (EN,
FR)
36.
@Source()
37.
38.
39.
(Better than Android
:/)
40.
Cleaner than using
Widgets everywhere
41.
UIBinder (Examples) MyWidget.xml:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:g='urn:import:com.google.gwt.user.client.ui'> <g:HTMLPanel> <span ui:field=”label”/> <g:ListBox ui:field='listBox' visibleItemCount='1'/>. </g:HTMLPanel> </ui:UiBinder>
42.
UIBinder (Examples) MyWidget.java:
class MyWidget extends Widget { //Or UIObject interface Binder extends UIBinder<Widget, MyWidget>{} // forces compile generation; private static final Binder BINDER = GWT.create(Binder.class); @UiField SpanElement label; @UiField ListBox listBox;
43.
UIBinder (Examples) MyWidget.java
(cont): public MyWidget(String label,String... options){ setElement(BINDER.createAndBindUI(this)); for(String option : options){ this.listBox.addItem(option); } this.label.setInnerText(label); } }
44.
45.
Super Simple Syntax
46.
All Memory References
Remain in Place
47.
Some Dev Planning
Needed for Optimal Use
48.
49.
Anonymous classes follow
Java spec of custom <init> based on final availability as constructor args and Pass-By-(Pointer-)Value states
50.
Statics held on
Prototypes : no global JavaScript context
51.
52.
GWT proxies the
current pointer references into a callback JavaScript method
53.
A separate JavaScript
file is loaded into the current runtime
54.
The callback method
is invoked with the current pointer set
55.
Subsequent calls simply
invoke the callback method directly once the code is loaded.
56.
57.
Try and break
code as cleanly as possible
58.
59.
Caching strategies don't
span pointcuts
60.
61.
Math between fixed
pixel size panels and “rest” isn't cleanly supported by CSS and requires .reflow() handlers
62.
63.
64.
Sizes determined by
internal elements, not the wrapper
65.
66.
Provides default fill
for unsized elements
67.
Control is in
the panel, not the elements
68.
GWT 2.0 LayoutPanel
(Examples) DockPanel.java: DockLayoutPanel p = new DockLayoutPanel(Unit.EM); p.addNorth(new HTML("header"), 2); p.addSouth(new HTML("footer"), 2); p.addWest(new HTML("navigation"), 10); p.add(new HTML(content));
69.
70.
Changing EM to
PCT doesn't alter the fill for “Content”
71.
Internals use CSS
to handle fill sizes, so OpenGL/PDF/Whatever rendering systems apply and doesn't require a separate eventing chain
72.
73.
74.
Compiled CSS iteration
includes all images Base64, but Gziped if done right
75.
Pointcuts allow for
fractional Code+CSS downloads as part of sub-apps
76.
New Layout system
is faster and requires less “onAttach()/onWindowResize()” hackery
77.
New developer toolchain
is easier to use
78.
79.
Baixar agora