Web Application Development



Similar documents
Mashup Development Seminar

Rich Internet Applications

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

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

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

Web Cloud Architecture

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

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

How To Write An Ria Application

Performance Testing for Ajax Applications

Web Browser as an Application Platform: The Lively Kernel Experience. Antero Taivalsaari, Tommi Mikkonen, Dan Ingalls, Krzysztof Palacz

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

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

Integration the Web 2.0 way. Florian Daniel April 28, 2009

How To Build A Web App

Rich Internet Applications

An Esri White Paper October 2010 Developing with Esri Business Analyst Server

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

Web Applications Come of Age

Preface. Motivation for this Book

RIA Overview for Windows 2000, 2002

GUI and Web Programming

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

Advantage of Jquery: T his file is downloaded from

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

Progressive Enhancement With GQuery and GWT. Ray Cromwell

AJAX. Gregorio López López Juan Francisco López Panea

Rich User Interfaces for Web-Based Corporate Applications

RIA Technologies Comparison

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

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

Table of contents. HTML5 Data Bindings SEO DMXzone

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 :

Web Development News, Tips and Tutorials

A Model of the Operation of The Model-View- Controller Pattern in a Rails-Based Web Server

Chapter 12: Advanced topic Web 2.0

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) /

Web Apps The Next Generation

Client-side Web Engineering From HTML to AJAX

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions

The Importance of Portal & Web Testing in Your Enterprise. The Growing Challenge of Testing Browser-Based Technologies in SAP

Issues in Information Systems Volume 14, Issue 2, pp , 2013

AJAX Toolkit Framework

ASP.NET. Web Programming. Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics

INTERACTIVE SERVICES CAPABILITIES PRESENTATION

Coding for Desktop and Mobile with HTML5 and Java EE 7

BRIAN RUSSEL DAVIS. New Media Programming, Design & Concept Development. Summary

Framework as a master tool in modern web development

Enterprise RIA Deployment Examples

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

FIVE SIGNS YOU NEED HTML5 WEBSOCKETS

Server-Side Scripting and Web Development. By Susan L. Miertschin

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

USAGE OF ASP.NET AJAX FOR BINUS SCHOOL SERPONG WEB APPLICATIONS

Some Assembly Required: Agile Methodologies. Why pursue a new technical document development platform?

Your Own Web Page: Quick and Dirty

MUSICIAN WEB-SERVICE USING RUBY-ON-RAILS, SOAP, FLEX & AJAX

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

2011 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,

Why AJAX? Keywords - Web applications, Java Script, Web INTRODUCTION. Why Not AJAX? 111 P a g e

Web application development landscape: technologies and models

RadView Software Whitepaper. Load Testing Web 2.0 Technologies Ajax-RIA-SOA-Web Services

A Web- based Approach to Music Library Management. Jason Young California Polytechnic State University, San Luis Obispo June 3, 2012

Solution Showcase Session. Enterprise 2.0 Computing Services

Conference Paper. Distributed Performance Systems using HTML5 and Rails. Dr. Jesse Allison 1.

TDAQ Analytics Dashboard

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

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

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Adobe Creative Suite 4 Web Standard

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

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

An Introduction to the Development of Web Applications using Ruby on Rails with Ajax

Building a Web-based User Interface around your AIMMS Optimization application

CSE 510 Web Data Engineering

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

JavaFX Session Agenda

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

CrownPeak Java Web Hosting. Version 0.20

Google Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella

Putting the power of Web 2.0 into practice.

AJAX Integration Approach for Collaborative Calendar-Server Web Services

Building native mobile apps for Digital Factory

Our software strategy

The Ultimate Tech Glossary for Recruiters & HR Managers

Web Design Technology

HTML5. Turn this page to see Quick Guide of CTTC

SPORTS MANAGEMENT. A Thesis. Presented to the. Faculty of. San Diego State University. In Partial Fulfillment. of the Requirements for the Degree

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

YouTrack MPS case study

The Next Generation Test Platform for Mobile Apps

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

Visual WebGui for ASP.NET Ajax (and other Ajax) Web Developers Learn what makes Visual WebGui not just another Ajax framework

The Mashware Challenge: Bridging the Gap Between Web Development and Software Engineering

HP Business Process Monitor

Web Enabling Solution for Windows Desktop Applications. White Paper

An Architecture for Web-based DSS

Using Flash CS3 and AIR to Build Desktop Applications

Transcription:

Web Application Development Seminar OHJ-1820 Tampere University of Technology Fall 2007 http://www.cs.tut.fi/~taivalsa/kurssit/wads2007 Prof. Tommi Mikkonen & Dr. Antero Taivalsaari

Background and Motivation The widespread adoption of the World Wide Web has dramatically altered the landscape of software development. Today, most new software applications will have to be designed with the Web in mind... either to be used via a web browser or some other client device, such as a mobile phone. Numerous changes in the field and technology since our seminar in Spring 2006. 2

Paradigm Shift! The software industry is currently in the middle of a paradigm shift. Applications are moving to the Web. Applications are no longer written for a specific type of computer, operating system or device. Rather, they will be written for the Web, to be used via a web browser from anywhere, anytime. The browser is increasingly taking the role that the operating system used to have. 3

How Things Have Changed? The World Wide Web enables effortless mass distribution of software, as well as the development of truly collaborative software. There is now enough computing power to run software in pure source code form. No more binaries? There is now enough bandwidth to download applications each time they start. No more installation or upgrades? 4

Example: docs.google.com 5

Example: Yahoo's Web 2.0 Maps 6

What is Web 2.0, Really? Real applications on the Internet. Not just pages or documents. Compelling user interaction capabilities. Support for direct manipulation. No more full page refresh (à la IBM 3270 of the 1970s) when something changes. No more back button, reload button, stop button,... Support for worldwide collaboration. The same applications (and data) can be shared by numerous users worldwide. 7

Disruptive Period in Software Development Many new web development technologies have been introduced in recent years. AJAX, Ruby on Rails, Google Web Toolkit, Apollo... Most web development systems are simply hybrid combinations of existing technologies. HTML, DOM, CSS, JavaScript, PHP, XML,... Very little coherence or elegance. These seem like transitional technologies. The real disruption is yet to occur. 8

Problems and Observations Today, software developers writing applications for the Web often find themselves in working around the tools and language features, rather than being helped by them. Applications are composed of HTML, CSS, JavaScript, etc. in a fashion that violates wellestablished principles of software engineering. In the absence of web-oriented programming mechanisms and idioms, software developers are often repeating the same tasks over and over again. 9

Best Known Web Application Development Systems There are numerous web application development systems. The following systems are best established at this point: Ajax Ruby on Rails Google Web Toolkit Adobe AIR (Apollo) Microsoft Silverlight 10

Ajax Shorthand for Asynchronous JavaScript and XML Not a technology in itself rather a group of technologies: DHTML (HTML + DOM + CSS + JavaScript) Asynchronous HTTP support + XML protocols Ajax allows the creation of web pages that feel more responsive by exchanging smaller amounts of data asynchronously with the web server. http://en.wikipedia.org/wiki/ajax 11

Ruby on Rails (RoR) Ruby on Rails is a web application framework built around the Ruby programming language. RoR leverages the Model-View-Controller (MVC) paradigm to connect a web UI to a database easily. RoR is a highly tool-assisted system; it utilizes, e.g., automatic naming conventions to simplify development. http://en.wikipedia.org/wiki/ruby_on_rails 12

Google Web Toolkit (GWT) GWT is an open source toolkit to develop Ajax-style applications using the Java programming language. GWT uses Java as the development language, and JavaScript as the binary language (!) GWT compiler translates Java code into equivalent JavaScript that can be executed in any browser. Includes a widget library written in the Java language. http://en.wikipedia.org/wiki/google_web_toolkit 13

Adobe AIR (formerly Apollo) Cross-operating system runtime that allows web developers to create rich internet applications. Combines a number of Adobe technologies: Flash, ActionScript, Flex Unlike Flash, Apollo focuses specifically on the development of general-purpose web applications. http://en.wikipedia.org/wiki/adobe_apollo 14

Microsoft Silverlight Microsoft s response to Adobe Apollo. Web-based subset of WPF (Window Presentation Foundation). Based on XAML and JScript (Microsoft s variant of JavaScript). Enables Flash-like web applications with the exact same code as Windows.NET applications. Still in development; final release expected in late 2007. 15

Why This Seminar? We think that a new era in software development has begun. We are moving beyond conventional OSspecific applications and POOOP (Plain Old OOP). Examine web application development by evaluating the technologies and building real applications using the technologies. Drill deeper into those technologies that seem most likely to succeed. 16

Practical Arrangements The seminar will be arranged in TB 110 on Wednesdays, 12-14 o clock. Seminar dates: 12.9., 19.9, (3.10.), 10.10., 24.10., 31.10., 7.11., 14.11., 21.11., 28.11., 5.12., 12.12., (19.12.) Reports to be completed by December 31. 17

How to Get Credits? Maximum number of credits: 4-6 op Attendance: 1 op Seminar presentations: 1+2 op One presentation for introducing a technology; Another presentation after writing a demo application and summarizing the experiences in building it. Written report: 2 op (optional) 18

Choosing Topics and Apps Please choose your presentation and implementation topic and the preferred presentation date as soon as possible. tjm@cs.tut.fi, updated list at http://www.cs.tut.fi/~taivalsa/kurssit/wads2007 Topics allocated on a first-come-first-serve basis. 19

Discussion 20