PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?

Similar documents
Java EE 6: Develop Web Applications with JSF

IBM JZOS Meets Web 2.0

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

A Business Case for Ajax with Google Web Toolkit. Bruce Johnson Google, Inc.

Improve and Expand JavaServer Faces Technology with JBoss Seam

Developing Applications with Java EE 6 on WebLogic Server 12c

Web 2.0 Käyttöliittymätekniikat

Database Driven Web 2.0 for the Enterprise

Google Web Toolkit (GWT)

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

OSGi on the Server. Martin Lippert (it-agile GmbH)

Oracle Fusion Middleware 11g: Build Applications with ADF I

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF

eclipse rich ajax platform (rap)

Oracle Fusion Middleware 11g: Build Applications with ADF I

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

Oracle Developer Day

Say goodbye to the pains of Ajax. Yibo

Java Training Center, Noida - Java Expert Program

Building Rich Applications with Appcelerator

Seam 3. Pete Muir JBoss, a Division of Red Hat

Developing Ajax Web Apps with GWT. Session I

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Setup and Getting Startedt Customized Java EE Training:

Migrating traditional Java EE applications to mobile

For live Java EE training, please see training courses at

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Web 2.0, AJAX and RIAs

Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez

A Model-Controller Interface for Struts-Based Web Applications

Google Web Toolkit Applications By Ryan Dewsbury READ ONLINE

JSF Tools Reference Guide. Version: M5

Delivering Rich Internet Applications with Ajax4jsf

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

AJAX in Apache MyFaces A New Approach To Web Applications

Google Plugin for Eclipse

Etanova Enterprise Solutions

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Mobile Systeme Grundlagen und Anwendungen standortbezogener Dienste. Location Based Services in the Context of Web 2.0

Rich Client GUI's with RCP & RAP

Tools to Develop New Linux Applications

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

COPYRIGHTED MATERIAL

Financial. AngularJS. AngularJS.

Developing Cross Device Mobile Applications

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

Financial. AngularJS. AngularJS. Download Full Version :

Overview of WebAdmin and UI Frameworks

Applikationen im Browser Webservices ohne Grenzen

Credits: Some of the slides are based on material adapted from

Eclipse 4.0. Jochen Krause EclipseSource

If you wish to make an improved product, you must already be engaged in making an inferior one.

Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (Swift, Apps, Javascript, PHP, Python, Sql, HTML) By Os Swift

Java with Eclipse: Setup & Getting Started

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Comparing Java Web Frameworks

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

JBoss Users & Developers Conference. Boston:2010

Javascript Validator Xml Schema Eclipse Plugin

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Eclipse Java Ejb 3.0 Tutorial For Beginners With Examples Pdf

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

(p t y) lt d. 1995/04149/07. Course List 2018

Building JavaServer Faces Applications

Distributed Multitiered Application

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

Oracle Developer Day

Ajax and JSF: Natural Synergy

Groovy and Grails in Google App Engine

GWT Architectures and Lessons Learned

1.2 Wicket in a nutshell 10 Just Java 11 Just HTML 12 The right abstractions 13

An update on the latest strategies for building Ajax applications with JavaServer Faces

Qiufeng Zhu Advanced User Interface Spring 2017

Web 2.0 Tutorial. Jacek Kopecký STI Innsbruck

Oracle Developer Day

IBM Rational Developer for System z Version 7.5

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

SSC - Web applications and development Introduction and Java Servlet (I)

CORE JAVA. Saying Hello to Java: A primer on Java Programming language

Spring Web Services Tutorial With Example In

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

All India Council For Research & Training

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Specialized - Mastering JEE 7 Web Application Development

Open Source Library Developer & IT Pro

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

Rich Web UI made simple Building Data Dashboards without Code

How to Install (then Test) the NetBeans Bundle

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation

AJAX Programming Overview. Introduction. Overview

<Insert Picture Here> Advanced ADF Faces. Frank Nimphius Principal Product Manager

Extensible Components with Sling Models and HTL

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

GWT MOCK TEST GWT MOCK TEST I

Transcription:

Google Webtoolkit JSF done right?

Session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 2 2008 Dipl.-Wing. P. G. Taboada

Web 2.0 Hard to define what is the web 2.0? Set of public web applications? Survivors of the.com crash? Set of Buzzwords? Set of technologies used? 3 2008 Dipl.-Wing. P. G. Taboada

Web 2.0 by apps DoubleClick Google AdSense Ofoto (Kodakgallery) Flickr Akamai BitTorrent mp3.com Napster (itunes?) Britannica Online Wikipedia personal websites blogging Evite Upcoming.org and EVDB domain name speculation search engine optimization page views cost per click screen scraping web services publishing participation content management systems wikis directories ( taxonomy ) tagging ( folksonomy ) stickiness syndication 4 2008 Dipl.-Wing. P. G. Taboada

Web 2.0 by buzzwords RSS Atom Trackbacks Pingbacks Social bookmarking Podcasting (audio, video) Blogs, blogosphere RIAs Rich Internet Applications 5 2008 Dipl.-Wing. P. G. Taboada

Web 2.0 by technologies Builds on known DHTML technologies HTML Javascript CSS Less plugin based no Java applets no Flash applets etc 6 2008 Dipl.-Wing. P. G. Taboada

Web 2.0 what we see Rich user experience by great ideas by great user interface by good services by low pricing 7 2008 Dipl.-Wing. P. G. Taboada

The web THEN and now Browsers where dumb html terminals Page roundtrips Latency High amount of data transferred over and over again High server side resource consumption 8 2008 Dipl.-Wing. P. G. Taboada

The web then and NOW With Ajax Background, asynchronous communication With DHTML Application runtime platform Easy, really VERY *easy* deployment Awesome huge user basis 9 2008 Dipl.-Wing. P. G. Taboada

Web 2.0 the new integration platform Mashups More than eye candy Integration happens on the client Browser as runtime engine JS as programming language (outch) Google (and others) as service providers 10 2008 Dipl.-Wing. P. G. Taboada

The Ajax architectural shift From: Fast, Easy, Beautiful Pick Three Google Developer Days 2007 Copyright Google 11 2008 Dipl.-Wing. P. G. Taboada

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! 12 2008 Dipl.-Wing. P. G. Taboada

Fear browsers with all of mind, body and spirit When in danger, when in doubt, run in circles cry and shout 13 2008 Dipl.-Wing. P. G. Taboada

Session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 14 2008 Dipl.-Wing. P. G. Taboada

GWT 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. 15 2008 Dipl.-Wing. P. G. Taboada

GWT 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. 16 2008 Dipl.-Wing. P. G. Taboada

GWT development cycle I. 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. II. Use GWT's Java-to-JavaScript compiler to distill your application into a set of JavaScript and HTML files that you can serve with any web server. III. Confirm that your application works in each browser that you want to support, which usually takes no additional work. 17 2008 Dipl.-Wing. P. G. Taboada

Mission statement GWT's mission is to radically improve the web experience for users by enabling developers to use existing Java tools to build no-compromise AJAX for any modern browser. 18 2008 Dipl.-Wing. P. G. Taboada

GWT is extensible #1 GWT defines coarse grained components called modules Young (huge, active) community developing many modules Logging, drag and drop, UI components, etc Write your own UI-Components By composition By using JSNI By working with the DOM 19 2008 Dipl.-Wing. P. G. Taboada

GWT is extensible #2 GWT let s you write your own generator GWT 1.5 provides new linker design, where you can change the compiler output 20 2008 Dipl.-Wing. P. G. Taboada

GWT is more than a compiler GWT provides performance twirks that would be hard to do by hand Image bundles Ressource bundles (sandbox) RPC optimization Code optimization Remove unused code Code compression/ obfuscation 21 2008 Dipl.-Wing. P. G. Taboada

Standalone application GWT application are standalone rich client applications running in the browser Can use RPC to fetch/ send data to the server, as rich clients do. 22 2008 Dipl.-Wing. P. G. Taboada

Demo Just a simple Hello World Show project structure Show module descriptor Show development shell Show the application Show the debugger 23 2008 Dipl.-Wing. P. G. Taboada

Meta-Inf It s not beta. It s not even new. It works! It is being used in production Public sites Many success stories Apache 2.0 License Version history: 1.4.62 (March 17, 2008) 1.5.0 (May 27, 2008, RC1) 1.5.1 (August 11, 2008, RC2) 1.5.2 (August 27, 2008, Final, GA, Release) 1.5.3 (October 17, 2008, Android fixes ) 24 2008 Dipl.-Wing. P. G. Taboada

GWT docs & co. Documentation could be better Documentation GOT BETTER with 1.5.x Many books available Even in German Many tutorials available Large community Many Blogs Many extensions 25 2008 Dipl.-Wing. P. G. Taboada

Is it Java or not? Ok, what is Java? Programming language (syntax) Runtime environment (JVM) Security concept GWT uses the Java programming language. Is it Java? Not to be answered here and now 26 2008 Dipl.-Wing. P. G. Taboada

Session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 27 2008 Dipl.-Wing. P. G. Taboada

Java EE and the web Fact: web is first class citizen in the specification: Servlets and JSPs spec JSF spec Problem: it is not enough! No application framework (web apps are apps!) There no such thing as a simple web app 28 2008 Dipl.-Wing. P. G. Taboada

Open source to the rescue Battle of frameworks Been there, done that, came back and survived We still compare apples with oranges Btw, what is a web framework? 29 2008 Dipl.-Wing. P. G. Taboada

What do we have? Plain vanilla servlets & JSP Proprietary framework? 30 2008 Dipl.-Wing. P. G. Taboada

Can we have a little more? MVC frameworks Spring MVC Struts (Struts 2) Template based frameworks Wicket? Cool frameworks Ruby on Rails? 31 2008 Dipl.-Wing. P. G. Taboada

Can I have UI components? Component based frameworks JSF GWT Echo2 Eclipse Rap 32 2008 Dipl.-Wing. P. G. Taboada

All the same? Client side vs. server side rendering Single page vs. page roundtrip Little bit of Javascript vs. Javascript application Client side application vs. server side application (HOPP) 33 2008 Dipl.-Wing. P. G. Taboada

Not really the same Under the hood, each framework solves different technological issues was needed by different people/ projects started with a different historical background started with a different set of technologies and ideas available 34 2008 Dipl.-Wing. P. G. Taboada

Not the same 35 2008 Dipl.-Wing. P. G. Taboada

Recap: what do we have? We have many different frameworks None of them has made it JSF is part of Java EE 5 JSF is a spec, not a product. Even JSF is not equal JSF Under the hood there are huge differences We have the choice, we must decide 36 2008 Dipl.-Wing. P. G. Taboada

Session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 37 2008 Dipl.-Wing. P. G. Taboada

EE developer point of view GWT development is Java development Java coding code completion, type safety Java tooling the best IDE is the IDE you know best We can leverage our knowledge Let s use patterns Let s use refactoring Let s do debugging Let s do testing 38 2008 Dipl.-Wing. P. G. Taboada

Easy integration Javascript-Applications are static resources Simple integration into HTML: <script language="javascript src="de.pgt.gwt.helloworld.nocache.js"> </script> 39 2008 Dipl.-Wing. P. G. Taboada

Server side GWT GWT provides a simple and powerful RPC framework Server side is backed by servlets Code gets optimized by the compiler Sends serializable Java objects over the wire (between browser and server) Simple integration to Java backends 40 2008 Dipl.-Wing. P. G. Taboada

Building GWT apps The GWT compiler is written in Java Command line tools ANT scripts MAVEN plugins IDE plugins 41 2008 Dipl.-Wing. P. G. Taboada

Session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 42 2008 Dipl.-Wing. P. G. Taboada

What do we like in JSF? UI components, cool Listeners No more request-response actions Nice bean-bindings Use EL in JSP/ XML to bind bean properties to fields Validation framework Converters 43 2008 Dipl.-Wing. P. G. Taboada

Facelets UI composition for non believers Facelets removes JSP from the technology stack Thus removing lots of lifecycle problems Introduces easy composite pattern Reuse of UI components New components by aggregation 44 2008 Dipl.-Wing. P. G. Taboada

Webflow navigation for non believers Webflow provides a better navigation engine for JSF Provides new lifecycle/ scopes Solves back button problem Many more 45 2008 Dipl.-Wing. P. G. Taboada

What is not so nice UI components jungle Different programming models Compatibility issues JSP/ Facelets XML Need better tooling Efficiency? 46 2008 Dipl.-Wing. P. G. Taboada

What is not so nice Server side rendering Latency: unhappy users Resource consumption: unhappy service provider Know-How Hard to learn? Too much to learn? Missing application framework? 47 2008 Dipl.-Wing. P. G. Taboada

And GWT? UI Components, really cool UI composition with Java is no issue Navigation is not an issue (single page principle) No server side rendering (happy user, happy service provider) Easy to learn (really!) 48 2008 Dipl.-Wing. P. G. Taboada

GWT is missing A good databinding solution A good application framework for simple applications 49 2008 Dipl.-Wing. P. G. Taboada

Recap: session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 50 2008 Dipl.-Wing. P. G. Taboada

Time for a demo? 51 2008 Dipl.-Wing. P. G. Taboada

Time for questions? 52 2008 Dipl.-Wing. P. G. Taboada

Thanks! Papick Garcia Taboada Diplom Wirtschaftsingenieur Software Architect Technology Scout Presentation material and more here: http://adminsight.de 53 2008 Dipl.-Wing. P. G. Taboada