An Idiosyncratic History of Web-Page Generation Denise Draper Dev Manager Webdata XML Microsoft.

Slides:



Advertisements
Similar presentations
Languages for Dynamic Web Documents
Advertisements

Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Server-Side vs. Client-Side Scripting Languages
Chapter Concepts Review Markup Languages
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
WHAT IS AJAX? Zack Sheppard [zts2101] WHIM April 19, 2011.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
Dynamic Web Pages Bert Wachsmuth. Review  Internet, IP addresses, ports, client-server, http, smtp  HTML, XHTML, XML  Style Sheets, external, internal,
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
Inline, Internal, and External FIle
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
A closer look Dynamic Webpages Jessica Meyerson March 1, 2011.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Web Development & Design Foundations with XHTML Chapter 9 Key Concepts.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
DHTML - Introduction Introduction to DHTML, the DOM, JS review.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
1 CS 3870/CS 5870 Static and Dynamic Web Pages ASP.NET and IIS.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
JavaScript & jQuery the missing manual Chapter 11
CS 4720 RESTfulness and AJAX CS 4720 – Web & Mobile Systems.
Dynamic Web Pages (Flash, JavaScript)
Lecture 12 – AJAX SFDV3011 – Advanced Web Development Reference: 1.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Server-side Scripting Powering the webs favourite services.
AJAX Without the “J” George Lawniczak. What is Ajax?
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
AJAX and Atlas in ASP.NET 2.0 William J. Steele MSDN Developer Evangelist Microsoft Corporation
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Ventsislav Popov Crossroad Ltd.. 1. What is AJAX?  AJAX Concept  ASP.NET AJAX Framework 2. ASP.NET AJAX Server Controls  ScriptManager, UpdatePanel.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Lecture 9: AJAX, Javascript review..  AJAX  Synchronous vs. asynchronous browsing.  Refreshing only “part of a page” from a URL.  Frameworks: Prototype,
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Web Programming Brian Toone 8/27/2014. Outline for today 1.Understanding the architecture of the web 2.Overview of programming languages – Client-side.
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
Cs332a_chapt10.ppt CS332A Advanced HTML Programming DHTML Dynamic Hypertext Markup Language A term describing a series of technologies Not a stand-a-lone.
Ajax for Dynamic Web Development Gregory McChesney.
Chapter 16: Ajax-Enabled Rich Internet Applications with XML and JSON TP2543 Web Programming Mohammad Faidzul Nasrudin.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
Introduction to HTML. _______________________________________________________________________________________________________________ 2 Outline Key issues.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
AJAX Use Cases for WSRP Subbu Allamaraju BEA Systems Inc WSRP F2F Meeting, May 2006.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
 AJAX technology  Rich User Experience  Characteristics  Real live examples  JavaScript and AJAX  Web application workflow model – synchronous vs.
PHP and AJAX. Servers and Clients For many years we tried to move as much as possible to the server. Weak clients, poor bandwidth, browser compatibility..
JavaScript and Ajax (JavaScript Environment) Week 6 Web site:
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Ajax & Client-side Dynamic Web Gunwoo Park (Undergraduate)
G046 – Lecture 2A Recognising Web-Technologies Mr C Johnston ICT Teacher
Section 10.1 Define scripting
DHTML.
JavaScript and Ajax (Ajax Tutorial)
AJAX and REST.
Asynchronous Java script And XML Technology
AJAX.
Presentation transcript:

An Idiosyncratic History of Web-Page Generation Denise Draper Dev Manager Webdata XML Microsoft

2 11/22/2005 Outline First generation: scripting and stylesheets Second generation: DHTML and Applets Third generation(?): AJAX Where next?

3 11/22/2005 In the beginning was HTML Beginnings around 1990, derived from SGML A sample HTML instance An Example of Structure Here's a typical paragraph. Item one has an anchor Here's item two.

4 11/22/2005 In the beginning was HTML Key features:  Easier than SGML to parse and render  Open format: run on any HW & OS  Text base made editing easy  HTTP for linking Downsides:  Hard to find stuff… Yahoo to the rescue  Pages are static: no interactivity

5 11/22/2005 Which quickly begat scripting Server-side scripting was first:  CGI scripts  Forms in HTML passed parameters via URL query notation  Many languages used, especially Perl Example:

6 11/22/2005 Which quickly begat scripting Key features:  Parameters made it possible to generate custom web pages Downsides:  Downloading the same boilerplate for all pages started to get annoying.

7 11/22/2005 And Stylesheets … Applies the “intro” style to the paragraph … Inline definition of styling attributes … Doesn’t show range of text at all Originally designed to simplify web pages by separating content from style Separation of stylesheets allowed controlling common formatting for a whole web site The use of display=none was used as a way to separate content from control

8 11/22/2005 Mimeviewer: a side-bar in history Stylesheets taken to the limit:  Stylesheet as a transformation program (XSL)  Content is sent as XML Still used in some places, e.g. for localization

9 11/22/2005 Checkpoint: what’s what Server: Serves static HTML pages or creates w/ CGI scripts click=HTTP request url+params HTTP Response=HTML User experience: Click = page load some pages customized Browser: Renders HTML pages Understands stylesheets (Approx 1995, Netscape 3, IE 3)

10 11/22/2005 Wouldn’t it be cool if The page could really be a tiny program that ran on the client?  Java applets  Microsoft ActiveX controls The page could be updated in place to change it’s content?  Mimeviewer + Data Islands  DHTML = HTML 4.0/CSS + javascript … And thus we have Netscape/IE 4

11 11/22/2005 Java Applets: run code in the browser tag introduces applet content Applet  Runs in its own sandboxed process  Keeps its own state  Has full rendering capabilities  Is fully interactive (responds to events and can generate its own behavior)

12 11/22/2005 Applet Example

13 11/22/2005 ActiveX Same idea, but:  Windows specific  Uses components installed in OS  Execution not sandboxed  …thus both powerful and the source of many security concerns

14 11/22/2005 Applets/ActiveX Key features:  Arbitrary code (java or windows)  Complete interactivity Downsides:  Slow to download  Have to write code  Programming model tricky (especially state management)

15 11/22/2005 DHTML keeps the focus on HTML The D stands for dynamic, which really means self-modifying  In memory representation (DOM) of page Individual elements can be identified by id: …  DOM is modified by client-side scripts document.getElementbyID( " intro " ).color=red  Scripts are triggered by events  Page is re-rendered as it changes

16 11/22/2005 DHTML Example

17 11/22/2005 DHTML Key features:  Modify parts of pages without reload Downsides:  Slow  Programming model tricky (mixing server & client-side scripting)  Hard to make it look good

18 11/22/2005 Advanced demo: OWA

19 11/22/2005 Checkpoint: what’s what Server: Serves/creates HTML pages containing client-side script; Serves applets or activeX HTTP request post Response=HTML or download Browser: Renders HTML pages; Understands stylesheets; Provides execution context for code; Presents drawing surface for code; Manages in-memory DOM for pages; Provides event management User experience: Local interactivity; Some pages “page-like” (DHTML) Some pages or regions completely “rich client”; Slow download times (Approx 1997, Netscape 4, IE 4) mouse action etc=event

20 11/22/2005 Then nothing happened for awhile Continuing innovation Relative calm In fact, lots of cool ideas fell by the wayside Why?

21 11/22/2005 Why? Not enough bandwidth New technologies not broadly supported; web designers went for least common denominator Change of focus  Push technologies “channels” (sorta like RSS), died  Then Web services, J2EE,.NET and the.com boom/bubble

22 11/22/2005 Then came AJAX Asynchronous Javascript and XML Mostly just putting the pieces together:  Client-side script or code running in thread  Manipulating the DHTML DOM  And using HTTP request to get bits of data to feed into page Asynchronously: don’t wait for response Google Suggest the quintessential example: This is the key point!

23 11/22/2005 AJAX Example

24 11/22/2005 Checkpoint: what’s what HTTP request post Response=HTML or download (Approx 2004) mouse action etc=event

25 11/22/2005 Why now? Well somebody gave it a name… Seriously:  Critical capability (XMLHTTPRequest) supported by all major browsers  Everybody has broadband  Web services re-applied to browser applications

26 11/22/2005 So what’s next? Factors:  Rich media everywhere  Devices everywhere  Shared data “in the cloud”  In the home: personalization, sharing  In enterprise: manpower the dominant cost

27 11/22/2005 What’s next? Blur the line between rich client and web client  Interaction models: indistinguishable  Deployment model: indistinguishable? If the cloud is the master, and your device simply caches some stuff… Applies both to bits (the executable) and state (your data) Microsoft projects: Avalon

28 11/22/2005 So what’s next? Creating the client application  Code is still too complicated State management, multi-threading Systems like Ruby on Rails make lots of built in assumptions to simplify development  Many form factors Separating data from presentation (again)  web services for data  personalized & device-dependent styles Support for development and debugging

29 11/22/2005 Credits + References Derek Denny-Brown  Saw lots of history in Microsoft Useful web pages for history:   Useful web pages for AJAX    Tutorial (JSP): wa-ajax-i.html?S_TACT=105AGX59&S_CMP=HP&dgr-lnxw09AJAXappshttp://www-128.ibm.com/developerworks/edu/wa-dw- wa-ajax-i.html?S_TACT=105AGX59&S_CMP=HP&dgr-lnxw09AJAXapps

The End Questions?