SlideShare a Scribd company logo
1 of 59
GWT meets HTML5
Compile
Java             JavaScript
ex) ImageResource, Inliner
“Deferred Binding is Google Web Toolkit's answer to
Java reflection.”

         http://code.google.com/webtoolkit/doc/1.6/FAQ_Client.html#What_is_Deferred_Binding?
http://www.youtube.com/watch?v=nvti32k4xyU



    Your Code         Download exactly what you            Your Code
                      need in a single, optimized,
                        can’t-go-wrong chunk
   FireFox                                                    IE6
    en_US                                                  en_UK
                          Single Java
1D04ADDA.cache.html
                          Code Base                     15F361B8.cache.html



    Your Code                                              Your Code
                      Then cache it on the client
     Safari             until the sun explodes            Opera 9
     fr_FR                                                  fr_CA
7EFE4D24.cache.html                                     D415D917.cache.html
private static final PopupImpl impl = GWT.create(PopupImpl.class);

<module>
  <!-- Fall through to this rule is the browser isn't IE or Mozilla -->
  <replace-with class="com.google.gwt.user.client.ui.impl.PopupImpl">
    <when-type-is class="com.google.gwt.user.client.ui.impl.PopupImpl"/>
  </replace-with>

    <!-- Mozilla needs a different implementation due to issue #410 -->
    <replace-with class="com.google.gwt.user.client.ui.impl.PopupImplMozilla">
      <when-type-is class="com.google.gwt.user.client.ui.impl.PopupImpl"/>
      <any>
        <when-property-is name="user.agent" value="gecko"/>
        <when-property-is name="user.agent" value="gecko1_8"/>
      </any>
    </replace-with>

  <!-- IE has a completely different popup implementation -->
  <replace-with class="com.google.gwt.user.client.ui.impl.PopupImplIE6">
    <when-type-is class="com.google.gwt.user.client.ui.impl.PopupImpl"/>
    <when-property-is name="user.agent" value="ie6" />
  </replace-with>
</module>
        Button b = new Button("Click me", new ClickHandler() {
          public void onClick(ClickEvent event) {
            GWT.runAsync(new RunAsyncCallback() {
              public void onFailure(Throwable caught) {
                Window.alert("Code download failed");
              }
              public void onSuccess() {
                Window.alert("Hello, AJAX");
              }
            });
          }
        });
Host Page (Module.html)


                             Selection Script
                          (module.nocache.html)


                             Permutation Script
   Browser              (Strongly-named.cache.html)   Server
              onload
Module starts running
                            runAsync Fragments
public static native void log(String msg) /*-{
  var logger = $wnd.console;
  if(logger && logger.markTimeline) {
    logger.markTimeline(msg);
  }
}-*/;
http://bit.ly/hl1riO
http://gwtcanvasdemo.appspot.com/
SmartGWT
mobile specific
   version




                 http://bit.ly/bzK6xB
http://code.google.com/events/io/2010/sessions/gwt-html5.html
http://code.google.com/events/io/2010/sessions/gwt-html5.html
Kanjava20110302
Kanjava20110302
Kanjava20110302
Kanjava20110302
Kanjava20110302
Kanjava20110302
Kanjava20110302

More Related Content

What's hot

WebKit vs. the mobile Web
WebKit vs. the mobile WebWebKit vs. the mobile Web
WebKit vs. the mobile WebJosh Tumath
 
Amp by Google: The Present And Future Of Quick Content Delivery
Amp by Google: The Present And Future Of Quick Content DeliveryAmp by Google: The Present And Future Of Quick Content Delivery
Amp by Google: The Present And Future Of Quick Content DeliveryRaunak Hajela
 
An introduction to PhantomJS: A headless browser for automation test.
An introduction to PhantomJS: A headless browser for automation test.An introduction to PhantomJS: A headless browser for automation test.
An introduction to PhantomJS: A headless browser for automation test.BugRaptors
 
Testable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascriptTestable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascriptTimothy Oxley
 
Magento with Composer
Magento with ComposerMagento with Composer
Magento with ComposerAOE
 
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"IT Event
 
JavaScript Framework Smackdown
JavaScript Framework SmackdownJavaScript Framework Smackdown
JavaScript Framework Smackdownmeghantaylor
 
HTML5 and web technology update
HTML5 and web technology updateHTML5 and web technology update
HTML5 and web technology updateDoug Domeny
 

What's hot (9)

WebKit vs. the mobile Web
WebKit vs. the mobile WebWebKit vs. the mobile Web
WebKit vs. the mobile Web
 
Amp by Google: The Present And Future Of Quick Content Delivery
Amp by Google: The Present And Future Of Quick Content DeliveryAmp by Google: The Present And Future Of Quick Content Delivery
Amp by Google: The Present And Future Of Quick Content Delivery
 
An introduction to PhantomJS: A headless browser for automation test.
An introduction to PhantomJS: A headless browser for automation test.An introduction to PhantomJS: A headless browser for automation test.
An introduction to PhantomJS: A headless browser for automation test.
 
Progressive Enhancement
Progressive EnhancementProgressive Enhancement
Progressive Enhancement
 
Testable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascriptTestable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascript
 
Magento with Composer
Magento with ComposerMagento with Composer
Magento with Composer
 
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
 
JavaScript Framework Smackdown
JavaScript Framework SmackdownJavaScript Framework Smackdown
JavaScript Framework Smackdown
 
HTML5 and web technology update
HTML5 and web technology updateHTML5 and web technology update
HTML5 and web technology update
 

Viewers also liked

Sap Virtualization Week 2009
Sap Virtualization Week 2009Sap Virtualization Week 2009
Sap Virtualization Week 2009Sherry Yu
 
D efinicion de texto. unidad 2.
D efinicion de  texto. unidad 2.D efinicion de  texto. unidad 2.
D efinicion de texto. unidad 2.cesarkgua
 
ISFragkopoulos - Seminar on Electrochemical Promotion
ISFragkopoulos - Seminar on Electrochemical PromotionISFragkopoulos - Seminar on Electrochemical Promotion
ISFragkopoulos - Seminar on Electrochemical PromotionIoannis S. Fragkopoulos
 
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...Arne Bröring
 
Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010
Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010
Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010Arne Bröring
 
Sensor Interface Descriptors (SID)
Sensor Interface Descriptors (SID)Sensor Interface Descriptors (SID)
Sensor Interface Descriptors (SID)Arne Bröring
 
Writing cool web 2.0 apps with GWT and UI Bindings
Writing cool web 2.0 apps with GWT and UI BindingsWriting cool web 2.0 apps with GWT and UI Bindings
Writing cool web 2.0 apps with GWT and UI BindingsFrancesca1980
 
Location Intelligence bei Swisscom - DW2014
Location Intelligence bei Swisscom - DW2014Location Intelligence bei Swisscom - DW2014
Location Intelligence bei Swisscom - DW2014Arne Bröring
 
Solvency II Pillar 1 update May 2012
Solvency II Pillar 1 update May 2012Solvency II Pillar 1 update May 2012
Solvency II Pillar 1 update May 2012Edward Maguire
 
E Tapestry Webinar 2010
E Tapestry Webinar 2010E Tapestry Webinar 2010
E Tapestry Webinar 2010raisor
 
enviroCar Introduction
enviroCar IntroductionenviroCar Introduction
enviroCar IntroductionArne Bröring
 
enviroCar at INTERGEO 2013
enviroCar at INTERGEO 2013enviroCar at INTERGEO 2013
enviroCar at INTERGEO 2013Arne Bröring
 
It-alliance
It-allianceIt-alliance
It-alliancehadarina
 
ThinSWEClient - Visualising time series data with open source components.
ThinSWEClient - Visualising time series data with open source components.ThinSWEClient - Visualising time series data with open source components.
ThinSWEClient - Visualising time series data with open source components.Arne Bröring
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in HeliosTomasz Zarna
 

Viewers also liked (20)

Barroc 2 C
Barroc 2 CBarroc 2 C
Barroc 2 C
 
enviroCar Flyer
enviroCar FlyerenviroCar Flyer
enviroCar Flyer
 
SenseBox
SenseBoxSenseBox
SenseBox
 
Sap Virtualization Week 2009
Sap Virtualization Week 2009Sap Virtualization Week 2009
Sap Virtualization Week 2009
 
D efinicion de texto. unidad 2.
D efinicion de  texto. unidad 2.D efinicion de  texto. unidad 2.
D efinicion de texto. unidad 2.
 
ISFragkopoulos - Seminar on Electrochemical Promotion
ISFragkopoulos - Seminar on Electrochemical PromotionISFragkopoulos - Seminar on Electrochemical Promotion
ISFragkopoulos - Seminar on Electrochemical Promotion
 
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...
A Citizen Science Sensor Platform as a Live Link from GIS to the Internet ...
 
Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010
Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010
Broering - Bridging Sensor Networks and Sensor Webs @ WOT2010
 
Sensor Interface Descriptors (SID)
Sensor Interface Descriptors (SID)Sensor Interface Descriptors (SID)
Sensor Interface Descriptors (SID)
 
Writing cool web 2.0 apps with GWT and UI Bindings
Writing cool web 2.0 apps with GWT and UI BindingsWriting cool web 2.0 apps with GWT and UI Bindings
Writing cool web 2.0 apps with GWT and UI Bindings
 
第一頁
第一頁第一頁
第一頁
 
Baranski
BaranskiBaranski
Baranski
 
Location Intelligence bei Swisscom - DW2014
Location Intelligence bei Swisscom - DW2014Location Intelligence bei Swisscom - DW2014
Location Intelligence bei Swisscom - DW2014
 
Solvency II Pillar 1 update May 2012
Solvency II Pillar 1 update May 2012Solvency II Pillar 1 update May 2012
Solvency II Pillar 1 update May 2012
 
E Tapestry Webinar 2010
E Tapestry Webinar 2010E Tapestry Webinar 2010
E Tapestry Webinar 2010
 
enviroCar Introduction
enviroCar IntroductionenviroCar Introduction
enviroCar Introduction
 
enviroCar at INTERGEO 2013
enviroCar at INTERGEO 2013enviroCar at INTERGEO 2013
enviroCar at INTERGEO 2013
 
It-alliance
It-allianceIt-alliance
It-alliance
 
ThinSWEClient - Visualising time series data with open source components.
ThinSWEClient - Visualising time series data with open source components.ThinSWEClient - Visualising time series data with open source components.
ThinSWEClient - Visualising time series data with open source components.
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in Helios
 

Similar to Kanjava20110302

Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2JooinK
 
Modern Web Technologies
Modern Web TechnologiesModern Web Technologies
Modern Web TechnologiesPerttu Myry
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)firenze-gtug
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13Fred Sauer
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webChristian Heilmann
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosifirenze-gtug
 
Audit your reactive applications
Audit your reactive applicationsAudit your reactive applications
Audit your reactive applicationsOCTO Technology
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitIMC Institute
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoJuliano Martins
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformDidier Girard
 
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)Igalia
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Webmasuland
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsArtur Cistov
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoCaridy Patino
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudLyzun Oleksandr
 

Similar to Kanjava20110302 (20)

Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
 
GWT♥HTML5
GWT♥HTML5GWT♥HTML5
GWT♥HTML5
 
Modern Web Technologies
Modern Web TechnologiesModern Web Technologies
Modern Web Technologies
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-web
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosi
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Audit your reactive applications
Audit your reactive applicationsAudit your reactive applications
Audit your reactive applications
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile Híbrido
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platform
 
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
 
Vodafone Widget Camp
Vodafone Widget CampVodafone Widget Camp
Vodafone Widget Camp
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
WAF protections and bypass resources
WAF protections and bypass resourcesWAF protections and bypass resources
WAF protections and bypass resources
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery Internals
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento Cloud
 

More from Go Tanaka

DevLOVE Kansai KnockoutJS
DevLOVE Kansai KnockoutJSDevLOVE Kansai KnockoutJS
DevLOVE Kansai KnockoutJSGo Tanaka
 
Jvm internal
Jvm internalJvm internal
Jvm internalGo Tanaka
 
Knockout handson
Knockout handsonKnockout handson
Knockout handsonGo Tanaka
 
Knockout bindings
Knockout bindingsKnockout bindings
Knockout bindingsGo Tanaka
 
Implement curry
Implement curryImplement curry
Implement curryGo Tanaka
 
Log4j 2 writing
Log4j 2 writingLog4j 2 writing
Log4j 2 writingGo Tanaka
 
Log4j 2 source code reading
Log4j 2 source code readingLog4j 2 source code reading
Log4j 2 source code readingGo Tanaka
 
InvokeDynamic at #shikadriven 2012
InvokeDynamic at #shikadriven 2012InvokeDynamic at #shikadriven 2012
InvokeDynamic at #shikadriven 2012Go Tanaka
 
Studying Network #1
Studying Network #1Studying Network #1
Studying Network #1Go Tanaka
 
Inside The Java Virtual Machine
Inside The Java Virtual MachineInside The Java Virtual Machine
Inside The Java Virtual MachineGo Tanaka
 
Nettyらへん
NettyらへんNettyらへん
NettyらへんGo Tanaka
 
T2 reading 20101126
T2 reading 20101126T2 reading 20101126
T2 reading 20101126Go Tanaka
 
Slim3 Gwt In Action
Slim3 Gwt In ActionSlim3 Gwt In Action
Slim3 Gwt In ActionGo Tanaka
 
はじめてのPHP
はじめてのPHPはじめてのPHP
はじめてのPHPGo Tanaka
 
T2 - 関ジャバ1月27日
T2 - 関ジャバ1月27日T2 - 関ジャバ1月27日
T2 - 関ジャバ1月27日Go Tanaka
 

More from Go Tanaka (17)

DevLOVE Kansai KnockoutJS
DevLOVE Kansai KnockoutJSDevLOVE Kansai KnockoutJS
DevLOVE Kansai KnockoutJS
 
Jvm internal
Jvm internalJvm internal
Jvm internal
 
CPU
CPUCPU
CPU
 
Knockout handson
Knockout handsonKnockout handson
Knockout handson
 
Knockout bindings
Knockout bindingsKnockout bindings
Knockout bindings
 
Implement curry
Implement curryImplement curry
Implement curry
 
Log4j 2 writing
Log4j 2 writingLog4j 2 writing
Log4j 2 writing
 
Log4j 2 source code reading
Log4j 2 source code readingLog4j 2 source code reading
Log4j 2 source code reading
 
InvokeDynamic at #shikadriven 2012
InvokeDynamic at #shikadriven 2012InvokeDynamic at #shikadriven 2012
InvokeDynamic at #shikadriven 2012
 
Studying Network #1
Studying Network #1Studying Network #1
Studying Network #1
 
Inside The Java Virtual Machine
Inside The Java Virtual MachineInside The Java Virtual Machine
Inside The Java Virtual Machine
 
FxUG HTML5
FxUG HTML5FxUG HTML5
FxUG HTML5
 
Nettyらへん
NettyらへんNettyらへん
Nettyらへん
 
T2 reading 20101126
T2 reading 20101126T2 reading 20101126
T2 reading 20101126
 
Slim3 Gwt In Action
Slim3 Gwt In ActionSlim3 Gwt In Action
Slim3 Gwt In Action
 
はじめてのPHP
はじめてのPHPはじめてのPHP
はじめてのPHP
 
T2 - 関ジャバ1月27日
T2 - 関ジャバ1月27日T2 - 関ジャバ1月27日
T2 - 関ジャバ1月27日
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - 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)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Kanjava20110302

  • 2.
  • 3.
  • 4.
  • 5. Compile Java JavaScript
  • 6.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. “Deferred Binding is Google Web Toolkit's answer to Java reflection.” http://code.google.com/webtoolkit/doc/1.6/FAQ_Client.html#What_is_Deferred_Binding?
  • 13. http://www.youtube.com/watch?v=nvti32k4xyU Your Code Download exactly what you Your Code need in a single, optimized, can’t-go-wrong chunk FireFox IE6 en_US en_UK Single Java 1D04ADDA.cache.html Code Base 15F361B8.cache.html Your Code Your Code Then cache it on the client Safari until the sun explodes Opera 9 fr_FR fr_CA 7EFE4D24.cache.html D415D917.cache.html
  • 14. private static final PopupImpl impl = GWT.create(PopupImpl.class); <module>   <!-- Fall through to this rule is the browser isn't IE or Mozilla -->   <replace-with class="com.google.gwt.user.client.ui.impl.PopupImpl">     <when-type-is class="com.google.gwt.user.client.ui.impl.PopupImpl"/>   </replace-with>   <!-- Mozilla needs a different implementation due to issue #410 -->   <replace-with class="com.google.gwt.user.client.ui.impl.PopupImplMozilla">     <when-type-is class="com.google.gwt.user.client.ui.impl.PopupImpl"/>     <any>       <when-property-is name="user.agent" value="gecko"/>       <when-property-is name="user.agent" value="gecko1_8"/>     </any>   </replace-with>   <!-- IE has a completely different popup implementation -->   <replace-with class="com.google.gwt.user.client.ui.impl.PopupImplIE6">     <when-type-is class="com.google.gwt.user.client.ui.impl.PopupImpl"/>     <when-property-is name="user.agent" value="ie6" />   </replace-with> </module>
  • 15.
  • 16.     Button b = new Button("Click me", new ClickHandler() {       public void onClick(ClickEvent event) {         GWT.runAsync(new RunAsyncCallback() {           public void onFailure(Throwable caught) {             Window.alert("Code download failed");           }           public void onSuccess() {             Window.alert("Hello, AJAX");           }         });       }     });
  • 17. Host Page (Module.html) Selection Script (module.nocache.html) Permutation Script Browser (Strongly-named.cache.html) Server onload Module starts running runAsync Fragments
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. public static native void log(String msg) /*-{ var logger = $wnd.console; if(logger && logger.markTimeline) { logger.markTimeline(msg); } }-*/;
  • 26.
  • 27.
  • 28.
  • 29.
  • 31.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. SmartGWT mobile specific version http://bit.ly/bzK6xB
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 50.
  • 51.

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n