SlideShare ist ein Scribd-Unternehmen logo
1 von 105
GWT, die bessere Spinne für
 das Web?

papick g.taboada | pgt technology scouting GmbH
                                           1
GWT,
                  die bessere Spinne für das Web?



                         Mit welchem Framework soll ich das Web von
                         heute (und das von morgen) entwickeln?




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT,
                  die bessere Spinne für das Web?



                         Warum steckt Google soviel Kraft in GWT und
                         nicht in eine eigene JSF-Implementierung?




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT,
                  die bessere Spinne für das Web?


                         In diesem Vortrag werden verschiedene Aspekte
                         aus der Webentwicklung beleuchtet - unter
                         anderem Politik, Architektur, Produktivität,
                         Laufzeitumgebung, Skills - und erklärt, warum
                         GWT die bessere Spinne ist.




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT is better.
‣ The Web?
          ‣ RIAs - The architectural shift
          ‣ Standards?
Session   ‣ Developing smarter
Topics
Web 2.0, 3.0 ?!?
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Web 2.0 by apps?
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Web 2.0 by buzzwords?
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Web 2.0 by technologies?
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Web 2.0 by what we see
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Mashups
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
But how?!?
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
XML
                                                                      JavaScript
                              HTML
                                                                              DOM/ DOM-Scripting

                               XMLHttpRequest
                                                                                   JSON




                                                 Dynamic HTML
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
copyright 2006, Leland Scott, Musings from Mars
                          Native DHTML speakers
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
The Ajax
        slippery slope
            ‣ Try “a little bit of script”
            ‣ Every body loves it!
             ‣ More!!!
               ‣ Errr - Do we know
                  Javascript?
            ‣ Does it work with…
               ‣ Wait – this is hard!
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Fear browsers
          with all of mind,
          body and spirit
                                  When in danger,
                                  when in doubt,
                                   run in circles
                                  cry and shout




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
HTML5                                       Chrome            Firefox   Safari   Opera

                             canvas
                               video
              geolocation
                     appcache
                       database
                                                                                                      Vic Gundotra
                        workers                                                                  Google IO Keynote




                         HTML 5 here and now
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
‣ The Web?
           ‣ RIAs - The architectural
              shift

Session   ‣ Standards?
Topics    ‣ Developing smarter
The web THEN
               and now
         Browsers where dumb html
          terminals
         High server side resource
          consumption




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Browser                             Server


            event


                      espo    nse
          full html r

             event


                        spo   nse
          fu ll html re


             event


                        spo   nse
          fu ll html re
Browser                             Server


            event


                      espo    nse
          full html r

             event


                        spo   nse
          fu ll html re


             event


                        spo   nse
          fu ll html re
Browser                             Server


            event


                      espo    nse
          full html r

             event


                        spo   nse
          fu ll html re


             event


                        spo   nse
          fu ll html re
Browser                             Server


            event


                      espo    nse
          full html r

             event


                        spo   nse
          fu ll html re


             event


                        spo   nse
          fu ll html re
134 Requests

1/2 MB Download


THAT WAS ONE
  REQUEST!!!
Caching helps, partially
something to
                  remember
                                   measuring web
                                    performance

                                                    is

                                         measuring
                                          latency

© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
The web then
                 and NOW
           Rich user interfaces in the
            Browser
           Server resource consumption
            reduced to a minimum




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
The „ajax“ architectural shift
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Browser                               Server
                      first reques
                                       t


                              e sp   o n se
                  full html r
event



event

                    data reque
                                  st
event

                           data
event
                      data reque
                                       st


                           data
JAX
                              honour the A in AJAX
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
AJAX stands for
                                                                          Asynchronous
                                                                       JavaScript and XML




                                                                      JAX
                              honour the A in AJAX
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
AJAX stands for
                                                                         Asynchronous
                                                                      JavaScript and XML




                                                                      JAX
                              honour the A in AJAX
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
AJAX stands for
                                                                         Asynchronous        or
                                                                      JavaScript and XML   JSON...




                                                                      JAX
                              honour the A in AJAX
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
D HT M L
http://breganzane.com/blog/snfl.php




                                            Ajaxifying Webapps
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
http://breganzane.com/blog/snfl.php




                                            Ajaxifying Webapps
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
RPC




                                 RIAs == Rich Clients
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
yes we can!
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-designpatterns.html




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-designpatterns.html




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
architectural freedom
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
know-how?
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
yes, we can.
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Eventbus,
      Model-View-Presenter,
      Command Pattern,
      Dependency Injection...




                    Ray Ryan - lessons learned
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
‣ The Web?
          ‣ RIAs - The architectural shift
           ‣ Standards?
Session   ‣ Developing smarter
Topics
http://de.wikipedia.org/wiki/   Standard


• De-facto- oder Quasi-Standards
• Industriestandard
• Herstellerspezifische Standards
• Offener Standard
Java Web Standard?

                  Industriestandard
• Java EE ist ein De-facto oder Quasi-Standard in
  der Entwicklung von unternehmenskritischen
  Anwendungen
             Standard
• JSF Spezifikation ist Teil der Java EE Spezifikation
To JSF or not to JSF,
 that‘s the question
http://de.wikipedia.org/wiki/   Proprietär

• Juristisch „urheberrechtlich geschützt“
• IT: Dinge, die nicht allgemein anerkannten
  Standards entsprechen („hauseigene
  Entwicklungen“)

• Freie-Software-Bewegung: alles was nicht frei
  (Lizenztechnisch) und Quelloffen ist.
WEB Standards   Java EE Standards




                                   klassische
                                  dynamische
RIAs
                                  Webanwend
                                     ungen




         Where is the magic?
GWT & Standards
cloud

    HTML5
                       IE6
             IE10
                  IE9
   HTML4
             JS
                      Support
     Websphere
     5... 6... 7...
                Mobile



Zukunftsicherheit
gibts nicht.
Gewährleistung

Herstellerunabhängigkeit?
Herstellersupport
gibts nicht.
JBoss

Sencha
          Google                      (RichFaces)

(GXT)    GWT                    Prime Technology    JSF
                                  (PrimeFaces)
          Isomorphic Software
             (Smart GWT)                           Icesoft Technologies
                                                        (IceFaces)




                      Blau oder Rot?
google is „dogfooding“
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
there is some commitment
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
there are some commiters
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
‣ The Web?
          ‣ RIAs - The architectural shift
          ‣ Standards?
Session    ‣ Developing smarter
Topics
Google Web Toolkit
                  	

 Google Web Toolkit (GWT) is an open source Java
                      development framework that lets you escape the matrix
                      of technologies that make writing AJAX applications so
                      difficult and error prone.


                  	

 With GWT, you can develop and debug AJAX
                      applications in the Java language using the Java
                      development tools of your choice. When you deploy
                      your application to production, the GWT compiler
                      translates your Java application to browser-compliant
                      JavaScript and HTML.


© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT
                  	

 Google Web Toolkit (GWT) is an open source Java
                      development framework that lets you escape the matrix
                      of technologies that make writing AJAX applications so
                      difficult and error prone.


                  	

 With GWT, you can develop and debug AJAX
                      applications in the Java language using the Java
                      development tools of your choice. When you deploy
                      your application to production, the GWT compiler
                      translates your Java application to browser-compliant
                      JavaScript and HTML.


© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Standalone JS apps
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
JS app can be anything
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT designer                                   Plugin for Eclipse




                                                                          Speed Tracer
                              SDK


                                                                      unboxing
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT SDK
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
development cycle
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Develop in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Develop in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Checkstyle




                                                   Develop in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Checkstyle

                                                                      Findbugs,
                                                                        PMD




                                                   Develop in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Checkstyle

                                                                      Findbugs,
                                                                        PMD

                                                                       Patterns




                                                   Develop in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Checkstyle

                                                                       Findbugs,
                                                                         PMD

                                                                       Patterns

                                                                      Unit testing




                                                   Develop in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Checkstyle

                                                                       Findbugs,
                                                                         PMD

                                                                       Patterns

                                                                      Unit testing

                                                                      Refactoring!




                                                   Develop in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
it‘s about engineering
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
One click start
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Use the webapp
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Debug in Java
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Cross compile to JS
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Distribute
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT does
             more than just
               compile.
                                        Much more.

                               The sky is the limit?




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
connection bottleneck
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Helping where help is needed
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Sprites
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
!=


                           project layout vs. deployment layout
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Developer guided splits
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Splitting the app
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Generated deferred JS
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT is
                           extensible
                                 Module concept
                              Extensible GUI model
                                Code Generator
                                       JSNI




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
GWT is better.
Better for business
• Sponsored/ developed by Google
                      • Apache 2 license
                      • Leverage Java knowledge for RIA development
                      • Software engineering suitable for product
                             development




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Better for developers
• End to end debugging
                      • No package/ deploy roundtrips
                      • Leverage Java knowledge and tooling



© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Better for performance
• Split points reduce initial download
                      • Minimal server load by just loading data
                      • Reduced number of requests
                      • Uses client/ browser resources to free up server
                             resources




© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Better for architects
• Build-What-You-Need (tm)
                      • Leverage browser capabilities



© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
Thanks!
© 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de

Weitere ähnliche Inhalte

Ähnlich wie Gwt, die bessere spinne

My freelance experience
My freelance experienceMy freelance experience
My freelance experience
traditio
 
NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...
NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...
NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...
GetInData
 
Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...
Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...
Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...
confluent
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
deimos
 

Ähnlich wie Gwt, die bessere spinne (20)

2011 Mobile & Web technologies
2011 Mobile & Web technologies 2011 Mobile & Web technologies
2011 Mobile & Web technologies
 
Example using LattePanda
Example using LattePandaExample using LattePanda
Example using LattePanda
 
Html5 tx - preso
Html5 tx - presoHtml5 tx - preso
Html5 tx - preso
 
Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2
 
Deep dive into serverless on Google Cloud
Deep dive into serverless on Google CloudDeep dive into serverless on Google Cloud
Deep dive into serverless on Google Cloud
 
Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?
 
My freelance experience
My freelance experienceMy freelance experience
My freelance experience
 
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
 
Phonegap
PhonegapPhonegap
Phonegap
 
NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...
NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...
NLP for videos: Understanding customers' feelings in videos - Albert Lewandow...
 
Javaland 2014 / GWT architectures and lessons learned
Javaland 2014 / GWT architectures and lessons learnedJavaland 2014 / GWT architectures and lessons learned
Javaland 2014 / GWT architectures and lessons learned
 
The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...
Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...
Industry-ready NLP Service Framework Based on Kafka (Bernhard Waltl and Georg...
 
Overview of webSpoon @ Pentaho Bay Area Meetup
Overview of webSpoon @ Pentaho Bay Area MeetupOverview of webSpoon @ Pentaho Bay Area Meetup
Overview of webSpoon @ Pentaho Bay Area Meetup
 
Svelte the future of frontend development
Svelte   the future of frontend developmentSvelte   the future of frontend development
Svelte the future of frontend development
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
 
Cutting edge of web technology
Cutting edge of web technologyCutting edge of web technology
Cutting edge of web technology
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
 
HTML 5
HTML 5HTML 5
HTML 5
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Gwt, die bessere spinne

  • 1. GWT, die bessere Spinne für das Web? papick g.taboada | pgt technology scouting GmbH 1
  • 2. GWT, die bessere Spinne für das Web? Mit welchem Framework soll ich das Web von heute (und das von morgen) entwickeln? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 3. GWT, die bessere Spinne für das Web? Warum steckt Google soviel Kraft in GWT und nicht in eine eigene JSF-Implementierung? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 4. GWT, die bessere Spinne für das Web? In diesem Vortrag werden verschiedene Aspekte aus der Webentwicklung beleuchtet - unter anderem Politik, Architektur, Produktivität, Laufzeitumgebung, Skills - und erklärt, warum GWT die bessere Spinne ist. © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 6. ‣ The Web? ‣ RIAs - The architectural shift ‣ Standards? Session ‣ Developing smarter Topics
  • 7. Web 2.0, 3.0 ?!? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 8. Web 2.0 by apps? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 9. Web 2.0 by buzzwords? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 10. Web 2.0 by technologies? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 11. Web 2.0 by what we see © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 12. Mashups © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 13. But how?!? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 14. XML JavaScript HTML DOM/ DOM-Scripting XMLHttpRequest JSON Dynamic HTML © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 15. copyright 2006, Leland Scott, Musings from Mars Native DHTML speakers © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 16. The Ajax slippery slope ‣ Try “a little bit of script” ‣ Every body loves it! ‣ More!!! ‣ Errr - Do we know Javascript? ‣ Does it work with… ‣ Wait – this is hard! © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 17. Fear browsers with all of mind, body and spirit When in danger, when in doubt, run in circles cry and shout © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 18. HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache database Vic Gundotra workers Google IO Keynote HTML 5 here and now © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 19. ‣ The Web? ‣ RIAs - The architectural shift Session ‣ Standards? Topics ‣ Developing smarter
  • 20. The web THEN and now  Browsers where dumb html terminals  High server side resource consumption © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 21. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 22. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 23. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 24. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 25.
  • 26. 134 Requests 1/2 MB Download THAT WAS ONE REQUEST!!!
  • 28. something to remember measuring web performance is measuring latency © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 29. The web then and NOW  Rich user interfaces in the Browser  Server resource consumption reduced to a minimum © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 30. The „ajax“ architectural shift © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 31. Browser Server first reques t e sp o n se full html r event event data reque st event data event data reque st data
  • 32.
  • 33. JAX honour the A in AJAX © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 34. AJAX stands for Asynchronous JavaScript and XML JAX honour the A in AJAX © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 35. AJAX stands for Asynchronous JavaScript and XML JAX honour the A in AJAX © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 36. AJAX stands for Asynchronous or JavaScript and XML JSON... JAX honour the A in AJAX © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 37.
  • 38. D HT M L
  • 39. http://breganzane.com/blog/snfl.php Ajaxifying Webapps © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 40. http://breganzane.com/blog/snfl.php Ajaxifying Webapps © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 41. RPC RIAs == Rich Clients © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 42. yes we can! © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 43. © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 44. http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-designpatterns.html © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 45. http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-designpatterns.html © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 46. architectural freedom © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 47. know-how? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 48. yes, we can. © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 49. Eventbus, Model-View-Presenter, Command Pattern, Dependency Injection... Ray Ryan - lessons learned © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 50. ‣ The Web? ‣ RIAs - The architectural shift ‣ Standards? Session ‣ Developing smarter Topics
  • 51.
  • 52. http://de.wikipedia.org/wiki/ Standard • De-facto- oder Quasi-Standards • Industriestandard • Herstellerspezifische Standards • Offener Standard
  • 53. Java Web Standard? Industriestandard • Java EE ist ein De-facto oder Quasi-Standard in der Entwicklung von unternehmenskritischen Anwendungen Standard • JSF Spezifikation ist Teil der Java EE Spezifikation
  • 54. To JSF or not to JSF, that‘s the question
  • 55. http://de.wikipedia.org/wiki/ Proprietär • Juristisch „urheberrechtlich geschützt“ • IT: Dinge, die nicht allgemein anerkannten Standards entsprechen („hauseigene Entwicklungen“) • Freie-Software-Bewegung: alles was nicht frei (Lizenztechnisch) und Quelloffen ist.
  • 56. WEB Standards Java EE Standards klassische dynamische RIAs Webanwend ungen Where is the magic?
  • 58. cloud HTML5 IE6 IE10 IE9 HTML4 JS Support Websphere 5... 6... 7... Mobile Zukunftsicherheit
  • 62. JBoss Sencha Google (RichFaces) (GXT) GWT Prime Technology JSF (PrimeFaces) Isomorphic Software (Smart GWT) Icesoft Technologies (IceFaces) Blau oder Rot?
  • 63. google is „dogfooding“ © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 64. there is some commitment © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 65. there are some commiters © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 66. ‣ The Web? ‣ RIAs - The architectural shift ‣ Standards? Session ‣ Developing smarter Topics
  • 67. Google Web Toolkit Google Web Toolkit (GWT) is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML. © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 68. GWT Google Web Toolkit (GWT) is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML. © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 69. Standalone JS apps © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 70. JS app can be anything © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 71. GWT designer Plugin for Eclipse Speed Tracer SDK unboxing © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 72. GWT SDK © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 73. development cycle © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 74. Develop in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 75. Develop in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 76. Checkstyle Develop in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 77. Checkstyle Findbugs, PMD Develop in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 78. Checkstyle Findbugs, PMD Patterns Develop in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 79. Checkstyle Findbugs, PMD Patterns Unit testing Develop in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 80. Checkstyle Findbugs, PMD Patterns Unit testing Refactoring! Develop in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 81. it‘s about engineering © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 82. One click start © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 83. Use the webapp © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 84. Debug in Java © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 85. Cross compile to JS © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 86. Distribute © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 87. GWT does more than just compile.  Much more.  The sky is the limit? © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 88. connection bottleneck © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 89. Helping where help is needed © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 90. Sprites © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 91. != project layout vs. deployment layout © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 92. Developer guided splits © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 93. Splitting the app © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 94. Generated deferred JS © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 95. GWT is extensible  Module concept  Extensible GUI model  Code Generator  JSNI © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 98. • Sponsored/ developed by Google • Apache 2 license • Leverage Java knowledge for RIA development • Software engineering suitable for product development © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 100. • End to end debugging • No package/ deploy roundtrips • Leverage Java knowledge and tooling © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 102. • Split points reduce initial download • Minimal server load by just loading data • Reduced number of requests • Uses client/ browser resources to free up server resources © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 104. • Build-What-You-Need (tm) • Leverage browser capabilities © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de
  • 105. Thanks! © 2011 P. G. Taboada | pgt technology scouting GmbH | http://pgt.de