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

Size: px
Start display at page:

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

Transcription

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

2 Topics A Simpler-Than-Possible Explanation of GWT Investing in Ajax Why Ajax, Anyway? Risks Unique to Ajax How GWT Changes Things Q & A 2

3 What is Google Web Toolkit (GWT)? What is GWT? A set of tools for building AJAX apps in the Java language What makes GWT interesting? Write, run, test, and debug everything in Java, both client-side UI code and server-side business logic Isn t that called an applet? No JVM required; GWT converts your working Java application into an equivalent pure JavaScript application So, GWT is a compiler? GWT s Java-to-JavaScript compiler is a big part of it, but there s really a lot more to the story than that 3

4 Topics A Simpler-Than-Possible Explanation of GWT Investing in Ajax Why Ajax, Anyway? Risks Unique to Ajax How GWT Changes Things Q & A 4

5 Ajax Buzz Abounds Media Books, Blogs, Podcasts, Magazines, Classes, Conferences Industry Startups, Venture Funding, New Products Your Company? Your boss? Your employees? Your customers? Your salespeople? You? Surely you've at least fiddled with JavaScript and DHTML Thus begins the slippery slope... 5

6 Engineer's View of the Slippery Slope Product management and engineering decide to add script I begin experimenting with JavaScript Cool! The boss loves it. I m even having a bit of fun writing it. All is well in the world now maybe I ll get a raise! The salespeople love it We re an AJAX shop? Oh yeah, we can t just support Internet Explorer Wait, this is hard I hate browsers with all my heart I quit find another sucker to maintain this spaghetti 6

7 To Be Crystal Clear It is very easy to slip into making a poorly planned Ajax investment...but you'll live with the consequences for a long, long time 7

8 Topics A Simpler-Than-Possible Explanation of GWT Investing in Ajax Why Ajax, Anyway? Risks Unique to Ajax How GWT Changes Things Q & A 8

9 Why Ajax? IT Benefits Traditional HTML Stateless HTML View Browser User action New HTML page Stateful Server Ajax Events handled locally Stateful JavaScript UI Browser Remote procedure call Data only, not HTML Stateless (i.e. any) Server

10 Why Ajax? Product Benefits A goldmine for sales and marketing Fully buzzword compliant :-) TCO talking points You or your customer can host without undue extra complication No installation reduces the barrier to adoption Prospects are "one click away" from becoming customers Apples-to-apples now vs. desktop apps Spyware and virus fears reinforce this competitive advantage Add desktop-like functionality to web apps Auto-saving drafts in the background Auto-completion of contact names while typing Multi-step wizards without confusing history entries 10

11 Why Ajax? Usability Benefits "Do not use your browser's Back button" What if I do click Back? Ajax solves this! 11

12 Why Ajax? User Benefits Better performance than traditional web apps Sending deltas makes a huge difference in startup speed No blank "loading" pages reduces abandonment risk Take advantage of fast client CPU instead of overloading servers Better functionality with the familiar web style The web is popular for a reason: simplicity When done properly, Ajax apps are like HTML web apps, just better Better deployment and security than installed binaries Everyone appreciates not having to install software The mantra we teach our parents: surfing = good; installing = bad Universal access Crucial applications are no longer tied to a particular computer In principle, cross-browser portability 12

13 Why Ajax? More Usability Benefits "Don't hit reload or we'll charge you twice!" What if the network hangs? What should I do? Ajax solves this! 13

14 To Be Crystal Clear Ajax is more than a fad because it genuinely benefits all* stakeholders Ajax will be important for many years to come * not counting developers 14

15 Topics A Simpler-Than-Possible Explanation of GWT Investing in Ajax Why Ajax, Anyway? Risks Unique to Ajax How GWT Changes Things Q & A 15

16 Ajax Risks Product Risks Poor Usability No history No bookmarks Frozen browser chrome and pegged user CPUs Poor Browser Portability Hard to test Either wrap every single browser-related call (heavy)... Or be paranoid about every line of code (risky) Poor Speed Startup time is an extremely huge sacrifice...probably not worth it Large scripts run more slowly Worst: Maintainability and efficiency are conflicting scripting goals 16

17 Ajax Risks Development Risks Poor Tool Support Limited IDE support Debugging = window.alert() Profilers? Code coverage? Findbugs? Quality Risks New categories of runtime-only bugs Poor JS reuse model encourages "from scratch" or copy/paste Browsers are a moving target Long-Term Risks Hard to schedule (e.g. unexpected browser quirks) Spaghetti risk Poor documentation Hard for large teams to work on the same code base Hard enough to find one Ajax guru 17

18 New Kinds of Bugs! JavaScript is a dynamically typed language Type errors can only be found at runtime by QA, or by ME! (This was my old bank) There s a reason static type checking was invented That's why IDEs can't do code completion for JS 18

19 Spelling Bugs typos + expandos = bug-o-s Imagine this gem on line 5912 of your script x.compnent = document.getelementbyid("x"); // a spelling(!) bug that will bite much later Yes, there s a reason static type checking was invented Java didn't have this problem And reuse is a good way to not write bugs And don t forget code completion And this starts to matter a lot for big projects 19

20 Topics A Simpler-Than-Possible Explanation of GWT Investing in Ajax Why Ajax, Anyway? Risks Unique to Ajax How GWT Changes Things Q & A 20

21 GWT Requirements Laundry List Make great AJAX apps that are still very webby History, Bookmarks, a working Back button... Leverage the Java language, developers and technologies IDEs, debugging, JUnit, findbugs, and profiling Eliminate browser-specific coding with low overhead Facilitate reuse at the Java language level via jars Fast, simple remote procedure calls with rich semantics Scalability server-side session state is a big drain Basically: the impossible Unless you translate Java into JavaScript :-) 21

22 Code Sample Hello, AJAX Demo time... public class Hello implements EntryPoint { public void onmoduleload() { Button b = new Button("Click me", new ClickListener() { public void onclick(widget sender) { Window.alert("Hello, AJAX"); } }); } RootPanel.get().add(b); } 22

23 Demo Hello, AJAX

24 Wow, That s So Much Easier Redefining the problem has been fruitful Session state? All client, not a server issue Avoids round trips for UI event handling Deployment? No fancy server, just compiled JS Leverage for the biggest AJAX headaches Our Mantra: Solve the problem once & wrap it in a class History? Create a History class Cross-browser? Create an abstract DOM class RPC? Create an all-java RPC mechanism 24

25 Rich UI: Widgets and Layout Build (or reuse!) widgets Written in straight Java Code without worrying about browser portability Separate UI style from logic Widgets are styled with CSS Automatically load the right CSS for your widgets Demo "Mail" is a desktop-style application 25

26 Usability: History and Bookmarks History is the first thing to go in most AJAX apps With GWT, it's easy and works well with MVC History.addHistoryListener(myController); History support leads to bookmark support Demo "KitchenSink" shows history, bookmarking, and widgets 26

27 Simple & Powerful Client/Server: RPC Many solutions out there (JSON, XML-RPC, ) But a pure Java RPC interface sure is nice! interface SpellService extends RemoteService { /** * Checks spelling and suggests alternatives. the word to check the list of alternatives, if any */ String[] suggest(string word) } Client and server speak the same language (Java) Demo "DynaTable" loads records dynamically 27

28 Efficiency: Bandwidth and Startup Time Traditional HTML GWT First Run GWT Other Runs Bytes Transferred Page 1 Page 2 Page 3 Page 4 Page 5 Page 6 Page 7 28

29 Not Enough Time to Demo Everything JUnit integration Works in hosted mode (i.e. debuggable Java) Work in web mode (i.e. tests the compiler output) JavaScript Native Interface Write JavaScript by hand Easily integrate with existing JS libraries Internationalization support Highly optimized Externalized string ids are checked during compilation Automatic, dynamic dependency inclusion External CSS External JS 29

30 Documentation Included Getting Started Guide Widget Gallery Developer Guide Class Reference 30

31 Growing GWT Community Community and Support Over 4600 members on the developer forum and growing Books and articles Meta-sites (e.g. gwtpowered.org) Libraries and Applications GWT Widgets on SourceForge 25 projects on Google Code Project Hosting Diverse products built completely with GWT Web-based conferencing (dimdim.com) Virtual flashcards (notetwonote.com) Texas Hold 'em with live chat (gpokr.com) Tools, Tools, Tools IntelliJ IDEA plug-in for GWT WindowBuilderPro GUI designer for GWT VistaFei for GWT Googlipse, an open source Eclipse plug-in for GWT 31

32 Did I Mention Tools? Instantiations GWT Designer WYSIWYG Layout 32

33 Did I Mention Tools? Instantiations GWT Designer Internationalization 33

34 Summary: Ajax and GWT Ajax is a double-edged sword And it's an investment either way Lots of rewards, lots of risks Leverage is needed to use Ajax well with minimum risk PhD in browser quirks is no longer a hiring prereq Turn Ajax development into software engineering We will share our best work and ideas with you, and we hope you will return the favor Much more to come see you online! 34

35 Q&A

Taming AJAX with GWT. Scott Blum. Scott Blum Taming AJAX with GWT Page 1

Taming AJAX with GWT. Scott Blum. Scott Blum Taming AJAX with GWT Page 1 Taming AJAX with GWT Scott Blum Scott Blum Taming AJAX with GWT Page 1 Overview Why AJAX? Why GWT? How GWT Works Add GWT to your App Advanced Techniques Summary Q & A Scott Blum Taming AJAX with GWT Page

More information

Google Web Toolkit What, Why, and How. Bruce Johnson Google, Inc.

Google Web Toolkit What, Why, and How. Bruce Johnson Google, Inc. Google Web Toolkit What, Why, and How Bruce Johnson Google, Inc. bruce@google.com Topics A Simpler-Than-Possible Explanation of GWT Why AJAX Matters GWT is Software Engineering for AJAX Common Questions

More information

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

Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez Overview the pleasure of using AJAX apps. the pain of creating them. getting some pain relief with GWT. the tutorial part.

More information

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems GWT and jmaki: Expanding the GWT Universe Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems Learn how to enhance Google Web Toolkit (GWT) to include many Ajax enabled

More information

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right? 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

More information

Case Study: Dodging the Pitfalls of Enterprise Ajax Applications

Case Study: Dodging the Pitfalls of Enterprise Ajax Applications www.thinwire.com Case Study: Dodging the Pitfalls of Enterprise Ajax Applications A Quick Introduction: Joshua Gertzen Lead Architect of the ThinWire Ajax RIA Framework Core Technology Architect for CCS

More information

AJAX Programming Overview. Introduction. Overview

AJAX Programming Overview. Introduction. Overview AJAX Programming Overview Introduction Overview In the world of Web programming, AJAX stands for Asynchronous JavaScript and XML, which is a technique for developing more efficient interactive Web applications.

More information

Google Plugin for Eclipse

Google Plugin for Eclipse Google Plugin for Eclipse Not just for newbies anymore Miguel Mendez Tech Lead - Google Plugin for Eclipse 1 Overview Background AJAX Google Web Toolkit (GWT) App Engine for Java Plugin Design Principles

More information

Productivity. Bruce Johnson and Dan Peterson Google

Productivity. Bruce Johnson and Dan Peterson Google Productivity Bruce Johnson and Dan Peterson Google What is GWT? User-focused web app development Ajax apps without the headaches Leverage Java development tools The GWT Mission Statement To radically improve

More information

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

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1 AJAX & GWT Trey Roby GRITS 5/14/09 Roby - 1 1 Change The Web is Changing Things we never imagined Central to people s lives Great Opportunity GRITS 5/14/09 Roby - 2 2 A Very Brief History of Computing

More information

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google GWT: The Technical Advantage Presenter: Anirudh Dewani Company Name: Google What is GWT? 2 How it works Google Web Toolkit Weekly Report 09/01/2008-09/08/200 Code against Java UI libraries 3 How it works

More information

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX THE PRAGMATIC INTRO TO REACT Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX REACT "A JavaScript library for building user interfaces" But first... HOW WE GOT HERE OR: A BRIEF

More information

Google Web Toolkit. David Geary. code.google.com/webtoolkit. corewebdeveloper.com

Google Web Toolkit. David Geary. code.google.com/webtoolkit. corewebdeveloper.com Google Web Toolkit code.google.com/webtoolkit David Geary corewebdeveloper.com clarity.training@gmail.com Copyright Clarity Training, Inc. 2009 Code http://coolandusefulgwt.com 2 Copyright Clarity Training,

More information

Developing Ajax Web Apps with GWT. Session I

Developing Ajax Web Apps with GWT. Session I Developing Ajax Web Apps with GWT Session I Contents Introduction Traditional Web RIAs Emergence of Ajax Ajax ( GWT ) Google Web Toolkit Installing and Setting up GWT in Eclipse The Project Structure Running

More information

of making things look better with CSS, and you have a much better platform for interface development.

of making things look better with CSS, and you have a much better platform for interface development. I ve always had an interest in the nontechnical side of software development: the user experience. It started back when I was working on teams building the core of application servers in C++. We admired

More information

PHP 6 & The PHP Collaboration Project Present & Future. Zeev Suraski Co-founder & CTO, Zend Technologies Co-architect of PHP

PHP 6 & The PHP Collaboration Project Present & Future. Zeev Suraski Co-founder & CTO, Zend Technologies Co-architect of PHP PHP 6 & The PHP Collaboration Project Present & Future Zeev Suraski Co-founder & CTO, Zend Technologies Co-architect of PHP PHP 6 Key Improvements Unicode support Polish up OO including tostring() support

More information

Say goodbye to the pains of Ajax. Yibo

Say goodbye to the pains of Ajax. Yibo Say goodbye to the pains of Ajax Yibo DOM JavaScript XML CSS Standard Browsers: browser-specific dependencies. d Differences Complexity Exprerience: Minesweeper Google Web Toolkit make Ajax development

More information

Google Web Toolkit (GWT)

Google Web Toolkit (GWT) Google Web Toolkit (GWT) St. Louis Java SIG April 12, 2007 Brad Busch Andrew Prunicki What is GWT? GWT is a much different way to develop web applications from

More information

Fast, Easy, Beautiful: Pick Three Building User Interfaces with Google Web Toolkit. Chris Schalk October 29, 2007

Fast, Easy, Beautiful: Pick Three Building User Interfaces with Google Web Toolkit. Chris Schalk October 29, 2007 Fast, Easy, Beautiful: Pick Three Building User Interfaces with Google Web Toolkit Chris Schalk October 29, 2007 Today s Topics The potential of Ajax - why we re all here GWT brings software engineering

More information

Google Web Toolkit (GWT) Basics. Sang Shin Java Technology Architect & Evangelist Sun Microsystems, Inc.

Google Web Toolkit (GWT) Basics. Sang Shin Java Technology Architect & Evangelist Sun Microsystems, Inc. Google Web Toolkit (GWT) Basics Sang Shin Java Technology Architect & Evangelist Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Disclaimer & Acknowledgments Even though Sang Shin is a full-time

More information

CaptainCasa Enterprise Client. Why, where, how JavaFX makes sense

CaptainCasa Enterprise Client. Why, where, how JavaFX makes sense CaptainCasa Enterprise Client Why, where, how JavaFX makes sense 1 Why, where, how JavaFX makes sense! by Björn Müller, http://www.captaincasa.com CaptainCasa is an open community of mid-range business

More information

<Insert Picture Here> JavaFX 2.0

<Insert Picture Here> JavaFX 2.0 1 JavaFX 2.0 Dr. Stefan Schneider Chief Technologist ISV Engineering The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Cords and gumballs. Mike Hearn.

Cords and gumballs. Mike Hearn. Cords and gumballs Mike Hearn mike@r3.com Who what why huh?! Who am I? Kotlin early adopter: first patch to Kotlin website Sept 2014, introduced to my first product Feb 2015. Lead Platform Engineer on

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

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

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

Development of web applications using Google Technology

Development of web applications using Google Technology International Journal of Computer Engineering and Applications, ICCSTAR-2016, Special Issue, May.16 Development of web applications using Google Technology Vaibhavi Nayak 1, Vinuta V Naik 2,Vijaykumar

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Realizing More Value from Your IMS Compiler Upgrade. I'm Kimberly Gist with IBM. System z compilers continue to deliver the latest programming interfaces

More information

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Evaluation Guide for ASP.NET Web CMS and Experience Platforms Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:

More information

Next Generation LMS Evaluation

Next Generation LMS Evaluation Next Generation LMS Evaluation Summary of Individual Steering Committee Member Evaluations April 20th 2017 Participation The summary data here represents nine of the anticipated twelve individual evaluations

More information

Wakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework

Wakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework Wakanda Architecture Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework Note: For a more general overview of Wakanda, please see What is Wakanda?) Wakanda

More information

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps WebSphere Puts Business In Motion Put People In Motion With Mobile Apps Use Mobile Apps To Create New Revenue Opportunities A clothing store increases sales through personalized offers Customers can scan

More information

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

IBM JZOS Meets Web 2.0

IBM JZOS Meets Web 2.0 IBM JZOS Meets Web 2.0 Tuesday, August 3 rd 2010 Session 7637 Steve Goetze Kirk Wolf http://dovetail.com info@dovetail.com Copyright 2010, Dovetailed Technologies Abstract The development and deployment

More information

eclipse rich ajax platform (rap)

eclipse rich ajax platform (rap) eclipse rich ajax platform (rap) winner Jochen Krause CEO Innoopract Member of the Board of Directors Eclipse Foundation jkrause@innoopract.com GmbH outline rich ajax platform project status and background

More information

FROM 4D WRITE TO 4D WRITE PRO INTRODUCTION. Presented by: Achim W. Peschke

FROM 4D WRITE TO 4D WRITE PRO INTRODUCTION. Presented by: Achim W. Peschke 4 D S U M M I T 2 0 1 8 FROM 4D WRITE TO 4D WRITE PRO Presented by: Achim W. Peschke INTRODUCTION In this session we will talk to you about the new 4D Write Pro. I think in between everyone knows what

More information

<put document name here> 1/13

<put document name here> 1/13 1/13 Last update: 08.04.2009 10:36:18 Author: Joern Turner 1 - Introduction...2 1.1 - What is XForms?...3 1.2 - What is Chiba?...3 2 - Getting

More information

Google Wave Client: Powered by GWT. Adam Schuck 28 May, 2009

Google Wave Client: Powered by GWT. Adam Schuck 28 May, 2009 Google Wave Client: Powered by GWT Adam Schuck 28 May, 2009 Google Wave client search abuse detection saved searches folders authentication access control playback waves attachments gadgets contacts presence

More information

1 Introduction. 2 Web Architecture

1 Introduction. 2 Web Architecture 1 Introduction This document serves two purposes. The first section provides a high level overview of how the different pieces of technology in web applications relate to each other, and how they relate

More information

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE If you are looking for a book by Alex MacCaw JavaScript Web Applications: jquery Developers'

More information

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

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript Rich Web Applications in Server-side Java without twitter: #vaadin @joonaslehtinen Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com ? Vaadin is a UI framework for desktop-like

More information

LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp

LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp Goal The goal for the presentation is to share our experience with open source in the hope that

More information

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

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs Web Application with AJAX Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar University of Colorado, Colorado Springs CS 526 Advanced Internet and Web Systems Abstract Asynchronous JavaScript and XML or Ajax

More information

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1 Presents A case study by Devin Zander A look into how absolutely easy internet marketing is. Money Mindset Page 1 Hey guys! Quick into I m Devin Zander and today I ve got something everybody loves! Me

More information

The goal of this book is to teach you how to use Adobe Integrated

The goal of this book is to teach you how to use Adobe Integrated Clearing the AIR The goal of this book is to teach you how to use Adobe Integrated Runtime (AIR) to create desktop applications. You can use JavaScript or ActionScript to develop AIR applications, and

More information

Eclipse as a Web 2.0 Application Position Paper

Eclipse as a Web 2.0 Application Position Paper Eclipse Summit Europe Server-side Eclipse 11 12 October 2006 Eclipse as a Web 2.0 Application Position Paper Automatic Web 2.0 - enabling of any RCP-application with Xplosion Introduction If todays Web

More information

Web Development for Dinosaurs An Introduction to Modern Web Development

Web Development for Dinosaurs An Introduction to Modern Web Development Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge

More information

Mobile & More: Preparing for the Latest Design Trends

Mobile & More: Preparing for the Latest Design Trends February 26, 2015 Mobile & More: Preparing for the Latest Design Trends LATEST TRENDS Responsive Takes Over Material Is the New Flat Hero Images Getting Bigger Interactions Are Micro Video in the Background

More information

Revenge of the Pragmatists

Revenge of the Pragmatists Revenge of the Pragmatists or, lessons learnt from running a Clojure startup (info :BG) => {:name "BG", :govt-id "Baishampayan Ghose", :twitter "@ghoseb"} 1 Clojure/SYNC 2018 whoami Background in Lisp,

More information

Web Architecture Review Sheet

Web Architecture Review Sheet Erik Wilde (School of Information, UC Berkeley) INFO 190-02 (CCN 42509) Spring 2009 May 11, 2009 Available at http://dret.net/lectures/web-spring09/ Contents 1 Introduction 2 1.1 Setup.................................................

More information

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

Rich Web Applications in Server-side Java without. Plug-ins or JavaScript Rich Web Applications in Server-side Java without twitter: #vaadin @joonaslehtinen Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com ? Vaadin is a UI framework for desktop-like

More information

Google Web Toolkit (GWT)

Google Web Toolkit (GWT) Google Web Toolkit (GWT) What is GWT? GWT is a development toolkit for building and optimizing complex browser-based applications You can develop all code, both client and server in Java (or with a different

More information

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering The Power of Unit Testing and it s impact on your business Ashish Kumar Vice President, Engineering Agitar Software, 2006 1 The Power of Unit Testing Why Unit Test? The Practical Reality Where do we go

More information

Selecting Your Wordpress Theme

Selecting Your Wordpress Theme Selecting Your Wordpress Theme Wordpress uses templates, otherwise known as Themes to define the look, feel, and functionality of a blog. The Theme you choose is not only the face you present to the world

More information

Put a UI Developer in a Bank. See what happens

Put a UI Developer in a Bank. See what happens Put a UI Developer in a Bank See what happens Form follows function. For financial firms, function is so fortified and secured that no pretty form could come close to it. Form follows function Louis Seville.

More information

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

Credits: Some of the slides are based on material adapted from 1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)

More information

Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example

Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example Laurent Jolia Ferrier 12 June 2014 Foreword: I have always favoured development tools targeting several OSs with "one" code

More information

Chapter 1 Getting Started

Chapter 1 Getting Started Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different

More information

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE. CUSTOMER PAIN POINTS 1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.NET FRAMEORK. THAT S TAKING UP SPACE ON MY HARDDRIVE

More information

Seminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE

Seminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE A Seminar report On Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: SUBMITTED BY: www.studymafia.org www.studymafia.org Acknowledgement

More information

MEAP Edition Manning Early Access Program Get Programming with Java Version 1

MEAP Edition Manning Early Access Program Get Programming with Java Version 1 MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,

More information

White Paper: Delivering Enterprise Web Applications on the Curl Platform

White Paper: Delivering Enterprise Web Applications on the Curl Platform White Paper: Delivering Enterprise Web Applications on the Curl Platform Table of Contents Table of Contents Executive Summary... 1 Introduction... 2 Background... 2 Challenges... 2 The Curl Solution...

More information

Mobile Apps Why & How

Mobile Apps Why & How Mobile Apps Why & How MOBIKATS Phillip Hunt CEO philliphunt@mobikats.com 07590 277045 Putting your Content in Everyone s Pocket. Copyright Mobikats 2012 What do we do? Consultancy on developing or reviewing

More information

ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER

ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER Abstract This whitepaper talks about the requirements of modern day Enterprise Mobile Applications and how WaveMaker can simplify and speed up the

More information

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

mismatch between what is maybe possible today and what is going on in many of today's IDEs. What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to

More information

GWT in Action by Robert Hanson and Adam Tacy

GWT in Action by Robert Hanson and Adam Tacy SAMPLE CHAPTER GWT in Action by Robert Hanson and Adam Tacy Chapter 2 Copyright 2007 Manning Publications brief contents PART 1 GETTING STARTED...1 1 Introducing GWT 3 2 Creating the default application

More information

Like It Or Not Web Applications and Mashups Will Be Hot

Like It Or Not Web Applications and Mashups Will Be Hot Like It Or Not Web Applications and Mashups Will Be Hot Tommi Mikkonen Tampere University of Technology tommi.mikkonen@tut.fi Antero Taivalsaari Sun Microsystems Laboratories antero.taivalsaari@sun.com

More information

OSSW ICOSST 2009, Al-Khawarizmi Institute of Computer Science University of Engineering and Technology, Lahore

OSSW ICOSST 2009, Al-Khawarizmi Institute of Computer Science University of Engineering and Technology, Lahore Agenda What is Selenium Why Selenium Testing using record/playback and scripting tool Selenium Grid Benefits The Problem Conclusion What is Selenium Selenium is a chemical element with the atomic number

More information

Choosing the web s future. Peter-Paul Koch Van Lanschot, 9 February 2017

Choosing the web s future. Peter-Paul Koch   Van Lanschot, 9 February 2017 Choosing the web s future Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Van Lanschot, 9 February 2017 Four problems 1. Web developers want to emulate native apps, which I think is not possible

More information

Understanding Browsers

Understanding Browsers Understanding Browsers What Causes Browser Display Differences? Different Browsers Different Browser Versions Different Computer Types Different Screen Sizes Different Font Sizes HTML Errors Browser Bugs

More information

HOW REACT NATIVE AND NATIVESCRIPT CHANGE YOUR MOBILE STRATEGY SEBASTIAN

HOW REACT NATIVE AND NATIVESCRIPT CHANGE YOUR MOBILE STRATEGY SEBASTIAN HOW REACT NATIVE AND NATIVESCRIPT CHANGE YOUR MOBILE STRATEGY SEBASTIAN WITALEC @SEBAWITA NATIVE DEVELOPMENT WHY DO I EVEN HAVE TO CHOOSE? THE PROBLEM WHAT WE WANT REALITY DEV SETUP OBJECTIVE- C SWIFT

More information

MEAP Edition Manning Early Access Program WebAssembly in Action Version 1

MEAP Edition Manning Early Access Program WebAssembly in Action Version 1 MEAP Edition Manning Early Access Program WebAssembly in Action Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome Thank you

More information

We aren t getting enough orders on our Web site, storms the CEO.

We aren t getting enough orders on our Web site, storms the CEO. In This Chapter Introducing how Ajax works Chapter 1 Ajax 101 Seeing Ajax at work in live searches, chat, shopping carts, and more We aren t getting enough orders on our Web site, storms the CEO. People

More information

mgwt Cross platform development with Java

mgwt Cross platform development with Java mgwt Cross platform development with Java Katharina Fahnenbruck Consultant & Trainer! www.m-gwt.com Motivation Going native Good performance Going native Good performance Device features Going native Good

More information

Evaluation of Visual Fabrique (VF)

Evaluation of Visual Fabrique (VF) Evaluation of Visual Fabrique (VF) Dr Peter Lappo www.smr.co.uk Scope and Method This is a review of Visual Fabrique (VF) V1.0.371 EAP Release. In order to conduct this evaluation I followed the tutorial

More information

Web Browser as an Application Platform Antero Taivalsaari

Web Browser as an Application Platform Antero Taivalsaari Web Browser as an Application Platform Antero Taivalsaari November 27, 2007 http://research.sun.com/projects/lively lively@sun.com Background The widespread adoption of the World Wide Web has dramatically

More information

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system Web [Application] Frameworks conventional approach to building a web service write ad hoc client code in HTML, CSS, Javascript,... by hand write ad hoc server code in [whatever] by hand write ad hoc access

More information

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek @wrzodek Roche Group Penzberg Founded 1896 in Basel, Switzerland Employing > 82,000 people Clear focus

More information

Traditional Ajax vs. New business targeted Ajax

Traditional Ajax vs. New business targeted Ajax Traditional Ajax vs. New business targeted Ajax By Itzik Spitzen Introduction This article compares between the traditional Ajax represented by ASP.NET to that of the new Ajax approach represented by Visual

More information

JavaScript Fundamentals_

JavaScript Fundamentals_ JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and

More information

Stanko Tadić

Stanko Tadić State of modern JavaScript development 04.02.2017. Stanko Tadić HELLO, MY NAME IS STANKO TADIĆ and I m a Principal Developer at Work & Co. I love development, music and cartoons. You might say I m a geek.

More information

Leveraging the Direct Manipulation Capabilities of OpenCms by Introducing a Page Definition Layer -

Leveraging the Direct Manipulation Capabilities of OpenCms by Introducing a Page Definition Layer - Leveraging the Direct Manipulation Capabilities of OpenCms by Introducing a Page Definition Layer - Presented by Konrad W ulf, businessmart AG, at the OpenCms Days 2008, Cologne (May 5/6) Contents 1. Direct

More information

How To Present Progressive Web Apps To Your Clients

How To Present Progressive Web Apps To Your Clients How To Present Progressive Web Apps To Your Clients AND HELP THEM WIN THE MOBILE WEB TABLE OF CONTENTS 01 And Then There Were Three PAGE 03 05 The Major Benefits of PWAs PAGE 07 02 Introducing PWAs PAGE

More information

Contents. The Mobile Delivery Gap The Choice to Go Hybrid What is a Hybrid App? Comparing Hybrid vs. Native Why Hybrid?...

Contents. The Mobile Delivery Gap The Choice to Go Hybrid What is a Hybrid App? Comparing Hybrid vs. Native Why Hybrid?... Contents The Mobile Delivery Gap...03 The Choice to Go Hybrid...04 What is a Hybrid App?...05 Comparing Hybrid vs. Native...06 Why Hybrid?...07 Why Native?...13 A Little About Ionic...17 Testimonials...18

More information

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already.

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already. 2 3 4 The point here is that for real business applications, there is a connected back-end for services. The mobile part of the app is just a presentation layer that is unique for the mobile environment.

More information

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen ArcGIS Runtime: Building Cross-Platform Apps Rex Hansen Mark Baird Michael Tims Morten Nielsen Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET ArcGIS Runtime: Building

More information

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change Chapter01.fm Page 1 Monday, August 23, 2004 1:52 PM Part I The Mechanics of Change The Mechanics of Change Chapter01.fm Page 2 Monday, August 23, 2004 1:52 PM Chapter01.fm Page 3 Monday, August 23, 2004

More information

1 What is Java? 2 Java is platform independent 3 Applets can be distributed by WWW 4 Example of an applet 5 The Java Language 6 Java is secure 7 Java in four versions 8 Java standard library 9 Event handling

More information

Beginners Guide to. Sencha Touch. Joshua Morony

Beginners Guide to. Sencha Touch. Joshua Morony Beginners Guide to Sencha Touch Joshua Morony Contents Contents 1 Preface.......................... 4 1 Why Sencha Touch? 8 2 Know Your Options 21 3 How Sencha Touch Actually Works 22 4 Setting up Your

More information

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech

More information

Next Generation Collaborative Reversing with Ida Pro and CollabREate. Chris Eagle and Tim Vidas Naval Postgraduate School

Next Generation Collaborative Reversing with Ida Pro and CollabREate. Chris Eagle and Tim Vidas Naval Postgraduate School Next Generation Collaborative Reversing with Ida Pro and CollabREate Chris Eagle and Tim Vidas Naval Postgraduate School Shameless Plug Coming soon to finer book stores Prepare for Demo Blackhat demo package

More information

One of the fundamental kinds of websites that SharePoint 2010 allows

One of the fundamental kinds of websites that SharePoint 2010 allows Chapter 1 Getting to Know Your Team Site In This Chapter Requesting a new team site and opening it in the browser Participating in a team site Changing your team site s home page One of the fundamental

More information

GWT MOCK TEST GWT MOCK TEST I

GWT MOCK TEST GWT MOCK TEST I http://www.tutorialspoint.com GWT MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to GWT. You can download these sample mock tests at your local machine

More information

Eclipse 4.0. Jochen Krause EclipseSource

Eclipse 4.0. Jochen Krause EclipseSource Eclipse 4.0 Jochen Krause jkrause@eclipsesource.com EclipseSource based on EclipseCon 2008 talk by Mike Wilson, Jochen Krause, Jeff McAffer, Steve Northover 2008 EclipseSource December 2008 e4 adapting

More information

E-Nature Tutorial for Google Web Toolkit. Dominik Erbsland

E-Nature Tutorial for Google Web Toolkit. Dominik Erbsland E-Nature Tutorial for Google Web Toolkit Dominik Erbsland (de@profzone.ch) Version 0.1 November 2, 2006 Contents 1 Preface 1 1.1 Why this tutorial............................. 1 2 Creating A Project 2

More information

Extreme Java Productivity with Spring Roo and Spring 3.0

Extreme Java Productivity with Spring Roo and Spring 3.0 Extreme Java Productivity with Spring Roo and Spring 3.0 Rod Johnson Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Agenda Motivation

More information

webdriver selenium 08FE064A22BF82F5A04B63153DCF68BB Webdriver Selenium 1 / 6

webdriver selenium 08FE064A22BF82F5A04B63153DCF68BB Webdriver Selenium 1 / 6 Webdriver Selenium 1 / 6 2 / 6 3 / 6 Webdriver Selenium Selenium WebDriver If you want to create robust, browser-based regression automation suites and tests; scale and distribute scripts across many environments

More information

Introduction. A Brief Description of Our Journey

Introduction. A Brief Description of Our Journey Introduction If you still write RPG code as you did 20 years ago, or if you have ILE RPG on your resume but don t actually use or understand it, this book is for you. It will help you transition from the

More information

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

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation The Next Generation of Eclipse: e4 Mike Milinkovich Executive Director Eclipse Foundation 1 Changing Environment New Technologies: RIA Applications and Cloud Computing AJAX, Flash, Silverlight Amazon E2

More information