SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
Beyond HTML: Tools for
 Building Web 2.0 Apps

            MARCOS CACERES
 QUEENSLAND UNIVERSITY OF TECHNOLOGY
        INTERACTION DESIGNER
      QUT'S REP FOR THE W3C'S WEB
 APPLICATIONS FORMATS WORKING GROUP
        M.CACERES@QUT.EDU.AU
Building Web 2.0 Applications

Web 2.0 Application types:
  Ajax applications
  Offline Applications
  Mash-ups
  Widgets
  Mobile web
  COMET
 Wrap up: where to start learning.
Ajax Applications

Old technique (late 1990s)
Misleading acronym:
 AJAX = Asynchronous JavaScript and XML?
   Uses a COM object in IE... and you can code it in VB Script?
   Asynchronous JavaScript and XML
 Well, you can transfer just about anything, not just XML?
   Asynchronous JavaScript and XML
 It can be both Asynchronous or Synchronous
   Asynchronous JavaScript and XML
AJAX = an idea we call quot;Ajaxquot;. Not a technology!
Ajax: technologies
Script + XMLHTTPRequest Object        Example Code
  make requests                     var client = new XMLHttpRequest();
                                    client.onreadystatechange = handler;
  handle response
                                    client.open(quot;GETquot;, quot;test.txtquot;);
Examples                            client.send();
  Ajax example.
                                    function handler() {
  Google maps (done badly)
                                       if(this.readyState == 4 &&
  Google mail                             this.status == 200) {
  Google docs                          alert(this.responseText) }
                                    }
Development toolkits: taking some
of the pain out of Ajax...
  Prototype
  Scriptaculous
  JQuery
  Yahoo UI (examples)
  DoJo
  ...lots of other nice ones.
Core Technologies
  HTTP, XMLHTTPRequest, DOM,
  JSON, XML
Offline Applications

Take applications offline Google reader
 Core technologies
   Google Gears
   SQLite
   Example implementation: DoJo
 Issues
   Not standard: Requires Google Gears plug-in
   However, we might see it in HTML5!
Mash-ups

Mixing data of different types from different sources.
 Yahoo Pipes!
 Google Mashup Editor
Core technologies
 any text-based structured data (XML, RSS, CSV, JSON)
Issues
 Browser security model stops you accessing mash-up data
   Though you can sometimes bypass it by dynamically including a
   <script> element.
 You need a server to retrieve the data and then pass it to you as
 it was part of your own domain.
Widgets

Widgets
  “An interactive single purpose application for displaying and/or updating local data or data
  on the Web, packaged in a way to allow a single download and installation on a user's
  machine or mobile device.”
Relaxed security
  read/write file
  make cross-domain requests
Core technologies
  Zip
  HTML or XML
  CSS,
  JavaScript
Widget Engines
  Windows Vista Sidebar, Apple Dashboard, Google Desktop Gadgets, Yahoo! Widget engine
  Engines are starting to emerge in the mobile space.
Issues
  Widgets cannot be used across widget engines.
  Non-standard at the moment (W3C is working on it)
Mobile Web

Web pages on small screens...
No special software needed. Just make a web page,
but follow best practices.
 IPhone
 Opera mini emulator
 Facebook on iphone (Safari 3 & Opera Mini)
Remember: make one web! Not a web for mobiles
and web for desktop browsers.
COMET Applications

Keeps a HTTP connection alive, allowing the server
to send events in real time.
Server broadcast events, like chat:
 GMail chat client
Applications (think of Flash Com Server):
 any event driven system
 Multiplayer Games
 commerce
 Server-sent events will be natively supported in HTML5
What to learn!

If you want to learn how to make Web 2.0 apps learn:
 HTML, CSS
 JavaScript
 SQL (MySQL, SQLite)
 XMLHTTPRequest
 HTTP
   Caching
 Microformats
Try to stay away from proprietary stuff:
 Microsoft Silverlight
 Adobe Flash, Flex and AIR
The web is for everyone! Learn open standards!

Weitere ähnliche Inhalte

Was ist angesagt?

An Introduction to Ajax Programming
An Introduction to Ajax ProgrammingAn Introduction to Ajax Programming
An Introduction to Ajax Programming
hchen1
 

Was ist angesagt? (20)

Ajax
AjaxAjax
Ajax
 
Ajax Presentation
Ajax PresentationAjax Presentation
Ajax Presentation
 
Architecture in Ajax Applications
Architecture in Ajax ApplicationsArchitecture in Ajax Applications
Architecture in Ajax Applications
 
Ajax
AjaxAjax
Ajax
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajax
 
An Introduction to Ajax Programming
An Introduction to Ajax ProgrammingAn Introduction to Ajax Programming
An Introduction to Ajax Programming
 
Ajax
AjaxAjax
Ajax
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
 
PHP - Introduction to PHP AJAX
PHP -  Introduction to PHP AJAXPHP -  Introduction to PHP AJAX
PHP - Introduction to PHP AJAX
 
Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)
 
What is Ajax technology?
What is Ajax technology?What is Ajax technology?
What is Ajax technology?
 
Ajax and PHP
Ajax and PHPAjax and PHP
Ajax and PHP
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajax
 
Ajax workshop
Ajax workshopAjax workshop
Ajax workshop
 
Ajax ppt
Ajax pptAjax ppt
Ajax ppt
 
Ajax
AjaxAjax
Ajax
 
Ajax and Jquery
Ajax and JqueryAjax and Jquery
Ajax and Jquery
 
Ajax technology
Ajax technologyAjax technology
Ajax technology
 
Overview of AJAX
Overview of AJAXOverview of AJAX
Overview of AJAX
 
Ajax
AjaxAjax
Ajax
 

Andere mochten auch (6)

XML Binding Language 2.0
XML Binding Language 2.0XML Binding Language 2.0
XML Binding Language 2.0
 
Widgets
WidgetsWidgets
Widgets
 
W3C XBL 2.0 and Widgets 1.0
W3C XBL 2.0 and Widgets 1.0 W3C XBL 2.0 and Widgets 1.0
W3C XBL 2.0 and Widgets 1.0
 
Privacy of Geolocation Implementations
Privacy of Geolocation ImplementationsPrivacy of Geolocation Implementations
Privacy of Geolocation Implementations
 
Sophia de Mello Breyner Andresen
Sophia de Mello Breyner AndresenSophia de Mello Breyner Andresen
Sophia de Mello Breyner Andresen
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 

Ähnlich wie Beyond HTML: Tools for Building Web 2.0 Apps

Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
george.james
 
Java Script - A New Look
Java Script - A New LookJava Script - A New Look
Java Script - A New Look
rumsan
 
Using Ajax In Domino Web Applications
Using Ajax In Domino Web ApplicationsUsing Ajax In Domino Web Applications
Using Ajax In Domino Web Applications
dominion
 
Ajax: User Experience
Ajax: User ExperienceAjax: User Experience
Ajax: User Experience
petrov
 
Ajax tutorial
Ajax tutorialAjax tutorial
Ajax tutorial
Kat Roque
 
Speak the Web 15.02.2010
Speak the Web 15.02.2010Speak the Web 15.02.2010
Speak the Web 15.02.2010
Patrick Lauke
 
Google Dev Day2007
Google Dev Day2007Google Dev Day2007
Google Dev Day2007
lucclaes
 
Ajax Fundamentals Web Applications
Ajax Fundamentals Web ApplicationsAjax Fundamentals Web Applications
Ajax Fundamentals Web Applications
dominion
 

Ähnlich wie Beyond HTML: Tools for Building Web 2.0 Apps (20)

Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
 
Java Script - A New Look
Java Script - A New LookJava Script - A New Look
Java Script - A New Look
 
Using Ajax In Domino Web Applications
Using Ajax In Domino Web ApplicationsUsing Ajax In Domino Web Applications
Using Ajax In Domino Web Applications
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
 
Ajax: User Experience
Ajax: User ExperienceAjax: User Experience
Ajax: User Experience
 
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnitWriting and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
 
25250716 seminar-on-ajax text
25250716 seminar-on-ajax text25250716 seminar-on-ajax text
25250716 seminar-on-ajax text
 
GWT = easy AJAX
GWT = easy AJAXGWT = easy AJAX
GWT = easy AJAX
 
Ajax Lecture Notes
Ajax Lecture NotesAjax Lecture Notes
Ajax Lecture Notes
 
Easing offline web application development with GWT
Easing offline web application development with GWTEasing offline web application development with GWT
Easing offline web application development with GWT
 
CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2
 
M Ramya
M RamyaM Ramya
M Ramya
 
Building Applications Using Ajax
Building Applications Using AjaxBuilding Applications Using Ajax
Building Applications Using Ajax
 
Ajax tutorial
Ajax tutorialAjax tutorial
Ajax tutorial
 
Speak the Web 15.02.2010
Speak the Web 15.02.2010Speak the Web 15.02.2010
Speak the Web 15.02.2010
 
Google Dev Day2007
Google Dev Day2007Google Dev Day2007
Google Dev Day2007
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Web
 
Ajax Fundamentals Web Applications
Ajax Fundamentals Web ApplicationsAjax Fundamentals Web Applications
Ajax Fundamentals Web Applications
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Beyond HTML: Tools for Building Web 2.0 Apps

  • 1. Beyond HTML: Tools for Building Web 2.0 Apps MARCOS CACERES QUEENSLAND UNIVERSITY OF TECHNOLOGY INTERACTION DESIGNER QUT'S REP FOR THE W3C'S WEB APPLICATIONS FORMATS WORKING GROUP M.CACERES@QUT.EDU.AU
  • 2. Building Web 2.0 Applications Web 2.0 Application types: Ajax applications Offline Applications Mash-ups Widgets Mobile web COMET Wrap up: where to start learning.
  • 3. Ajax Applications Old technique (late 1990s) Misleading acronym: AJAX = Asynchronous JavaScript and XML? Uses a COM object in IE... and you can code it in VB Script? Asynchronous JavaScript and XML Well, you can transfer just about anything, not just XML? Asynchronous JavaScript and XML It can be both Asynchronous or Synchronous Asynchronous JavaScript and XML AJAX = an idea we call quot;Ajaxquot;. Not a technology!
  • 4. Ajax: technologies Script + XMLHTTPRequest Object Example Code make requests var client = new XMLHttpRequest(); client.onreadystatechange = handler; handle response client.open(quot;GETquot;, quot;test.txtquot;); Examples client.send(); Ajax example. function handler() { Google maps (done badly) if(this.readyState == 4 && Google mail this.status == 200) { Google docs alert(this.responseText) } } Development toolkits: taking some of the pain out of Ajax... Prototype Scriptaculous JQuery Yahoo UI (examples) DoJo ...lots of other nice ones. Core Technologies HTTP, XMLHTTPRequest, DOM, JSON, XML
  • 5. Offline Applications Take applications offline Google reader Core technologies Google Gears SQLite Example implementation: DoJo Issues Not standard: Requires Google Gears plug-in However, we might see it in HTML5!
  • 6. Mash-ups Mixing data of different types from different sources. Yahoo Pipes! Google Mashup Editor Core technologies any text-based structured data (XML, RSS, CSV, JSON) Issues Browser security model stops you accessing mash-up data Though you can sometimes bypass it by dynamically including a <script> element. You need a server to retrieve the data and then pass it to you as it was part of your own domain.
  • 7. Widgets Widgets “An interactive single purpose application for displaying and/or updating local data or data on the Web, packaged in a way to allow a single download and installation on a user's machine or mobile device.” Relaxed security read/write file make cross-domain requests Core technologies Zip HTML or XML CSS, JavaScript Widget Engines Windows Vista Sidebar, Apple Dashboard, Google Desktop Gadgets, Yahoo! Widget engine Engines are starting to emerge in the mobile space. Issues Widgets cannot be used across widget engines. Non-standard at the moment (W3C is working on it)
  • 8. Mobile Web Web pages on small screens... No special software needed. Just make a web page, but follow best practices. IPhone Opera mini emulator Facebook on iphone (Safari 3 & Opera Mini) Remember: make one web! Not a web for mobiles and web for desktop browsers.
  • 9. COMET Applications Keeps a HTTP connection alive, allowing the server to send events in real time. Server broadcast events, like chat: GMail chat client Applications (think of Flash Com Server): any event driven system Multiplayer Games commerce Server-sent events will be natively supported in HTML5
  • 10. What to learn! If you want to learn how to make Web 2.0 apps learn: HTML, CSS JavaScript SQL (MySQL, SQLite) XMLHTTPRequest HTTP Caching Microformats Try to stay away from proprietary stuff: Microsoft Silverlight Adobe Flash, Flex and AIR The web is for everyone! Learn open standards!