SlideShare uma empresa Scribd logo
1 de 108
Was haben die Kunden von morgen
Google Web Toolkit,                     heute im Web gesehen und
                                bedient? Sind wir auch in der Lage,
making a better web?                      derartig JavaScript-lastige
                                    Anwendungen zu bauen? Wenn
                               Ihre Kernkompetenzen im Java-EE-
                                      Umfeld angesiedelt sind, dann
                                           dürfte das GWT ein sehr
                                   interessantes Webframework für
                                Sie sein. In diesem Vortrag werden
papick g. taboada
                                 die Konzepte rund um GWT sowie
pgt technology scouting GmbH
                                     Architekturaspekte einer GWT-
                                             Anwendung betrachtet.
Web 1.0, 2.0, 3.0 ?!?
© 2012 by pgt technology scouting GmbH
the new Web
© 2012 by pgt technology scouting GmbH
the BetterWeb™ !
© 2012 by pgt technology scouting GmbH
Topics   ‣The BetterWeb™
         ‣ The architectural shift
         ‣ Standards?
         ‣ Developing smarter
         ‣ GWT does the job?
BetterWeb™ by apps?
© 2012 by pgt technology scouting GmbH
BetterWeb™ by buzzwords?
© 2012 by pgt technology scouting GmbH
BetterWeb™
               by new technologies?
               by new devices?
               by new frameworks?
               by new plugins?
               by new products?




© 2012 by pgt technology scouting GmbH
no downtime                             no $$$   awesome UX   it simply works




                               BetterWeb™ by UX
© 2012 by pgt technology scouting GmbH
easy, right?
© 2012 by pgt technology scouting GmbH
no
© 2012 by pgt technology scouting GmbH
Topics   ‣ The BetterWeb™
         ‣ The architectural shift
         ‣ Standards?
         ‣ Developing smarter
         ‣ GWT does the job?
step 1 - use the browser
© 2012 by pgt technology scouting GmbH
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
The web THEN
             and now
        Browsers where dumb html
         terminals
        High server side resource
         consumption




© 2012 by pgt technology scouting GmbH
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
The web then
               and NOW
          Rich user interfaces in the
           Browser
          Server resource consumption
           reduced to a minimum




© 2012 by pgt technology scouting GmbH
The „ajax“ architectural shift
© 2012 by pgt technology scouting GmbH
step 2.1 - understand http
© 2012 by pgt technology scouting GmbH
step 2.2 - understand html
© 2012 by pgt technology scouting GmbH
step 2.3 - understand browsers
© 2012 by pgt technology scouting GmbH
connection bottleneck
© 2012 by pgt technology scouting GmbH
HTTP 1.1 Specification

8.1.4 Practical considerations



(...)

Clients that use persistent connections
SHOULD limit the number of
simultaneous connections that they
maintain to a given server. A single-user
client SHOULD NOT maintain more
than 2 connections with any server or
proxy.
(...)


 Chrome: 6 IE 6: 2 IE 7: 2 IE 8: 6 IE 10: 8 Safari: 6 Firefox: 6

                                         so what?
© 2012 by pgt technology scouting GmbH
even 20 would not be enough
© 2012 by pgt technology scouting GmbH
Actually, a good way
to kill your mobile
data plan and
battery life.



                                                                    side note:




                                         1
                                                           this is why amazons
                                                         „silk“ or does really
                                                               improve the surf
                                                        experience on mobile
                                                      devices. In fact, it would
                                                      improve the UX on any
                                                    device. Why bother doing
                                                   it right, when we can have
                                                          the cloud computing
                                                         power to the rescue?

                                         one!!!


            that was                        page request.
© 2012 by pgt technology scouting GmbH
134 Requests

                            1/2 MB Download


MEDIOCRITY
It takes a lot less time and most people won't notice the
difference until it's too late.
                                           © http://despair.com
cache time to live? new versions? only fixes subsequent calls!




                          Caching helps, partially
© 2012 by pgt technology scouting GmbH
remember:
                                    less
                                  latency
                                     is
                                  BETTER

© 2012 by pgt technology scouting GmbH
the thing you want to build is a RCC
RPC




       RCCs == Rich Cloud Clients
© 2012 by pgt technology scouting GmbH
XML
                                            JavaScript
                            HTML
                                                    DOM/ DOM-Scripting

                             XMLHttpRequest
                                                         JSON




                                         Dynamic HTML
© 2012 by pgt technology scouting GmbH
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!
© 2012 by pgt technology scouting GmbH
copyright 2006, Leland Scott, Musings from Mars
                       Native DHTML speakers
© 2012 by pgt technology scouting GmbH
Fear browsers
                    with all of mind,
                     body and spirit
                                         When in danger,
                                         when in doubt,
                                          run in circles
                                         cry and shout




© 2012 by pgt technology scouting GmbH
© http://www.duccutters.com/FrancoisKnorreck-Snaefell.tpl




      Ajaxifying the web is not a solution™
© 2012 by pgt technology scouting GmbH
© http://www.duccutters.com/FrancoisKnorreck-Snaefell.tpl




      Ajaxifying the web is not a solution™
© 2012 by pgt technology scouting GmbH
No, no, no.
                                         Please no!
                                           Please!




 html + css + js is here to stay
© 2012 by pgt technology scouting GmbH
HTML5                      Chrome   Firefox   Safari   Opera

                                         canvas
                                         video
                            geolocation
                                  appcache
                                                                                           Vic Gundotra
                                    database                                          Google IO Keynote

                                     workers


                      HTML 5 here and now
© 2012 by pgt technology scouting GmbH
Topics   ‣ The Web?
         ‣ The architectural shift
         ‣Standards?
         ‣ Developing smarter
         ‣ GWT does the job?
Java BetterWeb™ Standard?

                Industriestandard
• Java EE ist ein De-facto oder Quasi-Standard in
  der Entwicklung von unternehmenskritischen
  Anwendungen
• JSF Spezifikation ist Teil der Java EE Spezifikation
 Standard
Java EE Standard LOCK-IN



NO ONE EVER GOT
FIRED FOR BUYING
                   {   MICROSOFT
                       IBM
                       ORACLE
                       ...
To JSF or 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




 Rich                               vintage (?)
Cloud                               web app
Thing                               architecture




                 Wait...
GWT & Standards
Warranty

Vendor independence?
Support
cloud

              HTML5
                                 IE6
                       IE10
                            IE9
          HTML4
      the Avatar UI    JS
                                Support
               Websphere
               5... 6... 7...    Java FX
                          Mobile



but, what about the future?
JBoss

Sencha
          Google                        (RichFaces)

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




                    blue or red pill?
AdWords, AdSense, Flights, Hotel Finder, Offers, Wallet, The New Blogger, Chrome Webstore, Product Search, Public
    Data, New Google Groups, Orkut, Google Takeout, Google Pagespeed, Google WebFonts, Google Tables



                         google is „dogfooding“
© 2012 by pgt technology scouting GmbH
Topics   ‣ The Web?
         ‣ The architectural shift
         ‣ Standards?
         ‣Developing smarter
         ‣ GWT does the job?
building the BetterWeb™
© 2012 by pgt technology scouting GmbH
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.


© 2012 by pgt technology scouting GmbH
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.


© 2012 by pgt technology scouting GmbH
GWT

                 open source framework
                 escape the matrix of technologies
                 develop and debug in Java
                 Java development tools
                 translates to browser-compliant JavaScript




© 2012 by pgt technology scouting GmbH
Standalone JS apps
© 2012 by pgt technology scouting GmbH
JS app can be anything
© 2012 by pgt technology scouting GmbH
development cycle
© 2012 by pgt technology scouting GmbH
Develop in Java
© 2012 by pgt technology scouting GmbH
Develop in Java
© 2012 by pgt technology scouting GmbH
Checkstyle




                                         Develop in Java
© 2012 by pgt technology scouting GmbH
Checkstyle

                                                           Findbugs,
                                                             PMD




                                         Develop in Java
© 2012 by pgt technology scouting GmbH
Checkstyle

                                                           Findbugs,
                                                             PMD

                                                            Patterns




                                         Develop in Java
© 2012 by pgt technology scouting GmbH
Checkstyle

                                                            Findbugs,
                                                              PMD

                                                            Patterns

                                                           Unit testing




                                         Develop in Java
© 2012 by pgt technology scouting GmbH
Checkstyle

                                                            Findbugs,
                                                              PMD

                                                            Patterns

                                                           Unit testing

                                                       Refactoring!




                                         Develop in Java
© 2012 by pgt technology scouting GmbH
it‘s about engineering
© 2012 by pgt technology scouting GmbH
One click start
© 2012 by pgt technology scouting GmbH
Use the webapp
© 2012 by pgt technology scouting GmbH
Debug in Java
© 2012 by pgt technology scouting GmbH
Cross compile to JS
© 2012 by pgt technology scouting GmbH
Distribute
© 2012 by pgt technology scouting GmbH
more than just a cross compiler
© 2012 by pgt technology scouting GmbH
panel


                                                 has



programmatic DOM                                 is           widget
manipulation                                           DOM
                                                       tree
declarative definition
event handling


        simple UI component model
© 2012 by pgt technology scouting GmbH
widget
                                         DOM
                                         tree



                                                  LOGIC in Java
         Java API
                                           LAYOUT in HTML/ CSS




                        separation of concerns
© 2012 by pgt technology scouting GmbH
I am not a widget!!




          very fast / efficient data grid
© 2012 by pgt technology scouting GmbH
@RemoteServiceRelativePath("echo")
    public interface EchoService extends RemoteService {
    
 String echo(String name);
    }


    public interface EchoServiceAsync {
    
 void echo(String name, AsyncCallback<String> callback);
    }


    public class EchoServiceImpl extends RemoteServiceServlet implements
    EchoService {
    
 public String echo(String name) {
    
 
 return name.toUpperCase();
    
 }
    }




                RPC style communication
© 2012 by pgt technology scouting GmbH
httprequest builder                        xml dom parser


                               i18n                      safeHTML templates
      logging
                                         css/ js obfuscation            requestFactory

          module concept                               code generator
                                                 permutations per browser/ language

         JSNI for native JS                                                     uiBinder

                                         and much more...
© 2012 by pgt technology scouting GmbH
living with the bottleneck
© 2012 by pgt technology scouting GmbH
!=


                        project layout vs. deployment layout
© 2012 by pgt technology scouting GmbH
sprites / client bundle
© 2012 by pgt technology scouting GmbH
doing the right thing
                    • inline css + js + html + images + sound into one
                          file

                    • browsers just get what they need (code,
                          language)

                    • caching done right!
                     • name patterns for cache configuration
                     • use new very unique filenames for each
                               compile output

© 2012 by pgt technology scouting GmbH
developer guided splits
© 2012 by pgt technology scouting GmbH
build what you need




                            architectural freedom
© 2012 by pgt technology scouting GmbH
do we know how?
© 2012 by pgt technology scouting GmbH
sometimes
© 2012 by pgt technology scouting GmbH
command pattern (dispatch)
                                place framework
                                                        eventbus
                                         model-view-presenter




                  Ray Ryan - lessons learned
© 2012 by pgt technology scouting GmbH
Topics   ‣ The Web?
         ‣ The architectural shift
         ‣ Standards?
         ‣ Developing smarter
         ‣GWT does the job?
Is GWT good for the BetterWeb™?
Good for business
• Sponsored/ developed by Google
                    • Lead by comitee
                    • Apache 2 licensed
                    • Leverages Java knowledge for web development
                    • brings software engineering to the web, suitable
                          for product development



© 2012 by pgt technology scouting GmbH
Better for developers
• End to end debugging
                    • No package/ deploy roundtrips
                    • Leverage Java knowledge and tooling



© 2012 by pgt technology scouting GmbH
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




© 2012 by pgt technology scouting GmbH
Better for architects
• Build-What-You-Need™
                    • Leverage browser capabilities



© 2012 by pgt technology scouting GmbH
Papick G. Taboada
Dipl. Wi.-Ing. (TU)


                                                http://pgt.de
                                                pgt technology scouting GmbH




                                       PROJECT-
                      BERATUNG         UNTERSTÜTZUNG

                                    POC                   REVIEWS




                                 COACHING
                                 SCHULUNG
http://blog.oio.de
) OIO Kompass : Java Web-Frameworks )
      Eine Studie zu den Hintergründen der Auswahl von Java Web-Frameworks.




2011: 52 Teilnehmer | 250 Entwickler                2012: bereits über 200 Teilnehmer
http://www.oio.de/kompass/ueberblick-java-web-frameworks-vergleich/
time for questions?
© 2012 by pgt technology scouting GmbH
© Glenn Roberts | motorcyclemojo.com
                  © François Knorreck
© 2006 Leland Scott, Musings from Mars
       © Skimvision | Dreamstime.com

                © Andreas Morlok | pixelio.de
                        © BirgitH | pixelio.de
                   © RainerSturm | pixelio.de
                         © joujou | pixelio.de
                      © schubalu | pixelio.de
                        © Stihl24 | pixelio.de

              © starush | istockphoto.com
               © doram | istockphoto.com
         © princessdlaf | istockphoto.com
     © northlightimages | istockphoto.com
                © koun | istockphoto.com
         © luismmolina | istockphoto.com
         © id: 9109006 | istockphoto.com
             © wellglad | istockphoto.com
               © jgroup | istockphoto.com
        © id:12861033 | istockphoto.com
         © Henrik5000 | istockphoto.com
          © craftvision | istockphoto.com
                © tap10 | istockphoto.com
                © sitox | istockphoto.com


                                                 Thanks!
          © MilosJokic | istockphoto.com
            © iqoncept | istockphoto.com
           © pictafolio | istockphoto.com
           © pictafolio | istockphoto.com

© 2012 by pgt technology scouting GmbH

Mais conteúdo relacionado

Semelhante a GWT - building a better web

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 Waredeimos
 
Gdd Keynote V China
Gdd Keynote V ChinaGdd Keynote V China
Gdd Keynote V Chinatravelinrain
 
Perspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - GooglePerspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - GoogleACMBangalore
 
Openwebdylanqconbeijing 090423091545-phpapp01
Openwebdylanqconbeijing 090423091545-phpapp01Openwebdylanqconbeijing 090423091545-phpapp01
Openwebdylanqconbeijing 090423091545-phpapp01youzitang
 
Sitepen Getting There From Here
Sitepen   Getting There From HereSitepen   Getting There From Here
Sitepen Getting There From HereGeorge Ang
 
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 learnedpgt technology scouting GmbH
 
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
 
IBM Bluemix saves the game
IBM Bluemix saves the gameIBM Bluemix saves the game
IBM Bluemix saves the gamegjuljo
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Jonas Bandi
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsSalesforce Developers
 
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
 
Meteor - The next generation software stack
Meteor - The next generation software stackMeteor - The next generation software stack
Meteor - The next generation software stackHenrik Ingo
 
The Next Generation Software Stack: Meteor
The Next Generation Software Stack: MeteorThe Next Generation Software Stack: Meteor
The Next Generation Software Stack: MeteorMongoDB
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Tom Deryckere
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 

Semelhante a GWT - building a better web (20)

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
 
Gdd Keynote V China
Gdd Keynote V ChinaGdd Keynote V China
Gdd Keynote V China
 
Perspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - GooglePerspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - Google
 
GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)
 
Openwebdylanqconbeijing 090423091545-phpapp01
Openwebdylanqconbeijing 090423091545-phpapp01Openwebdylanqconbeijing 090423091545-phpapp01
Openwebdylanqconbeijing 090423091545-phpapp01
 
Sitepen Getting There From Here
Sitepen   Getting There From HereSitepen   Getting There From Here
Sitepen Getting There From Here
 
Dmeeker Finala
Dmeeker FinalaDmeeker Finala
Dmeeker Finala
 
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 Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. WebThe Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. Web
 
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
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
 
IBM Bluemix saves the game
IBM Bluemix saves the gameIBM Bluemix saves the game
IBM Bluemix saves the game
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
 
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...
 
Meteor - The next generation software stack
Meteor - The next generation software stackMeteor - The next generation software stack
Meteor - The next generation software stack
 
The Next Generation Software Stack: Meteor
The Next Generation Software Stack: MeteorThe Next Generation Software Stack: Meteor
The Next Generation Software Stack: Meteor
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009
 
Orange Partner HTML5 Day
Orange Partner HTML5 DayOrange Partner HTML5 Day
Orange Partner HTML5 Day
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 

Último

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
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.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Último (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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!
 
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.pptxThe 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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

GWT - building a better web

  • 1. Was haben die Kunden von morgen Google Web Toolkit, heute im Web gesehen und bedient? Sind wir auch in der Lage, making a better web? derartig JavaScript-lastige Anwendungen zu bauen? Wenn Ihre Kernkompetenzen im Java-EE- Umfeld angesiedelt sind, dann dürfte das GWT ein sehr interessantes Webframework für Sie sein. In diesem Vortrag werden papick g. taboada die Konzepte rund um GWT sowie pgt technology scouting GmbH Architekturaspekte einer GWT- Anwendung betrachtet.
  • 2. Web 1.0, 2.0, 3.0 ?!? © 2012 by pgt technology scouting GmbH
  • 3. the new Web © 2012 by pgt technology scouting GmbH
  • 4. the BetterWeb™ ! © 2012 by pgt technology scouting GmbH
  • 5. Topics ‣The BetterWeb™ ‣ The architectural shift ‣ Standards? ‣ Developing smarter ‣ GWT does the job?
  • 6. BetterWeb™ by apps? © 2012 by pgt technology scouting GmbH
  • 7. BetterWeb™ by buzzwords? © 2012 by pgt technology scouting GmbH
  • 8. BetterWeb™  by new technologies?  by new devices?  by new frameworks?  by new plugins?  by new products? © 2012 by pgt technology scouting GmbH
  • 9. no downtime no $$$ awesome UX it simply works BetterWeb™ by UX © 2012 by pgt technology scouting GmbH
  • 10. easy, right? © 2012 by pgt technology scouting GmbH
  • 11. no © 2012 by pgt technology scouting GmbH
  • 12. Topics ‣ The BetterWeb™ ‣ The architectural shift ‣ Standards? ‣ Developing smarter ‣ GWT does the job?
  • 13. step 1 - use the browser © 2012 by pgt technology scouting GmbH
  • 14. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 15. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 16. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 17. Browser Server event espo nse full html r event spo nse fu ll html re event spo nse fu ll html re
  • 18. The web THEN and now  Browsers where dumb html terminals  High server side resource consumption © 2012 by pgt technology scouting GmbH
  • 19. 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
  • 20. The web then and NOW  Rich user interfaces in the Browser  Server resource consumption reduced to a minimum © 2012 by pgt technology scouting GmbH
  • 21. The „ajax“ architectural shift © 2012 by pgt technology scouting GmbH
  • 22. step 2.1 - understand http © 2012 by pgt technology scouting GmbH
  • 23. step 2.2 - understand html © 2012 by pgt technology scouting GmbH
  • 24. step 2.3 - understand browsers © 2012 by pgt technology scouting GmbH
  • 25. connection bottleneck © 2012 by pgt technology scouting GmbH
  • 26. HTTP 1.1 Specification 8.1.4 Practical considerations (...) Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. (...) Chrome: 6 IE 6: 2 IE 7: 2 IE 8: 6 IE 10: 8 Safari: 6 Firefox: 6 so what? © 2012 by pgt technology scouting GmbH
  • 27. even 20 would not be enough © 2012 by pgt technology scouting GmbH
  • 28.
  • 29. Actually, a good way to kill your mobile data plan and battery life. side note: 1 this is why amazons „silk“ or does really improve the surf experience on mobile devices. In fact, it would improve the UX on any device. Why bother doing it right, when we can have the cloud computing power to the rescue? one!!! that was page request. © 2012 by pgt technology scouting GmbH
  • 30. 134 Requests 1/2 MB Download MEDIOCRITY It takes a lot less time and most people won't notice the difference until it's too late. © http://despair.com
  • 31. cache time to live? new versions? only fixes subsequent calls! Caching helps, partially © 2012 by pgt technology scouting GmbH
  • 32. remember: less latency is BETTER © 2012 by pgt technology scouting GmbH
  • 33. the thing you want to build is a RCC
  • 34. RPC RCCs == Rich Cloud Clients © 2012 by pgt technology scouting GmbH
  • 35.
  • 36.
  • 37. XML JavaScript HTML DOM/ DOM-Scripting XMLHttpRequest JSON Dynamic HTML © 2012 by pgt technology scouting GmbH
  • 38. 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! © 2012 by pgt technology scouting GmbH
  • 39. copyright 2006, Leland Scott, Musings from Mars Native DHTML speakers © 2012 by pgt technology scouting GmbH
  • 40. Fear browsers with all of mind, body and spirit When in danger, when in doubt, run in circles cry and shout © 2012 by pgt technology scouting GmbH
  • 41. © http://www.duccutters.com/FrancoisKnorreck-Snaefell.tpl Ajaxifying the web is not a solution™ © 2012 by pgt technology scouting GmbH
  • 42. © http://www.duccutters.com/FrancoisKnorreck-Snaefell.tpl Ajaxifying the web is not a solution™ © 2012 by pgt technology scouting GmbH
  • 43. No, no, no. Please no! Please! html + css + js is here to stay © 2012 by pgt technology scouting GmbH
  • 44. HTML5 Chrome Firefox Safari Opera canvas video geolocation appcache Vic Gundotra database Google IO Keynote workers HTML 5 here and now © 2012 by pgt technology scouting GmbH
  • 45. Topics ‣ The Web? ‣ The architectural shift ‣Standards? ‣ Developing smarter ‣ GWT does the job?
  • 46.
  • 47. Java BetterWeb™ Standard? Industriestandard • Java EE ist ein De-facto oder Quasi-Standard in der Entwicklung von unternehmenskritischen Anwendungen • JSF Spezifikation ist Teil der Java EE Spezifikation Standard
  • 48. Java EE Standard LOCK-IN NO ONE EVER GOT FIRED FOR BUYING { MICROSOFT IBM ORACLE ...
  • 49. To JSF or to JSF, that‘s the question.
  • 50. 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.
  • 51. WEB Standards Java EE Standards Rich vintage (?) Cloud web app Thing architecture Wait...
  • 54. cloud HTML5 IE6 IE10 IE9 HTML4 the Avatar UI JS Support Websphere 5... 6... 7... Java FX Mobile but, what about the future?
  • 55. JBoss Sencha Google (RichFaces) (GXT) GWT Prime Technology JSF (PrimeFaces) Isomorphic Software Icesoft Technologies (Smart GWT) (IceFaces) blue or red pill?
  • 56. AdWords, AdSense, Flights, Hotel Finder, Offers, Wallet, The New Blogger, Chrome Webstore, Product Search, Public Data, New Google Groups, Orkut, Google Takeout, Google Pagespeed, Google WebFonts, Google Tables google is „dogfooding“ © 2012 by pgt technology scouting GmbH
  • 57. Topics ‣ The Web? ‣ The architectural shift ‣ Standards? ‣Developing smarter ‣ GWT does the job?
  • 58. building the BetterWeb™ © 2012 by pgt technology scouting GmbH
  • 59. 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. © 2012 by pgt technology scouting GmbH
  • 60. 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. © 2012 by pgt technology scouting GmbH
  • 61. GWT open source framework escape the matrix of technologies develop and debug in Java Java development tools translates to browser-compliant JavaScript © 2012 by pgt technology scouting GmbH
  • 62. Standalone JS apps © 2012 by pgt technology scouting GmbH
  • 63. JS app can be anything © 2012 by pgt technology scouting GmbH
  • 64. development cycle © 2012 by pgt technology scouting GmbH
  • 65. Develop in Java © 2012 by pgt technology scouting GmbH
  • 66. Develop in Java © 2012 by pgt technology scouting GmbH
  • 67. Checkstyle Develop in Java © 2012 by pgt technology scouting GmbH
  • 68. Checkstyle Findbugs, PMD Develop in Java © 2012 by pgt technology scouting GmbH
  • 69. Checkstyle Findbugs, PMD Patterns Develop in Java © 2012 by pgt technology scouting GmbH
  • 70. Checkstyle Findbugs, PMD Patterns Unit testing Develop in Java © 2012 by pgt technology scouting GmbH
  • 71. Checkstyle Findbugs, PMD Patterns Unit testing Refactoring! Develop in Java © 2012 by pgt technology scouting GmbH
  • 72. it‘s about engineering © 2012 by pgt technology scouting GmbH
  • 73. One click start © 2012 by pgt technology scouting GmbH
  • 74. Use the webapp © 2012 by pgt technology scouting GmbH
  • 75. Debug in Java © 2012 by pgt technology scouting GmbH
  • 76. Cross compile to JS © 2012 by pgt technology scouting GmbH
  • 77. Distribute © 2012 by pgt technology scouting GmbH
  • 78. more than just a cross compiler © 2012 by pgt technology scouting GmbH
  • 79. panel has programmatic DOM is widget manipulation DOM tree declarative definition event handling simple UI component model © 2012 by pgt technology scouting GmbH
  • 80. widget DOM tree LOGIC in Java Java API LAYOUT in HTML/ CSS separation of concerns © 2012 by pgt technology scouting GmbH
  • 81. I am not a widget!! very fast / efficient data grid © 2012 by pgt technology scouting GmbH
  • 82. @RemoteServiceRelativePath("echo") public interface EchoService extends RemoteService { String echo(String name); } public interface EchoServiceAsync { void echo(String name, AsyncCallback<String> callback); } public class EchoServiceImpl extends RemoteServiceServlet implements EchoService { public String echo(String name) { return name.toUpperCase(); } } RPC style communication © 2012 by pgt technology scouting GmbH
  • 83. httprequest builder xml dom parser i18n safeHTML templates logging css/ js obfuscation requestFactory module concept code generator permutations per browser/ language JSNI for native JS uiBinder and much more... © 2012 by pgt technology scouting GmbH
  • 84. living with the bottleneck © 2012 by pgt technology scouting GmbH
  • 85. != project layout vs. deployment layout © 2012 by pgt technology scouting GmbH
  • 86. sprites / client bundle © 2012 by pgt technology scouting GmbH
  • 87. doing the right thing • inline css + js + html + images + sound into one file • browsers just get what they need (code, language) • caching done right! • name patterns for cache configuration • use new very unique filenames for each compile output © 2012 by pgt technology scouting GmbH
  • 88. developer guided splits © 2012 by pgt technology scouting GmbH
  • 89. build what you need architectural freedom © 2012 by pgt technology scouting GmbH
  • 90. do we know how? © 2012 by pgt technology scouting GmbH
  • 91. sometimes © 2012 by pgt technology scouting GmbH
  • 92. command pattern (dispatch) place framework eventbus model-view-presenter Ray Ryan - lessons learned © 2012 by pgt technology scouting GmbH
  • 93. Topics ‣ The Web? ‣ The architectural shift ‣ Standards? ‣ Developing smarter ‣GWT does the job?
  • 94. Is GWT good for the BetterWeb™?
  • 96. • Sponsored/ developed by Google • Lead by comitee • Apache 2 licensed • Leverages Java knowledge for web development • brings software engineering to the web, suitable for product development © 2012 by pgt technology scouting GmbH
  • 98. • End to end debugging • No package/ deploy roundtrips • Leverage Java knowledge and tooling © 2012 by pgt technology scouting GmbH
  • 100. • 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 © 2012 by pgt technology scouting GmbH
  • 102. • Build-What-You-Need™ • Leverage browser capabilities © 2012 by pgt technology scouting GmbH
  • 103. Papick G. Taboada Dipl. Wi.-Ing. (TU) http://pgt.de pgt technology scouting GmbH PROJECT- BERATUNG UNTERSTÜTZUNG POC REVIEWS COACHING SCHULUNG
  • 105. ) OIO Kompass : Java Web-Frameworks ) Eine Studie zu den Hintergründen der Auswahl von Java Web-Frameworks. 2011: 52 Teilnehmer | 250 Entwickler 2012: bereits über 200 Teilnehmer
  • 107. time for questions? © 2012 by pgt technology scouting GmbH
  • 108. © Glenn Roberts | motorcyclemojo.com © François Knorreck © 2006 Leland Scott, Musings from Mars © Skimvision | Dreamstime.com © Andreas Morlok | pixelio.de © BirgitH | pixelio.de © RainerSturm | pixelio.de © joujou | pixelio.de © schubalu | pixelio.de © Stihl24 | pixelio.de © starush | istockphoto.com © doram | istockphoto.com © princessdlaf | istockphoto.com © northlightimages | istockphoto.com © koun | istockphoto.com © luismmolina | istockphoto.com © id: 9109006 | istockphoto.com © wellglad | istockphoto.com © jgroup | istockphoto.com © id:12861033 | istockphoto.com © Henrik5000 | istockphoto.com © craftvision | istockphoto.com © tap10 | istockphoto.com © sitox | istockphoto.com Thanks! © MilosJokic | istockphoto.com © iqoncept | istockphoto.com © pictafolio | istockphoto.com © pictafolio | istockphoto.com © 2012 by pgt technology scouting GmbH

Notas do Editor

  1. \n
  2. Hard to define &amp;#x2013; what is the web 2.0?\n\n Set of public web applications?\n Survivors of the .com crash?\n Set of Buzzwords?\n Set of technologies used?\n
  3. Hard to define &amp;#x2013; what is the web 2.0?\n\n Set of public web applications?\n Survivors of the .com crash?\n Set of Buzzwords?\n Set of technologies used?\n
  4. \n
  5. \n
  6. What are Web 2.0 Apps, and where did they come from?\n \n DoubleClick &amp;#x2192; Google AdSense\n Ofoto (Kodakgallery) &amp;#x2192; Flickr\n &amp;#x201E;Akamai &amp;#x2192; BitTorrent\n mp3.com &amp;#x2192; Napster (iTunes?)\n Britannica Online &amp;#x2192; Wikipedia\n personal websites &amp;#x2192; blogging\n Evite &amp;#x2192; Upcoming.org and EVDB\n domain name speculation &amp;#x2192; search engine optimization\n page views &amp;#x2192; cost per click\n screen scraping &amp;#x2192; web services\n publishing &amp;#x2192; participation\n content management systems &amp;#x2192; wikis\n directories (&amp;#x201D;taxonomy&amp;#x201C;) &amp;#x2192; tagging (&amp;#x201D;folksonomy&amp;#x201C;)\n stickiness &amp;#x2192; syndication\n
  7. Web 2.0 buzzwords we probably should know...\n RSS\n Atom\n Trackbacks\n Pingbacks\n Social bookmarking\n Podcasting (audio, video)\n Blogs, blogosphere\n RIAs &amp;#x2013; Rich Internet Applications\n
  8. Builds on known DHTML technologies\n HTML\n Javascript\n CSS\n Less plugin based&amp;#x2026;\n no Java applets\n no Flash applets\n etc&amp;#x2026;\n
  9. Rich user experience\n by great ideas \n by great user interface\n by good services\n by low pricing\n
  10. \n
  11. \n
  12. \n
  13. \n
  14. From:\nFast, Easy, Beautiful &amp;#x2013; Pick Three\nGoogle Developer Days 2007\n\nCopyright Google\n
  15. From:\nFast, Easy, Beautiful &amp;#x2013; Pick Three\nGoogle Developer Days 2007\n\nCopyright Google\n
  16. From:\nFast, Easy, Beautiful &amp;#x2013; Pick Three\nGoogle Developer Days 2007\n\nCopyright Google\n
  17. Browsers where dumb html terminals\n Page roundtrips \n Latency\n High amount of data transferred over and over again\n High server side resource consumption\n
  18. From:\nFast, Easy, Beautiful &amp;#x2013; Pick Three\nGoogle Developer Days 2007\n\nCopyright Google\n
  19. With Ajax\n Background, asynchronous communication\n With DHTML\n Application runtime platform\n Easy, really VERY *easy* deployment\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. todo: bild\n
  38. No Plugins\nJust Javascript, HTML and CSS\n\n
  39. \n
  40. \n
  41. \n
  42. TODO tabelle abpinseln\n\n
  43. \n
  44. Papick\n
  45. Papick\n - ja JSF ist Standard innerhalb einer Spezifikation\n - nein GWT ist nicht Standard in diesem Kontext\n
  46. Papick\n - ja JSF ist Standard innerhalb einer Spezifikation\n - nein GWT ist nicht Standard in diesem Kontext\n
  47. \n
  48. Papick\n
  49. Papick\nDer Kontext verschiebt sich zu offenen quasi-Standards \n Wir m&amp;#xFC;ssen uns fragen: Hat unser Kontext jetzt noch G&amp;#xFC;ltigkeit?\n
  50. Wechsel zu TOM\n- Propriet&amp;#xE4;re Komponenten: blaue K&amp;#xE4;stchen\n- Alles andere sind quasi-Standards bzw. Gremien die f&amp;#xFC;r Standards stehen \n \n
  51. Tom\nSpannungsfeld: Wir wollen nicht abh&amp;#xE4;ngig von einem Hersteller sein, wollen aber Support und Gew&amp;#xE4;hrleistung\n-&gt; Schizophren\n\nGgf. Verliere ich beides &amp;#x2026;\n
  52. Tom\n Politisch ist die Frage nach Zukunftssicherheit wichtig\n im Web-Umfeld schwierig zu sagen\n Standards helfen nur bedingt: Wir k&amp;#xF6;nnen sp&amp;#xE4;ter dar&amp;#xFC;ber sprechen wann welche Standards uns keine Zukunftssicherheit geboten haben\n- Es gibt einen HTML Standard und wir stecken trotzdem auf dem IE6 fest&amp;#x2026;\n\n Wenn Standards uns schon keine Zukunftssicherheit bieten, dann brauchen wir also einen Blick in die Kristallkugel.\n Es gibt heute sehr viel Javascript\n Es gibt mobile Clients, die wir bislang nicht auf dem Radar hatten\n Es gibt NoSQL und Cloud &amp;#x2013; worauf der JEE Standard noch keine Antworten parat hat\n HTML 5 sorgt f&amp;#xFC;r neue Browser und l&amp;#xF6;sen der IE6 Umklammerung\n\n&gt; Welche Schl&amp;#xFC;sse wir daraus ziehen, muss wiederum jeder f&amp;#xFC;r sein Prokjekt beurteilen\n Das Web von heute ist HTML/JS/Browser-basiert, mehr Sicherheit k&amp;#xF6;nnen wir nicht aus der Kristallkugel ziehen\n
  53. Papick: Was darfs sein: Rot oder blau?\n\nTom: \nBei JSF hab ich die Wahl zwischen zwei Implementierungen, diese sind austauschbar\nErst mit der Wahl einer Komponentenbibliothek lege ich mich wirklich fest und komme dann wahrscheinlich schwerer weg\nRichfaces geh&amp;#xF6;rt zu Redhat, damit erfolgreiches Unternehmen mit guten zukunftsaussichten\n\n\nPapick:\nGWT == abh&amp;#xE4;ngigkeit von Google wg. Compiler\nVorteil von Google: Keine Zeit und Geldprobleme, GWT ist politisch wichtig f&amp;#xFC;r Google\nHeisst : Ich habe mich entschieden meine Komponenten selbst zu schreiben.\n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. GWT application are standalone rich client applications running in the browser\n Can use RPC to fetch/ send data to the server, as rich clients do.\n
  61. \n
  62. \n
  63. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful. \n\n
  64. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful. \n\n
  65. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful. \n\n
  66. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful. \n\n
  67. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful. \n\n
  68. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful. \n\n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. - DOM Abstraktion\n- Json, HTTP, HTML API\n- Browser History API\n- Unified event modell\n\n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n