SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
First steps with GWT
Google I/O Extended 2014 - Friuli Venezia Giulia/Veneto
Giampaolo
@trapo1975
+Giampaolo.Trapasso
www.cosenonjaviste.it
GWT (/ˈɡwɪt/)
I’m a open source development toolkit for
building and optimizing complex browser-
based applications.
Let me introduce myself
My complete name is Google Web Toolkit or 

GWT Web Toolkit if you like
I’m 8 years old..
GWT 1.0 - May 17, 2006
I worked at Google as Java-to-Javascript specialist
but have still good relations
My home is http://www.gwtproject.org/
I speak Java
also Javascript, CSS, HTML
In my circle of friends: all browsers and 100K developers
Seriously..what can you do with GWT?
Google Flights
https://www.google.it/flights/
Google Groups
https://groups.google.com
Blogger
https://www.blogger.com/home
Evernote homepage
https://www.evernote.com/Home.action
Angry Birds for Chrome
https://www.youtube.com/watch?v=F_sbusEUz5w
Quake II GWT Port
https://code.google.com/p/quake2-gwt-port/
Picshare
http://picshare.jooink.com/
and more!
• http://www.devsniper.com/my-selected-gwt-
applications/
• http://gwtreferencelist.appspot.com/
• http://www.quora.com/What-web-applications-use-
Google-Web-Toolkit-(GWT)
Something about GWT from recent reports
Java Tools & Technologies
Landscape for 2014
http://pages.zeroturnaround.com/Java-Tools-Technologies.html
Web Framework in use
The Future of GWT Report 2013
https://vaadin.com/gwt/report-2013
Main GWT components
• Java-to-JavaScript Compiler
• JRE emulation library
• GWT Development Mode
• GWT Web UI class library
PROs
• It uses Java (strong typing)
• Learning curve
• Libraries
• Reuse of server logic
• GWT’s built-in protocol to transfer data between the client and the server
without any additional knowledge of how the data is packaged and sent
(GWT-RPC)
• IDE and development tools support: refactor, debug, code navigation, unit
test
• Handle the browser compatibility and I18N
PROs
• The GWT compiler optimizes the generated code, removes dead code
and even obfuscates the JavaScript
• “Easy” to maintain large project
• JavaScript in the Java source code using the JavaScript Native
Interface (JSNI)
• To summarize: highly responsive web applications with heavy lifting on
the client-side and reduced chattiness with the server-side
• Workoffline, stateless server, high number of users
• Open source and developed by a community
• Works very well with Google App Engine.
CONs
• It uses Java -> ceremony code
• but GWT 3.0 will use Java 8.0
• It uses Java, something front end developers don’t
know
• More code to create UI
• but you can use UIBinder
• Yes, but it’s another abstraction over HTML
CONs
• Long compilation time
• but you can use Dev Mode
• but is going deprecated since depends on browsers/is slow
• but there’s SuperDev Mode
• Too much work even when functionality is simple - include existing JS also
• but GWT is typically used on complex applications
• Quality and number of widget
• but look at GWT Nextgen JsInterop & Web Components Demo: https://
www.youtube.com/watch?v=wFMD1GXR2Tg
Frameworks
• Errai framework: http://erraiframework.org/
• GWTP: GWT-Platform
• SmartGWT (SmartClient)
• Sencha GXT (Ext JS look and feel)
• Vaadin: GWT used as engine but JSF like approach, only server side logic
• Vaadin 7.0 will be a superset of GWT
• Useful link: https://vaadin.com/comparison (also with jQuery, RichFaces an
more)
• GWTMobile
• mgwt
FAQ
• Does GWT use jQuery? How?
• No it doesn't. GWT generates Javascript but GWTQuery exists.
• Is Gmail built on Google Web Toolkit?
• No, it’s a “urban legend”, but Google Sheet is
• Is it possible to integrate AngularJS with GWT ?
• Yes, take a look at https://github.com/cromwellian/angulargwt
• GWT is no more under Google umbrella, is GWT dead?
• No, 2.7 & 3.0 will be released soon (and take a look to https://www.youtube.com/watch?v=bj93jlfYi5c for
the future of GWT)
• Where can I find some examples to try?
• http://www.gwtproject.org/examples.html (look at Showcase!)
• When is GWT appropriate, when is AngularJS appropriate?
• https://groups.google.com/forum/m/#!topic/angular/9P4RD3IbQwk
Talk is cheap, show me the code

Contenu connexe

Tendances

JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJonathan LeBlanc
 
Xdebug for Beginners
Xdebug for BeginnersXdebug for Beginners
Xdebug for BeginnersSean Prunka
 
GUI toolkits comparison for python
GUI toolkits comparison for pythonGUI toolkits comparison for python
GUI toolkits comparison for pythonDarren Su
 
Spring Framework - Study Group
Spring Framework - Study GroupSpring Framework - Study Group
Spring Framework - Study GroupAdiyat Mubarak
 
Building native mobile Apps with ReactNative
Building native mobile Apps with ReactNative Building native mobile Apps with ReactNative
Building native mobile Apps with ReactNative Samuel Barbosa
 
Google web toolkit ( Gwt )
 Google web toolkit ( Gwt ) Google web toolkit ( Gwt )
Google web toolkit ( Gwt )Pankaj Bhasker
 
Educ 515 W2 Sp109
Educ 515 W2 Sp109Educ 515 W2 Sp109
Educ 515 W2 Sp109lancesfa
 
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Peter Martin
 
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project worksFred Lin
 
Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Jakub Holy
 
Entering the chef ecosystem from windows
Entering the chef ecosystem from windowsEntering the chef ecosystem from windows
Entering the chef ecosystem from windowsMatt Wrock
 
Spring framework 4.0
Spring framework 4.0Spring framework 4.0
Spring framework 4.0Diego Pacheco
 
Develop faster on Magento 2 using code generation tools
Develop faster on Magento 2 using code generation toolsDevelop faster on Magento 2 using code generation tools
Develop faster on Magento 2 using code generation toolsJuan Alonso
 
IE9 Pinning workshop slides - MS Webcafe nr by the water
IE9 Pinning workshop slides - MS Webcafe nr by the waterIE9 Pinning workshop slides - MS Webcafe nr by the water
IE9 Pinning workshop slides - MS Webcafe nr by the waterKatrien De Graeve
 
Developers meetup sep-2017
Developers meetup sep-2017Developers meetup sep-2017
Developers meetup sep-2017Seif Ibrahim
 

Tendances (20)

JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware Prototyping
 
Xdebug for Beginners
Xdebug for BeginnersXdebug for Beginners
Xdebug for Beginners
 
GUI toolkits comparison for python
GUI toolkits comparison for pythonGUI toolkits comparison for python
GUI toolkits comparison for python
 
Building at a glance
Building at a glanceBuilding at a glance
Building at a glance
 
Spring Framework - Study Group
Spring Framework - Study GroupSpring Framework - Study Group
Spring Framework - Study Group
 
Building native mobile Apps with ReactNative
Building native mobile Apps with ReactNative Building native mobile Apps with ReactNative
Building native mobile Apps with ReactNative
 
Google web toolkit ( Gwt )
 Google web toolkit ( Gwt ) Google web toolkit ( Gwt )
Google web toolkit ( Gwt )
 
Selenium camp v1
Selenium camp v1Selenium camp v1
Selenium camp v1
 
Educ 515 W2 Sp109
Educ 515 W2 Sp109Educ 515 W2 Sp109
Educ 515 W2 Sp109
 
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014
 
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project works
 
Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!
 
Entering the chef ecosystem from windows
Entering the chef ecosystem from windowsEntering the chef ecosystem from windows
Entering the chef ecosystem from windows
 
Spring framework 4.0
Spring framework 4.0Spring framework 4.0
Spring framework 4.0
 
Develop faster on Magento 2 using code generation tools
Develop faster on Magento 2 using code generation toolsDevelop faster on Magento 2 using code generation tools
Develop faster on Magento 2 using code generation tools
 
Google web toolkit
Google web toolkitGoogle web toolkit
Google web toolkit
 
Android Made Simple
Android Made SimpleAndroid Made Simple
Android Made Simple
 
RxNetty
RxNettyRxNetty
RxNetty
 
IE9 Pinning workshop slides - MS Webcafe nr by the water
IE9 Pinning workshop slides - MS Webcafe nr by the waterIE9 Pinning workshop slides - MS Webcafe nr by the water
IE9 Pinning workshop slides - MS Webcafe nr by the water
 
Developers meetup sep-2017
Developers meetup sep-2017Developers meetup sep-2017
Developers meetup sep-2017
 

En vedette

Dependency Injection and Aspect Oriented Programming presentation
Dependency Injection and Aspect Oriented Programming presentationDependency Injection and Aspect Oriented Programming presentation
Dependency Injection and Aspect Oriented Programming presentationStephen Erdman
 
The abstract art of software development
The abstract art of software developmentThe abstract art of software development
The abstract art of software developmentStephen Erdman
 
SharePoint Commerce Services
SharePoint Commerce ServicesSharePoint Commerce Services
SharePoint Commerce ServicesCredera
 
A Rebelliously Royal Legacy: Chapter 1.1
A Rebelliously Royal Legacy: Chapter 1.1A Rebelliously Royal Legacy: Chapter 1.1
A Rebelliously Royal Legacy: Chapter 1.1nox_1
 
Open Admin - GWT
Open Admin - GWTOpen Admin - GWT
Open Admin - GWTCredera
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG PresentationDerrick Bowen
 
Google web toolkit web conference presenation
Google web toolkit web conference presenationGoogle web toolkit web conference presenation
Google web toolkit web conference presenationStephen Erdman
 
Scala101, first steps with Scala
Scala101, first steps with ScalaScala101, first steps with Scala
Scala101, first steps with ScalaGiampaolo Trapasso
 
Microsoft X
Microsoft XMicrosoft X
Microsoft XCredera
 
Rapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPARapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPADerrick Bowen
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to VaadinJeroen Benats
 
Against Morality: A Case for Heresy
Against Morality: A Case for HeresyAgainst Morality: A Case for Heresy
Against Morality: A Case for HeresyStephen Erdman
 

En vedette (13)

Dependency Injection and Aspect Oriented Programming presentation
Dependency Injection and Aspect Oriented Programming presentationDependency Injection and Aspect Oriented Programming presentation
Dependency Injection and Aspect Oriented Programming presentation
 
The abstract art of software development
The abstract art of software developmentThe abstract art of software development
The abstract art of software development
 
SharePoint Commerce Services
SharePoint Commerce ServicesSharePoint Commerce Services
SharePoint Commerce Services
 
A Rebelliously Royal Legacy: Chapter 1.1
A Rebelliously Royal Legacy: Chapter 1.1A Rebelliously Royal Legacy: Chapter 1.1
A Rebelliously Royal Legacy: Chapter 1.1
 
Open Admin - GWT
Open Admin - GWTOpen Admin - GWT
Open Admin - GWT
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG Presentation
 
Google web toolkit web conference presenation
Google web toolkit web conference presenationGoogle web toolkit web conference presenation
Google web toolkit web conference presenation
 
Scala101, first steps with Scala
Scala101, first steps with ScalaScala101, first steps with Scala
Scala101, first steps with Scala
 
Microsoft X
Microsoft XMicrosoft X
Microsoft X
 
Rapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPARapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPA
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadin
 
Hands on gwt
Hands on gwtHands on gwt
Hands on gwt
 
Against Morality: A Case for Heresy
Against Morality: A Case for HeresyAgainst Morality: A Case for Heresy
Against Morality: A Case for Heresy
 

Similaire à First steps with GWT @ Google IO Extended - Pordenone

SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13Fred Sauer
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
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/2JooinK
 
GWTcon 2015 - Beyond GWT 3.0 Panic
GWTcon 2015 - Beyond GWT 3.0 PanicGWTcon 2015 - Beyond GWT 3.0 Panic
GWTcon 2015 - Beyond GWT 3.0 PanicCristiano Costantini
 
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
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers WorkshopJody Garnett
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Muhammad Ghazali
 
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...Develcz
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textToma Velev
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Toolsbarciszewski
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)firenze-gtug
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conferencedmethvin
 
SEO methods in Single Page Applications
SEO methods in Single Page ApplicationsSEO methods in Single Page Applications
SEO methods in Single Page ApplicationsVyatcheslav Potravnyy
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosifirenze-gtug
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
Present and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectivePresent and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectiveManuel Carrasco Moñino
 

Similaire à First steps with GWT @ Google IO Extended - Pordenone (20)

SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
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
 
GWTcon 2015 - Beyond GWT 3.0 Panic
GWTcon 2015 - Beyond GWT 3.0 PanicGWTcon 2015 - Beyond GWT 3.0 Panic
GWTcon 2015 - Beyond GWT 3.0 Panic
 
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
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
GWT-Basics
GWT-BasicsGWT-Basics
GWT-Basics
 
GWT-Basics
GWT-BasicsGWT-Basics
GWT-Basics
 
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)
 
Groovy android
Groovy androidGroovy android
Groovy android
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
SEO methods in Single Page Applications
SEO methods in Single Page ApplicationsSEO methods in Single Page Applications
SEO methods in Single Page Applications
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosi
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Present and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspectivePresent and Future of GWT from a developer perspective
Present and Future of GWT from a developer perspective
 

Dernier

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 

Dernier (20)

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 

First steps with GWT @ Google IO Extended - Pordenone

  • 1. First steps with GWT Google I/O Extended 2014 - Friuli Venezia Giulia/Veneto
  • 3. GWT (/ˈɡwɪt/) I’m a open source development toolkit for building and optimizing complex browser- based applications.
  • 4. Let me introduce myself My complete name is Google Web Toolkit or 
 GWT Web Toolkit if you like I’m 8 years old.. GWT 1.0 - May 17, 2006 I worked at Google as Java-to-Javascript specialist but have still good relations My home is http://www.gwtproject.org/ I speak Java also Javascript, CSS, HTML In my circle of friends: all browsers and 100K developers
  • 5. Seriously..what can you do with GWT?
  • 10. Angry Birds for Chrome https://www.youtube.com/watch?v=F_sbusEUz5w
  • 11. Quake II GWT Port https://code.google.com/p/quake2-gwt-port/
  • 13. and more! • http://www.devsniper.com/my-selected-gwt- applications/ • http://gwtreferencelist.appspot.com/ • http://www.quora.com/What-web-applications-use- Google-Web-Toolkit-(GWT)
  • 14. Something about GWT from recent reports
  • 15. Java Tools & Technologies Landscape for 2014 http://pages.zeroturnaround.com/Java-Tools-Technologies.html
  • 17. The Future of GWT Report 2013 https://vaadin.com/gwt/report-2013
  • 18. Main GWT components • Java-to-JavaScript Compiler • JRE emulation library • GWT Development Mode • GWT Web UI class library
  • 19. PROs • It uses Java (strong typing) • Learning curve • Libraries • Reuse of server logic • GWT’s built-in protocol to transfer data between the client and the server without any additional knowledge of how the data is packaged and sent (GWT-RPC) • IDE and development tools support: refactor, debug, code navigation, unit test • Handle the browser compatibility and I18N
  • 20. PROs • The GWT compiler optimizes the generated code, removes dead code and even obfuscates the JavaScript • “Easy” to maintain large project • JavaScript in the Java source code using the JavaScript Native Interface (JSNI) • To summarize: highly responsive web applications with heavy lifting on the client-side and reduced chattiness with the server-side • Workoffline, stateless server, high number of users • Open source and developed by a community • Works very well with Google App Engine.
  • 21. CONs • It uses Java -> ceremony code • but GWT 3.0 will use Java 8.0 • It uses Java, something front end developers don’t know • More code to create UI • but you can use UIBinder • Yes, but it’s another abstraction over HTML
  • 22. CONs • Long compilation time • but you can use Dev Mode • but is going deprecated since depends on browsers/is slow • but there’s SuperDev Mode • Too much work even when functionality is simple - include existing JS also • but GWT is typically used on complex applications • Quality and number of widget • but look at GWT Nextgen JsInterop & Web Components Demo: https:// www.youtube.com/watch?v=wFMD1GXR2Tg
  • 23. Frameworks • Errai framework: http://erraiframework.org/ • GWTP: GWT-Platform • SmartGWT (SmartClient) • Sencha GXT (Ext JS look and feel) • Vaadin: GWT used as engine but JSF like approach, only server side logic • Vaadin 7.0 will be a superset of GWT • Useful link: https://vaadin.com/comparison (also with jQuery, RichFaces an more) • GWTMobile • mgwt
  • 24. FAQ • Does GWT use jQuery? How? • No it doesn't. GWT generates Javascript but GWTQuery exists. • Is Gmail built on Google Web Toolkit? • No, it’s a “urban legend”, but Google Sheet is • Is it possible to integrate AngularJS with GWT ? • Yes, take a look at https://github.com/cromwellian/angulargwt • GWT is no more under Google umbrella, is GWT dead? • No, 2.7 & 3.0 will be released soon (and take a look to https://www.youtube.com/watch?v=bj93jlfYi5c for the future of GWT) • Where can I find some examples to try? • http://www.gwtproject.org/examples.html (look at Showcase!) • When is GWT appropriate, when is AngularJS appropriate? • https://groups.google.com/forum/m/#!topic/angular/9P4RD3IbQwk
  • 25. Talk is cheap, show me the code