SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Último (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

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