Large-scale Web Application Development: Client Side. Tancred Lindholm D.Sc. tancred(a.)google.com

Size: px
Start display at page:

Download "Large-scale Web Application Development: Client Side. Tancred Lindholm D.Sc. tancred(a.)google.com"

Transcription

1 Large-scale Web Application Development: Client Side Tancred Lindholm D.Sc. tancred(a.)google.com

2 Contents Recap: Web Applications The browser as application container Javascript "Garage" vs. industry practices The XHR mechanism for RPC UI aka Application Chrome HTML, CSS Building a better browser

3 Web Application Overview (recap) Here: Web Application = interactive web page that closely resembles a traditional application (UI-wise) Architecture = Client/Server (it's back from the 90s...) Client in user's browser Server in data center Client-Server communication using HTTP Client-side heavily guided -- constrained by W3C stack HTML/XML for structure CSS for styling Javascript for programming Javascript "libraries": XHR, DOM Topic for next week

4 The Web Browser: Past Original purpose: to display and facilitate navigation between linked documents (HTML = text+pictures+hyperlinks)

5 The Web Browser: Present Today: Interactive, dynamic, widgets The browser as application container is rather absurd! Programming in scripting language on top of HTML doc Next to no standard libraries (containers? algorithms?) Remote calls built on client-initiated document requests Display/UI = formatted text document with images Significant differences between implementations Lack of speed (recently improved) No threads App easily requires 4 languages (JS,CSS,HTML,Java) Why? features added as extensions to basic browser in reaction to popular demand no overall plan to become a platform

6 The Browser vs Java (and similar) Sun (among others) recognized the need for a cross-platform application container with on-demand fetch of code = Java JDK 1.0 had a well-defined language, widgets, libraries, reasonably cross-platform... so why are we not browsing Java apps (or Flex or.net)? Good question? Required large plugin download? Startup time? Ugly widgets? My theory: inertia + copycat: seemed easy to add just one more feature to existing pages than to switch gears Everyone else is doing it (without Java) The story about how to boil a frog comes to mind...

7 Javascript in a "real" software project Dynamically typed, weak object support, great for quick glue logic on an HTML form etc. Larger piece of software (>10kloc) Weak typing introduces hard to catch typing errors Lack of decent standard library means reinvent your own Lack of canonical high-level modularization (objects, packages) mean reinvent your own Bad and uneven performance across browsers Different browser behavior = conditional code, much testing, need for wrapper libraries (you need to make) We put our faith in W3C to standardize Public comliance tests + Wall of Fame/Shame (e.g. Acid 2/3 test for CSS)

8 Dynamic typing woes Typical error example var shoppingcartitemslist = ['a1'];... (5000 lines later)...shoppingcartitemlist.append ('b' + 2); One solution: Closure Compiler Parses your JS code an outputs condensed JS code Supports strong typing (-> typing errors found) through special comments preceding a declaration {number} */var itemcount;/** Map of string key to node in the document tree. *@type {Object.<string, Node> */var nodesbyid = {}

9 Dynamic typing woes Open source implementation at com/closure/compiler/ Maybe also something in this direction from standards bodies (ECMAScript) There are a lot of opinions which way to go: JS4 was abandoned

10 Standard Library JS standard library is pretty much DOM = API for manipulating (host) HTML document A handful of string, math, regexp functions No basic data structures etc. The Closure Library Open-source library with fundamental functionality Uniform object paradigm; inheritance etc. Basic data structures Wrappers & helpers for DOM manipulation (eliminating some cross-browser issues) Is any standardization body working on this?!

11 Performance Issues Traditionally interpreted, sluggish performance Google released Chrome with justin-time JS compiler nowadays speed is improving (but old browsers still used) DOM manipulation still a bottleneck JS size & parsing a bottleneck on app startup Closure compiler condenses & removes dead code E.g. rename using shorter names (myvariable -> xg) Source: ZDNET, 2009

12 RPCs How would you design a RPC mechanism? Endpoint identifiers (target of RPC, e.g. DNS name) Over-the-wire data format (method, parameters, results) E.g., Java RMI, IIOP (Corba), SunRPC Web 1.0: browser view updated with server data when page reloaded Web 1.9: Hidden-Iframe-RPC Create a hidden frame (HTML document within master document) Set URL of frame to string encoding the request Wait for frame content to load, content = reply Why do you need a document for an RPC?!

13 The XmlHttpRequest (XHR) for RPC Iframe method a hack that nonetheless widely used Microsoft introduced the XmlHttpRequest object in Javascript Initiate request to URL, wait for response content & status No need for a hidden subdocument Nowadays supported accross browsers What about data encoding? Initially just custom strings, regexps to split on client Nowadays JSON = Javascript Object Notation quite popular JSON data evaluates to a JS data structure...so XMLHttpRequest not really used for XML... Only client can be initiator (no server->browser RPC) Can be emulated with NOP client request "hanging open" Browserchannel in Closure

14 Building an UI with HTML and CSS Purpose of HTML + CSS = logical markup + formatting of text, inlined bitmap images For a GUI framework (e.g. Qt, AWT, Swing) you need A bitmap drawing surface (in browsers? No) 2D/3D graphics functions (No) Text drawing (sort of) Input events (sort of) Building a GUI with HTML + CSS + <img>s rather absurd Screen updates go through HTML parse (optional) and browser page renderer -- very inefficient Lots of hacks like page elements at negative coordinates holding parts of the UI Rarely pixel-precise positioning Good point: UI usually scales/zooms

15 Building a Better Browser Recent JS speed improvements have made a huge difference HTML 5 (being rolled out in new browsers) "Canvas" HTML element + Javascript functions for drawing/bitmaps Client-side persistent storage (JS can store data in browser) Video support without plugins Drag and Drop Web Application APIs being standardized in W3C Web Applications Working Group org/2008/webapps/ Even more goodies: web sockets, web workers (threads) etc.

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy Google Web Toolkit Introduction to GWT Development Ilkka Rinne & Sampo Savolainen / Spatineo Oy GeoMashup CodeCamp 2011 University of Helsinki Department of Computer Science Google Web Toolkit Google Web

More information

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains

More information

How To Write A Web Server In Javascript

How To Write A Web Server In Javascript LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client

More information

RIA Technologies Comparison

RIA Technologies Comparison RIA Technologies Comparison Focus Since the subject is huge I will first present a general view and then focus on more ( hopefully ) interesting parts Also, some key points need to be established: Technologies

More information

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o : Version: 0.1 Date: 20.07.2009 Author(s): Doddy Satyasree AJAX Person responsable: Doddy Satyasree Language: English Term Paper History Version Status Date 0.1 Draft Version created 20.07.2009 0.2 Final

More information

Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf

Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 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

Performance Testing for Ajax Applications

Performance Testing for Ajax Applications Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

AJAX. Gregorio López López glopez@it.uc3m.es Juan Francisco López Panea 100032757@alumnos.uc3m.es

AJAX. Gregorio López López glopez@it.uc3m.es Juan Francisco López Panea 100032757@alumnos.uc3m.es AJAX Gregorio López López glopez@it.uc3m.es Juan Francisco López Panea 100032757@alumnos.uc3m.es Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Contents 1. Introduction 2. Overview

More information

REST web services. Representational State Transfer Author: Nemanja Kojic

REST web services. Representational State Transfer Author: Nemanja Kojic REST web services Representational State Transfer Author: Nemanja Kojic What is REST? Representational State Transfer (ReST) Relies on stateless, client-server, cacheable communication protocol It is NOT

More information

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com Progressive Enhancement With GQuery and GWT Ray Cromwell ray@timefire.com Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads

More information

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev International Journal "Information Technologies & Knowledge" Vol.5 / 2011 319 AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev Abstract: This paper presents a new approach

More information

Chapter 12: Advanced topic Web 2.0

Chapter 12: Advanced topic Web 2.0 Chapter 12: Advanced topic Web 2.0 Contents Web 2.0 DOM AJAX RIA Web 2.0 "Web 2.0" refers to the second generation of web development and web design that facilities information sharing, interoperability,

More information

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0 Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0 Jonathan Jeon, hollobit@etri.re.kr Senior Member of Research Staff, ETRI Seungyun Lee, syl@etri.re.kr Research Director

More information

Rich Internet Applications

Rich Internet Applications Rich Internet Applications Prepared by: Husen Umer Supervisor: Kjell Osborn IT Department Uppsala University 8 Feb 2010 Agenda What is RIA? RIA vs traditional Internet applications. Why to use RIAs? Running

More information

Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1

Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1 Selenium WebDriver Gianluca Carbone Selenium WebDriver 1 Contents What is Selenium? History WebDriver High-Level Architectures Architectural themes Non Functional quality Layers & Javascript Design issues

More information

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010 Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache

More information

From Desktop to Browser Platform: Office Application Suite with Ajax

From Desktop to Browser Platform: Office Application Suite with Ajax From Desktop to Browser Platform: Office Application Suite with Ajax Mika Salminen Helsinki University of Technology mjsalmi2@cc.hut.fi Abstract Web applications have usually been less responsive and provided

More information

Example. Represent this as XML

Example. Represent this as XML Example INF 221 program class INF 133 quiz Assignment Represent this as XML JSON There is not an absolutely correct answer to how to interpret this tree in the respective languages. There are multiple

More information

A Tool for Evaluation and Optimization of Web Application Performance

A Tool for Evaluation and Optimization of Web Application Performance A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 cernyto3@fel.cvut.cz Michael J. Donahoo 2 jeff_donahoo@baylor.edu Abstract: One of the main goals of web application

More information

Modern Web Development From Angle Brackets to Web Sockets

Modern Web Development From Angle Brackets to Web Sockets Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about

More information

Adding Panoramas to Google Maps Using Ajax

Adding Panoramas to Google Maps Using Ajax Adding Panoramas to Google Maps Using Ajax Derek Bradley Department of Computer Science University of British Columbia Abstract This project is an implementation of an Ajax web application. AJAX is a new

More information

Some Issues on Ajax Invocation

Some Issues on Ajax Invocation Some Issues on Ajax Invocation I. Introduction AJAX is a set of technologies that together a website to be -or appear to be- highly responsive. This is achievable due to the following natures of AJAX[1]:

More information

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

More information

CSC309 Winter 2016 Lecture 3. Larry Zhang

CSC309 Winter 2016 Lecture 3. Larry Zhang CSC309 Winter 2016 Lecture 3 Larry Zhang 1 Why Javascript Javascript is for dynamically manipulate the front-end of your web page. Add/remove/change the content/attributes of an HTML element Change the

More information

Programming in HTML5 with JavaScript and CSS3

Programming in HTML5 with JavaScript and CSS3 Course 20480B: Programming in HTML5 with JavaScript and CSS3 Course Details Course Outline Module 1: Overview of HTML and CSS This module provides an overview of HTML and CSS, and describes how to use

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Handled By, VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603203. Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Mr. K. Ravindran, A.P(Sr.G)

More information

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing ASP.NET MVC 4 Web Applications MOC 20486 Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies

More information

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar 2008. info@theserverlabs.com.

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar 2008. info@theserverlabs.com. Whitepaper Frameworks Evaluation Document reference: TSL-SES-WP0001 Januar 2008. info@theserverlabs.com 1 Introduction... 3 1.1 Purpose...3 1.2 Scope...3 2 RIA vs Stand-alone Desktop applications... 4

More information

Web-JISIS Reference Manual

Web-JISIS Reference Manual 23 March 2015 Author: Jean-Claude Dauphin jc.dauphin@gmail.com I. Web J-ISIS Architecture Web-JISIS Reference Manual Web-JISIS is a Rich Internet Application (RIA) whose goal is to develop a web top application

More information

QML and JavaScript for Native App Development

QML and JavaScript for Native App Development Esri Developer Summit March 8 11, 2016 Palm Springs, CA QML and JavaScript for Native App Development Michael Tims Lucas Danzinger Agenda Native apps. Why? Overview of Qt and QML How to use JavaScript

More information

Client-side Web Engineering From HTML to AJAX

Client-side Web Engineering From HTML to AJAX Client-side Web Engineering From HTML to AJAX SWE 642, Spring 2008 Nick Duan 1 What is Client-side Engineering? The concepts, tools and techniques for creating standard web browser and browser extensions

More information

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com Performance Testing Web 2.0 Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com 1 Foundations of Web 2.0 (a history lesson) 1993 The National Center for Supercomputing Applications

More information

Gateway Apps - Security Summary SECURITY SUMMARY

Gateway Apps - Security Summary SECURITY SUMMARY Gateway Apps - Security Summary SECURITY SUMMARY 27/02/2015 Document Status Title Harmony Security summary Author(s) Yabing Li Version V1.0 Status draft Change Record Date Author Version Change reference

More information

Rich User Interfaces for Web-Based Corporate Applications

Rich User Interfaces for Web-Based Corporate Applications Rich User Interfaces for Web-Based Corporate Applications Ivan Zapevalov, Software Engineer 1 Outline RIA technologies AJAX technology Widgets Demo application in JavaScript Demo application in GWT Web-catalog

More information

Developer Tutorial Version 1. 0 February 2015

Developer Tutorial Version 1. 0 February 2015 Developer Tutorial Version 1. 0 Contents Introduction... 3 What is the Mapzania SDK?... 3 Features of Mapzania SDK... 4 Mapzania Applications... 5 Architecture... 6 Front-end application components...

More information

Performance Testing Web 2.0

Performance Testing Web 2.0 Performance Testing Web 2.0 David Chadwick Rational Testing Evangelist dchadwick@us.ibm.com Dawn Peters Systems Engineer, IBM Rational petersda@us.ibm.com 2009 IBM Corporation WEB 2.0 What is it? 2 Web

More information

YouTrack MPS case study

YouTrack MPS case study YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project

More information

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00 Course Page - Page 1 of 12 Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00 Course Description Responsive Mobile Web Development is more

More information

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel Enable Your Automated Web App Testing by WebDriver Yugang Fan Intel Agenda Background Challenges WebDriver BDD Behavior Driven Test Architecture Example WebDriver Based Behavior Driven Test Summary Reference

More information

Bridging the Gap: from a Web App to a Mobile Device App

Bridging the Gap: from a Web App to a Mobile Device App Bridging the Gap: from a Web App to a Mobile Device App or, so how does this PhoneGap* stuff work? *Other names and brands may be claimed as the property of others. 1 Users Want Mobile Apps, Not Mobile

More information

GUI and Web Programming

GUI and Web Programming GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program

More information

Overview. In the beginning. Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript

Overview. In the beginning. Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript Overview In the beginning Static vs. Dynamic Content Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript AJAX Libraries and Frameworks

More information

Web Applications Come of Age

Web Applications Come of Age Web Applications Come of Age Table of Contents Executive Summary 1 A Brief History of Web Development 2 The JS Web App: A New Paradigm 4 Request-Response Model 5 JavaScript Web Application Model 7 Why

More information

Abusing HTML5. DEF CON 19 Ming Chow Lecturer, Department of Computer Science TuCs University Medford, MA 02155 mchow@cs.tucs.edu

Abusing HTML5. DEF CON 19 Ming Chow Lecturer, Department of Computer Science TuCs University Medford, MA 02155 mchow@cs.tucs.edu Abusing HTML5 DEF CON 19 Ming Chow Lecturer, Department of Computer Science TuCs University Medford, MA 02155 mchow@cs.tucs.edu What is HTML5? The next major revision of HTML. To replace XHTML? Yes Close

More information

Unlocking the Java EE Platform with HTML 5

Unlocking the Java EE Platform with HTML 5 1 2 Unlocking the Java EE Platform with HTML 5 Unlocking the Java EE Platform with HTML 5 Overview HTML5 has suddenly become a hot item, even in the Java ecosystem. How do the 'old' technologies of HTML,

More information

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. 20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction

More information

Coding for Desktop and Mobile with HTML5 and Java EE 7

Coding for Desktop and Mobile with HTML5 and Java EE 7 Coding for Desktop and Mobile with HTML5 and Java EE 7 Coding for Desktop and Mobile with HTML5 and Java EE 7 Geertjan Wielenga - NetBeans - DukeScript - VisualVM - Jfugue Music Notepad - Java - JavaScript

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools

More information

Responsive Web Design Creative License

Responsive Web Design Creative License Responsive Web Design Creative License Level: Introduction - Advanced Duration: 16 Days Time: 9:30 AM - 4:30 PM Cost: 2197 Overview Web design today is no longer just about cross-browser compatibility.

More information

Web Server Languages Summer 2014. Thomas A. Powell tpowell@pint.com

Web Server Languages Summer 2014. Thomas A. Powell tpowell@pint.com Web Server Languages Summer 2014 Thomas A. Powell tpowell@pint.com http://www.pint.com/classes/cse135 Housekeeping Syllabus review Class page http://classes.pint.com/cse135/ Updated syllabus, notes, homework

More information

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts

More information

Blackbox Reversing of XSS Filters

Blackbox Reversing of XSS Filters Blackbox Reversing of XSS Filters Alexander Sotirov alex@sotirov.net Introduction Web applications are the future Reversing web apps blackbox reversing very different environment and tools Cross-site scripting

More information

Scalable and Efficient Web Application Architectures. Thin-clients and SQL vs. Thick-clients and NoSQL

Scalable and Efficient Web Application Architectures. Thin-clients and SQL vs. Thick-clients and NoSQL Scalable and Efficient Web Application Architectures Thin-clients and SQL vs. Thick-clients and NoSQL Michael K. Gunnulfsen Master Thesis Spring 2013 Scalable and Efficient Web Application Architectures

More information

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN 082 MO 25. Aug. 2008, 17:00 UHR 0 RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN 1 Rich Internet Applications - Definition «Rich Internet Applications (RIAs) are web applications that have the

More information

Java the UML Way: Integrating Object-Oriented Design and Programming

Java the UML Way: Integrating Object-Oriented Design and Programming Java the UML Way: Integrating Object-Oriented Design and Programming by Else Lervik and Vegard B. Havdal ISBN 0-470-84386-1 John Wiley & Sons, Ltd. Table of Contents Preface xi 1 Introduction 1 1.1 Preliminaries

More information

Learning HTML5 Game Programming

Learning HTML5 Game Programming Learning HTML5 Game Programming A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL James L. Williams AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York

More information

AJAX and JSON Lessons Learned. Jim Riecken, Senior Software Engineer, Blackboard Inc.

AJAX and JSON Lessons Learned. Jim Riecken, Senior Software Engineer, Blackboard Inc. AJAX and JSON Lessons Learned Jim Riecken, Senior Software Engineer, Blackboard Inc. About Me Jim Riecken Senior Software Engineer At Blackboard for 4 years. Work out of the Vancouver office. Working a

More information

Rich Internet Applications

Rich Internet Applications Rich Internet Applications [Image coming] Ryan Stewart Rich Internet Application Evangelist rstewart@adobe.com Ryan Stewart Flex Developer for 3 years Rich Internet Application Blogger for 2 years http://blogs.zdnet.com/stewart/

More information

This document gives an outline of Tim Ward s work on mobile phone systems 2002 2012.

This document gives an outline of Tim Ward s work on mobile phone systems 2002 2012. MOBILE PHONE SYSTEMS Tim Ward, Brett Ward Limited, 11/4/2012 This document gives an outline of Tim Ward s work on mobile phone systems 2002 2012. Details of some work for the security industry are omitted.

More information

How To Build A Web App

How To Build A Web App UNCLASSIFIED Next Gen Web Architecture for the Cloud Era Chief Scientist, Raytheon Saturn 2013 28 Apr - 3 May Copyright (2013) Raytheon Agenda Existing Web Application Architecture SOFEA Lessons learned

More information

XML Processing and Web Services. Chapter 17

XML Processing and Web Services. Chapter 17 XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing

More information

Introduction to BlackBerry Smartphone Web Development Widgets

Introduction to BlackBerry Smartphone Web Development Widgets Introduction to BlackBerry Smartphone Web Development Widgets Trainer name Date 2009 Research In Motion Limited V1.00 are stand-alone BlackBerry applications that consist of standard web components, including

More information

How To Write An Ria Application

How To Write An Ria Application Document Reference TSL-SES-WP-0001 Date 4 January 2008 Issue 1 Revision 0 Status Final Document Change Log Version Pages Date Reason of Change 1.0 Draft 17 04/01/08 Initial version The Server Labs S.L

More information

Data Visualization in Ext Js 3.4

Data Visualization in Ext Js 3.4 White Paper Data Visualization in Ext Js 3.4 Ext JS is a client-side javascript framework for rapid development of cross-browser interactive Web applications using techniques such as Ajax, DHTML and DOM

More information

Practical Android Projects Lucas Jordan Pieter Greyling

Practical Android Projects Lucas Jordan Pieter Greyling Practical Android Projects Lucas Jordan Pieter Greyling Apress s w«^* ; i - -i.. ; Contents at a Glance Contents --v About the Authors x About the Technical Reviewer xi PAcknowiedgments xii Preface xiii

More information

Web application Architecture

Web application Architecture 2014 Cesare Pautasso 1 / 29 Very Thin Client 6 / 29 AJAX Input/ Output Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch Client/Server 7 / 29 @pautasso 5 / 29 Web application Architecture

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

LIBERATED: A FULLY IN-BROWSER CLIENT AND SERVER WEB APPLICATION DEBUG AND TEST ENVIRONMENT DERRELL LIPMAN B.S., UNIVERSITY OF THE PACIFIC (1983)

LIBERATED: A FULLY IN-BROWSER CLIENT AND SERVER WEB APPLICATION DEBUG AND TEST ENVIRONMENT DERRELL LIPMAN B.S., UNIVERSITY OF THE PACIFIC (1983) LIBERATED: A FULLY IN-BROWSER CLIENT AND SERVER WEB APPLICATION DEBUG AND TEST ENVIRONMENT BY DERRELL LIPMAN B.S., UNIVERSITY OF THE PACIFIC (1983) SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

More information

ios Hybrid Mobile Application Development

ios Hybrid Mobile Application Development ios Hybrid Mobile Application Development Siva RamaKrishna Ravuri Oct 06, 2012 2000 West Park Drive Westborough MA 01581 USA Phone:5083897300Fax:5083669901 The entire contents of this document are subject

More information

From RPC to Web Apps: Trends in Client-Server Systems

From RPC to Web Apps: Trends in Client-Server Systems From RPC to Web Apps: Trends in Client-Server Systems George Coulouris 1 Overview Motivation - to consider the effect of client-server interaction on the development of interactive apps Style of client-server

More information

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development

More information

Middleware Lou Somers

Middleware Lou Somers Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,

More information

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS RAJESH KUMAR Technical Lead, Aricent PUNEET INDER KAUR Senior Software Engineer, Aricent HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI

More information

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,

More information

AJAX and jmaki for Web 2.0 Development using Java. Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc.

AJAX and jmaki for Web 2.0 Development using Java. Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc. AJAX and jmaki for Web 2.0 Development using Java Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc. Agenda AJAX Basics > What is AJAX? > AJAX Interaction:Using AutoComplete Sample Application

More information

Load Testing Ajax Apps using head-less browser tools. NoVaTAIG April 13, 2011 Gopal Addada and Frank Hurley Cigital Inc.

Load Testing Ajax Apps using head-less browser tools. NoVaTAIG April 13, 2011 Gopal Addada and Frank Hurley Cigital Inc. Load Testing Ajax Apps using head-less browser tools NoVaTAIG April 13, 2011 Gopal Addada and Frank Hurley Cigital Inc. 1 Agenda About Cigital Background : AJAX and Load Test requirements Tools research

More information

HTML5 the new. standard for Interactive Web

HTML5 the new. standard for Interactive Web WHITE PAPER HTML the new standard for Interactive Web by Gokul Seenivasan, Aspire Systems HTML is everywhere these days. Whether desktop or mobile, windows or Mac, or just about any other modern form factor

More information

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, inemedi@ie.ase.ro Writing a custom web

More information

Research on HTML5 in Web Development

Research on HTML5 in Web Development Research on HTML5 in Web Development 1 Ch Rajesh, 2 K S V Krishna Srikanth 1 Department of IT, ANITS, Visakhapatnam 2 Department of IT, ANITS, Visakhapatnam Abstract HTML5 is everywhere these days. HTML5

More information

White Paper On. Single Page Application. Presented by: Yatin Patel

White Paper On. Single Page Application. Presented by: Yatin Patel White Paper On Single Page Application Presented by: Yatin Patel Table of Contents Executive Summary... 3 Web Application Architecture Patterns... 4 Common Aspects... 4 Model... 4 View... 4 Architecture

More information

Application layer Web 2.0

Application layer Web 2.0 Information Network I Application layer Web 2.0 Youki Kadobayashi NAIST They re revolving around the web, after all Name any Internet-related buzz: Cloud computing Smartphone Social media... You ll end

More information

SYST35300 Hybrid Mobile Application Development

SYST35300 Hybrid Mobile Application Development SYST35300 Hybrid Mobile Application Development Native, Web and Hybrid applications Hybrid Applications: Frameworks Native, Web and Hybrid Applications Mobile application development is the process by

More information

A framework for Itinerary Personalization in Cultural Tourism of Smart Cities

A framework for Itinerary Personalization in Cultural Tourism of Smart Cities A framework for Itinerary Personalization in Cultural Tourism of Smart Cities Gianpaolo D Amico, Simone Ercoli, and Alberto Del Bimbo University of Florence, Media Integration and Communication Center

More information

Web-Application Security

Web-Application Security Web-Application Security Kristian Beilke Arbeitsgruppe Sichere Identität Fachbereich Mathematik und Informatik Freie Universität Berlin 29. Juni 2011 Overview Web Applications SQL Injection XSS Bad Practice

More information

Web Programming Languages Overview

Web Programming Languages Overview Web Programming Languages Overview Thomas Powell tpowell@pint.com Web Programming in Context Web Programming Toolbox ActiveX Controls Java Applets Client Side Helper Applications Netscape Plug-ins Scripting

More information

1 Building, Deploying and Testing DPES application

1 Building, Deploying and Testing DPES application 1 Building, Deploying and Testing DPES application This chapter provides updated instructions for accessing the sources code, developing, building and deploying the DPES application in the user environment.

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &

More information

Framework as a master tool in modern web development

Framework as a master tool in modern web development Framework as a master tool in modern web development PETR DO, VOJTECH ONDRYHAL Communication and Information Systems Department University of Defence Kounicova 65, Brno, 662 10 CZECH REPUBLIC petr.do@unob.cz,

More information

Client-Side Web Programming (Part 2) Robert M. Dondero, Ph.D. Princeton University

Client-Side Web Programming (Part 2) Robert M. Dondero, Ph.D. Princeton University Client-Side Web Programming (Part 2) Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn about: Client-side web programming, via... Multithreaded Java Applets AJAX 2 Part 1: Preliminary

More information

Lecture 9 Chrome Extensions

Lecture 9 Chrome Extensions Lecture 9 Chrome Extensions 1 / 22 Agenda 1. Chrome Extensions 1. Manifest files 2. Content Scripts 3. Background Pages 4. Page Actions 5. Browser Actions 2 / 22 Chrome Extensions 3 / 22 What are browser

More information

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive

More information

Whitepaper - WebSphere Development Studio for iseries V5R2

Whitepaper - WebSphere Development Studio for iseries V5R2 Whitepaper - WebSphere Development Studio for V5R2 David Slater Worldwide Market Manager Application Development IBM The first release of WebSphere Development Studio for represented a major shift in the

More information

WEB DEVELOPMENT COURSE (PHP/ MYSQL)

WEB DEVELOPMENT COURSE (PHP/ MYSQL) WEB DEVELOPMENT COURSE (PHP/ MYSQL) COURSE COVERS: HTML 5 CSS 3 JAVASCRIPT JQUERY BOOTSTRAP 3 PHP 5.5 MYSQL SYLLABUS HTML5 Introduction to HTML Introduction to Internet HTML Basics HTML Elements HTML Attributes

More information

4.2 Understand Microsoft ASP.NET Web Application Development

4.2 Understand Microsoft ASP.NET Web Application Development L E S S O N 4 4.1 Understand Web Page Development 4.2 Understand Microsoft ASP.NET Web Application Development 4.3 Understand Web Hosting 4.4 Understand Web Services MTA Software Fundamentals 4 Test L

More information

Development of a web-based card game engine

Development of a web-based card game engine Development of a web-based card game engine Master of Science Thesis in the Programme Software Engineering and Technology ANDREAS THURESSON LINUS HANSSON Chalmers University of Technology University of

More information

Open Source Open Possibilities. Vellamo. System Level Benchmarking October 2012. Open Source Open Possibilities PAGE 1

Open Source Open Possibilities. Vellamo. System Level Benchmarking October 2012. Open Source Open Possibilities PAGE 1 Vellamo System Level Benchmarking October 2012 PAGE 1 Disclaimer Nothing in these materials is an offer to sell any of the components or devices referenced herein. Certain components for use in the U.S.

More information

Java Application Developer Certificate Program Competencies

Java Application Developer Certificate Program Competencies Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle

More information

ipad, a revolutionary device - Apple

ipad, a revolutionary device - Apple Flash vs HTML5 ipad, a revolutionary device Apple Lightweight and portable Sufficient battery life Completely Wireless Convenient multitouch interface Huge number of apps (some of them are useful) No Flash

More information

Web Development. How the Web Works 3/3/2015. Clients / Server

Web Development. How the Web Works 3/3/2015. Clients / Server Web Development WWW part of the Internet (others: Email, FTP, Telnet) Loaded to a Server Viewed in a Browser (Client) Clients / Server Client: Request & Render Content Browsers, mobile devices, screen

More information