Google Web Toolkit Dudeanu Ermoghen Ib ă nescu Diana Melinte Laurenţiu-Ionuţ Petrişor Ionuţ C ă t ă lin.

Slides:



Advertisements
Similar presentations
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Advertisements

1 CGICGI Common Gateway Interface Server-side Programming Lecture.
AJAX Technologies KAUNAS UNIVERSITY OF TECHNOLOGY MODULE: INFORMATION TECHNOLOGY GROUP: IF - 4/9 GROUP: VENTILIATORIAI
1 GWT Google Web Toolkit Build AJAX apps in the Java language
Google Web Toolkit - Gufran Mohammed. Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications.
Do We Really Need Rich-Interface Technologies? Yifan Zhang
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
WHAT IS AJAX? Zack Sheppard [zts2101] WHIM April 19, 2011.
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
A closer look Dynamic Webpages Jessica Meyerson March 1, 2011.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Chapter 6 DOJO TOOLKITS. Objectives Discuss XML DOM Discuss JSON Discuss Ajax Response in XML, HTML, JSON, and Other Data Type.
Client/Server Architectures
RIA Introduce Comparison among several technology.
MDCFUG TeraTech, Inc Adobe Flash 9 By Michael Smith TeraTech.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Introduction to AJAX AJAX Keywords: JavaScript and XML
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
JavaScript & jQuery the missing manual Chapter 11
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
Ruth Betcher Ruth Christie
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
AJAX in ASP.NET James Crowley Developer Fusion
 2008 Pearson Education, Inc. All rights reserved Ajax-Enabled Rich Internet Applications.
AJAX Without the “J” George Lawniczak. What is Ajax?
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Ajax Technology for the Web Nic Shulver, FCET, Staffordshire University Introduction What is it? Pros and Cons Why is it important? Traditional Client-Server.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
Google Web Toolkit An Overview By Shauvik Roy Choudhary.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
Google Web Toolkit Paul Heiniz, Wolfgang Kluth, Jan Marten, Malte Behrendt Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/111 The slides are licensed.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
AJAX Compiled from “AJAX Programming” [Sang Shin] (Asynchronous JavaScript and XML)
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
GeoGebra on mobile devices GeoGebraMobile, the JavaScript version of GeoGebra. Gabor Ancsin (this man =>)
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Chapter 16: Ajax-Enabled Rich Internet Applications with XML and JSON TP2543 Web Programming Mohammad Faidzul Nasrudin.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Google Web Toolkit Dynamic web on Java (Script) Jordan Jordanov 6 March 2008.
Unit-IV - Flash Player - Flex framework - MXML introduction - Action script introduction - Working with Action script - Flex data binding - Common UI components.
Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
 AJAX technology  Rich User Experience  Characteristics  Real live examples  JavaScript and AJAX  Web application workflow model – synchronous vs.
Ajax! Ajax Programming Ajax! Ajax Programming. Ajax! Ajax Programming Take a look at a typical desktop application (Spreadsheet app, etc.) The program.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Ajax & Client-side Dynamic Web Gunwoo Park (Undergraduate)
Technologies For Creating Rich Internet Applications Presenter's name
INNOV-16: Rich User Interface for the Web???? AJAX to the Rescue Ken Wilner VP of Technology Progress Software.
Applications Active Web Documents Active Web Documents.
JQuery Fundamentals Introduction Tutorial Videos
JavaScript and Ajax (Ajax Tutorial)
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Google Web Toolkit Tutorial
Working with Client-Side Scripting
GeneXus 9.0: Web applications at their higher power
Google Web Toolkit - Gufran Mohammed
Asynchronous Java script And XML Technology
AJAX.
Introduction to Silverlight
Lecture 1: Multi-tier Architecture Overview
Google App Engine Ying Zou 01/24/2016.
JavaScript & jQuery AJAX.
JavaScript CS 4640 Programming Languages for Web Applications
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Running C# in the browser
JavaScript CS 4640 Programming Languages for Web Applications
Presentation transcript:

Google Web Toolkit Dudeanu Ermoghen Ib ă nescu Diana Melinte Laurenţiu-Ionuţ Petrişor Ionuţ C ă t ă lin

Evolution of applications 1960 – Mainframes, punch cards, monochrome text terminals; ◦ Same application, different code, one for every operating system - big development cost; Client/Server Applications ◦ WIMP(Windows, Icon, Menu, Pointer); ◦ Applications running on a desktop machine, with centralized data on a server ◦ Bigger cost, because the client has to run on every operating system; an upgrade to the system required an update to the application

Web Applications Internet, documents sharing; HTML; Browsers ◦ Back-Forward Navigation; ◦ Bookmarks; Documents accessed by URL; HTTP Protocol; All documents in one place; Many standards: CSS, DOM, SVG, PNG; no proprietary extensions => popularity, success; Web application: application that resides on a central server and can be accessed through web browsers; HTML content is dynamically generated.

Small cost; One application for all browsers; clients have already all necessary software installed; Easy to upgrade; No rich user experience, no visual feedback, slow; Every action results in a call to the server to generate whole application; Great improvement on cost effectiveness => most popular type of software application No spreadsheets, messengers, etc; Application with rich user interaction still was developed as Client/Server Applications

Rich Internet Applications Ajax Jesse James Garrett, “Ajax: A New Approach to Web Applications” JavaScript, XMLHttpRequest object; Only parts of the page are updated; AJAX = Asynchronous JavaScript and XML.

Asynchronous Synchronous interaction model = user waits for data to be send an page to load. In asynchronous model – the Ajax engine running on a separate thread delegates requests to server and handles the results, while the user can interact with the application ◦ No page refresh;

JavaScript Interpreted, weakly typed programming language; Created Brendan Eich at Netscape; Originally named Mocha, then LiveScript;renamed in 1995 to JavaScript. No relation with Java; Microsoft dialect: JScript; 1996 – JavaScript submitted to standardization, resulted ECMAScript specification with JavaScript as one of its implementations;

Ajax is only a name, not an acronym Ajax can be implemented in ActionScript(Flex) Other technologies different from XML are preferred ◦ A proprietary protocol ◦ JavaScript Object Notation(JSON) – lightweight data interchange format based on name/value pairs ◦ Plain JavaScript – most powerful; JavaScript code hard to generate

RIA advantages No instalation required – software run in a browser; Updates are automatic – when page is revisited; Platform independent – on every platform with a browser; More secure – little access to the local system; less likely to be harmful More responsive – compared to classic applications More scalable – more computations done on client More network efficient – only necessary data is send at the server.

RIA disadvantages Requires JavaScript or specific plug- in – users can turn off javascript No access to system resources – cannot read local files; Hard for search engines to index fully Depends on an Internet connection Accessibility issues – screen readers have problems with partial updated pages;

GWT Writing JavaScript is difficult and error- prone; JavaScript behaves a little different on different browsers; GWT (Google Web Toolkit) ◦ real abstraction layer that hides the detail of JavaScript; ◦ Java to JavaScript compiler; easy to code and debug in Java; ◦ Unit Testing; best coding practices;

Features Open-source No plugin required (VML, Flash, Silverlight) Dynamic and reusable UI components Browser history management Support for full-featured Java debugging GWT handles all cross-browser issues for the developer JUnit integration Easy internationalization

The developers can mix handwritten JavaScript in the Java source code using the JavaScript Native Interface Support for using Google APIs in GWT applications (Google Gears) The developers can design and develop their application in a pure object-oriented fashion A number of libraries are available for GWT, by Google and third parties(exGWT)

GWT limitations Not indexable by search engines Javascript dependent No clear separation between code and styling/layout – structure created in code;

Components Java to JavaScript compiler – the heart of GWT, compiles java code for client part into JavaScript JRE Emulation library – classes from Java have to have an equivalent in javascript to be used with GWT UI building library – the biggest part; UI components; RPC support; history management; GWT Hosted Web Browser – develop in hosted mode; code compiled in Java; used for debugging

Java to JavaScript Compiler A program that can be started by running the class com.google.gwt.dev.GWTCompiler; Unreferenced code is not compiled; Doesn’t allow runtime loading of classes; Is a little slow; A different JavaScript code version for every browser category is generated;

JRE Emulation library Mapping of JRE into JavaScript; Differences from JRE: ◦ No long support; ◦ Exception handling – no NullPointerException, OutOfMemory; no getS t ackTrace(); ◦ Single threaded – JavaScript interpreters are single threaded; thread related functions and keywords have no effect ◦ No reflection- related to the fact GWT needs to know each class and methods used in order to optimize code;

JRE emulated classes No SQL, file support(because of JavaScript security restrictions) Only a subset of classes are emulated; Differences in classes: ◦ Regular expressions – different behavior; ◦ Different serialization support from java; Some common used classes are different ◦ java.util.DateTimeFormat -> com.google.gwt.i18n.client.DateTimeFormat Namespaces: java.lang; java.util; java.io;

UI library

Concepts Application organized in modules; Host page – the page that has the application loader; Running modes: ◦ Hosted mode – code compiled in java bite code; full debugging support; running in an emulated browser; ◦ Web mode – code compiled in JavaScript; running on real browser;

Who is using GWT ?

GWT 2.0 Improvements Different terminology : “Development mode” instead of “hosted mode” In-browser development mode – debugging in real browsers; Based on plug-ins for every browser Code chunks – on demand loading of needed code; Declarative user interface – UI can be declared in a XML file; Bundling of resources – XML, CSS and text files can be combined into one file for fewer server requests;