1 Web GIS: from Javascript to GWT Pieter De Graef – Community Manager & Lead Developer Geomajas.

Slides:



Advertisements
Similar presentations
Fawaz Ghali AJAX: Web Programming's Toy.
Advertisements

Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
The DataFlex Web Framework Changing the Game Stephen W. Meeley Development Team Data Access Worldwide
Internetteknologi (ITNET1) Extra Presentation Java IDE Tool Support.
Beyond "press Ctrl-P" in web map printing Jan De Moerloose– co-creator of Geomajas FOSS4G 2009, Sydney.
June 28 th – July 1 st 2006 Implementing Usability: Insights to improve your chances  CFUnited 2007.
1 GWT Google Web Toolkit Build AJAX apps in the Java language
Introduction Rich Internet Applications OpenLaszlo as an RIA Examples Community Competitors OpenLaszlo Architecture OpenLaszlo XML Structure Dealing with.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
Google Web Toolkit Dudeanu Ermoghen Ib ă nescu Diana Melinte Laurenţiu-Ionuţ Petrişor Ionuţ C ă t ă lin.
Server-Side vs. Client-Side Scripting Languages
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
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
A closer look Dynamic Webpages Jessica Meyerson March 1, 2011.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leader : Ahmed RHIAT.
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.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Creation of hybrid portlet application for file download using IBM Worklight and IBM Rational Application Developer v9 Gaurav Bhattacharjee Lakshmi Priya.
RIA Introduce Comparison among several technology.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
GALEXView Demo T. Rogers, B. Shiao, P. Brown, P. McCauley, A. Conti, M. Smith, S. Tseng, A. Volpicelli StSci/MAST.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
WaveMaker Visual AJAX Studio 4.0 Training Troubleshooting.
Languages in WEB Presented by: Jenisha Kshatriya BCM SS09.
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
Introduction to ArcGIS API for JavaScript
AJAX Without the “J” George Lawniczak. What is Ajax?
T. Boch - VOTECH DSRP Meeting - Cambridge - 29 Sept-2 Oct 2008 DS4 Thomas Boch Pascal Wassong Sébastien Derrière Thomas Boch Pascal Wassong Sébastien Derrière.
Traditional Web Based Application Structure Frameworks define how the application is designed, organised and deployed across various tiers.
Some essentials difference syntax and concept for jquery developers Roohullah Afzali
Ajax Technology for the Web Nic Shulver, FCET, Staffordshire University Introduction What is it? Pros and Cons Why is it important? Traditional Client-Server.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
Client Scripting1 Internet Systems Design. Client Scripting2 n “A scripting language is a programming language that is used to manipulate, customize,
Google Web Toolkit An Overview By Shauvik Roy Choudhary.
Google Web Toolkit Paul Heiniz, Wolfgang Kluth, Jan Marten, Malte Behrendt Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/111 The slides are licensed.
An Introduction to JavaScript Summarized from Chapter 6 of “Web Programming: Building Internet Applications”, 3 rd Edition.
Can you write REAL applications with AJAX? Phil Sarin Advanced UI Software April 15, 2009.
ASP.NET &.NET Environment. Overview Part of Microsoft’s.NET environment Used for Development of  Websites  Internet applications  Web Services & XML.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
New Selectors Extension Module Webinar March 11th, 2010.
GeoGebra on mobile devices GeoGebraMobile, the JavaScript version of GeoGebra. Gabor Ancsin (this man =>)
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
JavaScript & Introduction to AJAX
Tutorial 10 Programming with JavaScript. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Learn the history of JavaScript.
Ajax! Ajax Programming Ajax! Ajax Programming. Ajax! Ajax Programming Take a look at a typical desktop application (Spreadsheet app, etc.) The program.
TypeScript for Alfresco and CMIS Steve Reiner CTO Integrated Semantics.
Google Web Toolkit for Mobile Applications Development INGENUITY AT ITS BEST……………….
The Web Wizard’s Guide To DHTML and CSS Chapter 2 A Review of CSS2 and JavaScript.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Ajax 101 for CF Programmers Randy Brown – Michigan State University
Javascript Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Presented By Sushil K. Chaturvedi Assistant Professor SRCEM,Banmore 1.
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.
Best Institutes offering Software Development courses.
Web Application Development Process
Google Web Toolkit Tutorial
AJAX and REST.
Google Web Toolkit - Gufran Mohammed
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
AJAX.
Dynamic Web Pages Jin Wu INF 385E Information Architecture
Secure Web Programming
JavaScript CS 4640 Programming Languages for Web Applications
Running C# in the browser
Presentation transcript:

1 Web GIS: from Javascript to GWT Pieter De Graef – Community Manager & Lead Developer Geomajas

2 Agenda Geomajas introduction Problems: javascript, browsers, SVG, VML Alternatives GWT pros and cons Conclusion

3 Introduction Geosparc commercially supports Geomajas, the Open Source GIS application framework, coupling the innovation of Open Source with the reliability of a true enterprise-class platform.

4 Open Source GIS application framework It is downloadable at Integrated client-server architecture Geometry editing + validation Custom attribute definitions Advanced querying capabilities

5 Geomajas

6 History Start in 2007 Objective: create a generic GIS application framework Technological choices: Java Ajax – Dojo No browser plugins Open Source technologies such as GeoTools, Hibernate,...

7 Problems all around! Browser compatibility SVG versus VML General Javascript quirks

8 Javascript quirks Let's start with an example... The following if statements are all evaluated as false; we don't reach the bracket code. If (0) { /* 0 is evaluated as false */ } If (null) { /* null is evaluated as false */ } If (undefined) { /* evaluated as false */ } If ('') { /* empty string is evaluated as false */ }

9 Javascript quirks Now let's try the following: False == 0 result is “true”, as expected False == '' result is “true”, as expected False == undefined result is “false”.... what the... ? False == null result is “false”.... what the... ?

10 Browser incompatibilities Javascript differences between browsers Example: comma at the end of a list (FF <> IE) DOM document differences Example: IE style vs currentStyle vs runtimeStyle Example: obj.onclick = handlerFunctionName; function handlerFunctionName(ev){ var element = ev.srcElement ? ev.srcElement: ev.target; // for compatibility between IE and FF } Wrong! This fails in IE! function handlerFunctionName(ev){ ev = ev ? ev: event; // event is automagically created in IE var element = ev.srcElement ? ev.srcElement: ev.target; }

11 Browser incompatibilities SVG support for Internet Explorer??? SVG versus VML Totally different DOM documents Totally different elements No floats in coordinate transformations Don't mix HTML and VML! Absolute position?...

12 Browser incompatibilities

13 Browser incompatibilities Granted that picture is a bit outdated (from 2006) 2009: Better tools Code completion finally! For ExtJS through “spket” (eclipse plugin exists as well) For Dojo through the Zend framework JsEclipse – since 2006 from Adobe Debugging Firebug (exists for Internet Explorer too - sloooow) Internet Explorer 8 debugger Still no single debugging environment!

14 Search for alternatives Not just technical problems Javascript still is an extra language Javascript has a steep learning curve Difficult to find experienced javascript programmers Conclusion: creating projects with Javascript is expensive!

15 Search for alternatives Other Ajax widget frameworks (ExtJS, SmartClient,...) Preferrably no Javascript.... Flex Requires plugin (95% spread) Very fast (can handle up to 10 times what VML can) Very slow bridge between Javascript and Flex Google Web Toolkit (GWT) Let's find out on the next slides....

16 GWT What is it? Google Web Toolkit Javascript compiler: cross-browser! Supports Java annotations Widget library based upon Swing library Module based What license does it have? Apache license, version 2.0

17 GWT – pros and cons PRO One language to work with: Java Strong typed language (actual OO design) Java 1.5 complient on client side, and no restrictions on server side. Plugins available for Eclipse and IntelliJ Debugging RPC: Deal only with pojo's; no XML / JSON No code reengineering at runtime (already compiled) No browser specific code. GWT generates it.

18 GWT – pros and cons PRO Fast learning curve (java – swing based) Time to deliver is much faster Fixing bugs goes much faster then in typical jsp / javascript apps. Unit testing: standard Junit on both client and server Code size and execution speed much lesser Supported by a major company.... so is it heavensent?

19 GWT – pros and cons CONS Concept of modules can be confusing Styling: CSS knowledge is still needed Separation between style and implementation is less clear No page type navigation (as in php or jsp) If you write one big fat module, download time can be higher. Alternative: more modules

20 GWT – pros and cons CONS GWT compiler is slow compared to standard Java compiler Unusual approach, can be harder to sell Harder to use a wide range of browsers for actual testing Not possible to edit CSS while in hosted mode

21 GWT In my humble opinion: the pros far outweigh the cons Cost benefit Easier to find programmers

22 Geomajas Geomajas current state: Modular design GWT integration has begun First version ready first quarter 2010

23 Geomajas

24 Conclusion Javascript: high learning curve Difficult to find experienced programmers GWT Low learning curve One language Time to deliver is faster

25 Conclusion Thank you for listening! Website: Company: