SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Modern Web Apps with HTML5
in 45 minutes
@djidja8
Plan
• What is a modern Web Application in 2013?
• Little bit of history
• Evolution: Web Sites → Web Apps → Web Appsᴲ
• Modern Web APIs
Web Applications
Rich, stateful browser applications running on many
different devices, utilizing programmatic interfaces
delivered via standard Web protocols
Big family of specs
https://github.com/SirPepe/SpecGraph
History – because history is fun
In 1991 Tim Berners-Lee wrote a document called “HTML Tags”
with fewer than two dozen elements that could be used for
writing web pages.
That same year, he and his team, also published first version of
HTTP (0.9)
The first official specification of HTML was HTML 2.0, published
by the IETF (Internet Engineering Task Force) in 1995
History – W3C era
HTML 3.2 was the first version developed and standardized
exclusively by the W3C (superseded IETF), published in 1996
The first CSS specification to become an official W3C
Recommendation is CSS level 1, was also published in 1996
The latter half of the nineties saw a flurry of revisions to the
specification until HTML 4.01 was published in 1999
After HTML 4.01, came XHTML 1.0
The only difference was in the syntax of the language. XHTML
required authors to follow the rules of XML, a stricter markup
language upon which the W3C was basing most of their
technologies.
Additionally, the publication of XHTML 1.0 coincided with the rise of
browser support for CSS – it took 3 years
History – W3C era
Then the W3C published XHTML 1.1, and it was real, strict XML.
Additionally, next version, XHTML 2.0, wasn’t going to be
backwards compatible
XHTML 2.0 made it to a working draft, but work on it was
abandoned in 2009 in favor of work on HTML5/XHTML5
History – W3C era
History – WHATWG era
In 2004, Ian Hickson, who was working for Opera Software,
proposed the idea of extending HTML to allow the creation
of web applications. W3C rejected this proposal.
Representatives from Opera, Apple, and Mozilla were
unhappy, so they formed their own group: Web Hypertext
Application Technology Working Group (WHATWG)
WHATWG work was split into two specifications:
Web Forms 2.0 and Web Applications 1.0
History – W3C >-< WHATWG
In October 2006, Tim Berners-Lee wrote a blog post in
which he admitted that the attempt to move the web
from HTML to XML just wasn’t working.
A few months later, the W3C issued a new charter for
an HTML Working Group - work of the WHATWG should be
used as the basis for any future version of HTML.
Web Applications 1.0
History – W3C <-> WHATWG
W3C and WHATWG relationship was never perfect
and in July 2012…
still, there is hope…
Time check...
Next: Web App Evolution
Web App Evolution: Static Web sites
ONE PAGE - ONE REQUEST TO SERVER
 Connected documents
 Page reload
 Stateless client
 HTML, JavaScript, CSS
Web App Evolution: AJAX
ONE PAGE - MANY REQUESTS TO SERVER
 Connected documents + Data islands (XML/JSON)
 Page reload or #! hacks
 Polling
 Stateful client (but hard)
Web App Evolution: Web apps
ONE PAGE - MANY REQUESTS TO MANY SERVERS
 Web API - Connected Resources
 Page reload or #! Hacks History API
 Polling
 Stateful client
 Offline Mode (sessionStorage, localStorage)
Web App Evolution: Web apps
ONE PAGE - MANY REQUESTS TO MANY SERVERS
+
SERVER REQUESTS TO BROWSER
 Web API - Connected Resources
 History API
 Polling bi-directional, full-duplex
 Stateful client
 Offline Mode (sessionStorage, localStorage)
Web App Evolution: Web Appsᴲ
ONE PAGE - MANY REQUESTS TO MANY SERVERS
+
PAGE 2 PAGE REQUESTS/STREAMING
 Web API - Connected Resources
 Page reload (History API)
 bi-directional, full-duplex
 Stateful client
 Offline Mode (sessionStorage, localStorage
 Real Time Communication
 HTML5, JavaScript, CSS3
All together, now…
Graphic by Jimmy Lee / jimmylee.info
http://venturebeat.com/2012/08/13/webrtc-is-almost-here-and-it-will-change-the-web/
Time check...
Next: Web APIs
Rise of Web APIs
http://vitvar.com/events/aaai-ss12/slides/jmusser-keynote.pdf
Web APIs: RESTful HTTP
Request - Response communication
 Client–server
 Stateless server
 Cacheable
 Layered system
 Uniform interface
Web APIs: Web Sockets
bi-directional, asynchronous, full-duplex communication
 Seamlessly traverse firewalls and routers
 Allow duly authorized cross-domain communication
 Integrate well with cookie-based authentication
 Integrate with existing HTTP load balancers
 Be compatible with binary data
Web APIs:
enables Real Time browser to browser Communications
“WebRTC is a technology that allows developers to build real-time
communication into web pages, offered directly on the web without
any need for plugins or third-party software.”
Championed by Google, WebRTC has potential to disrupt both
Telcos and incumbent VoIP players.
What you would need to do to establish browser to browser call:
• Wideband codecs (voice and video)
• Echo cancellation
• Automatic Gain Control
• Noise reduction/suppression
• Dynamic jitter buffers
• Error concealment
• Network Traversal
• P2P protocols
• Session setup
• …
Browser vendors are taking care of all of that.
Application developer only has to set up:
• For video on a Web page
– Use HTML5 element <video>
• To access local devices: camera, microphone
– Use navigator.getUserMedia()
• To display audio/video from a peer
– Use createObjectURL
• To connect to remote peers
– Use peerConnection API
Dead simple, plugin-free video conferencing in the browser!
= Web Appsᴲ
WebRTC can democratize and decentralize tools
for content creation and communication—for telephony, gaming,
video production, music making,
news gathering and many other applications.
Technology doesn't get much more disruptive than this.
Thanks!

Contenu connexe

Tendances

HATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from RESTHATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from REST
elliando dias
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Quek Lilian
 

Tendances (20)

Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web API
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
SERVER SIDE PROGRAMMING
SERVER SIDE PROGRAMMINGSERVER SIDE PROGRAMMING
SERVER SIDE PROGRAMMING
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architecture
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
HATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from RESTHATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from REST
 
Enjoying the Move from WCF to the Web API
Enjoying the Move from WCF to the Web APIEnjoying the Move from WCF to the Web API
Enjoying the Move from WCF to the Web API
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)
 
Excellent rest using asp.net web api
Excellent rest using asp.net web apiExcellent rest using asp.net web api
Excellent rest using asp.net web api
 
Vijay Mix Presentation
Vijay Mix PresentationVijay Mix Presentation
Vijay Mix Presentation
 
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
 
Ecom 1
Ecom 1Ecom 1
Ecom 1
 
Spring MVC 4.2: New and Noteworthy
Spring MVC 4.2: New and NoteworthySpring MVC 4.2: New and Noteworthy
Spring MVC 4.2: New and Noteworthy
 
Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 

En vedette

Pildimang1 Janno
Pildimang1 JannoPildimang1 Janno
Pildimang1 Janno
redo12
 
Pildi Mang1 Kristjan
Pildi Mang1 KristjanPildi Mang1 Kristjan
Pildi Mang1 Kristjan
krisskriss
 

En vedette (14)

Thesis: "Energy Technology and Information. The Comeback of Nuclear Debate in...
Thesis: "Energy Technology and Information. The Comeback of Nuclear Debate in...Thesis: "Energy Technology and Information. The Comeback of Nuclear Debate in...
Thesis: "Energy Technology and Information. The Comeback of Nuclear Debate in...
 
Pildimang1 Janno
Pildimang1 JannoPildimang1 Janno
Pildimang1 Janno
 
PildimäNg 2
PildimäNg 2PildimäNg 2
PildimäNg 2
 
PildimäNg 3
PildimäNg 3PildimäNg 3
PildimäNg 3
 
Pildi Mang1 Kristjan
Pildi Mang1 KristjanPildi Mang1 Kristjan
Pildi Mang1 Kristjan
 
Introduction To Project Management Megat
Introduction To Project Management MegatIntroduction To Project Management Megat
Introduction To Project Management Megat
 
Knowledge Management Megat
Knowledge Management MegatKnowledge Management Megat
Knowledge Management Megat
 
Functional JavaScript Fundamentals
Functional JavaScript FundamentalsFunctional JavaScript Fundamentals
Functional JavaScript Fundamentals
 
Project Scope Managemen Final Megat
Project Scope Managemen Final MegatProject Scope Managemen Final Megat
Project Scope Managemen Final Megat
 
Project Execution
Project ExecutionProject Execution
Project Execution
 
Information And Decision Support System
Information And Decision Support SystemInformation And Decision Support System
Information And Decision Support System
 
Information System and Information Technology
Information System and Information TechnologyInformation System and Information Technology
Information System and Information Technology
 
Project Planning
Project PlanningProject Planning
Project Planning
 
Final Project Closing
Final Project ClosingFinal Project Closing
Final Project Closing
 

Similaire à Modern Web Applications

UMK Lecture 5 - HTML5 latest v7
UMK Lecture 5 - HTML5 latest v7UMK Lecture 5 - HTML5 latest v7
UMK Lecture 5 - HTML5 latest v7
Hisham Mat Hussin
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Tommaso Sorchiotti
 
انترنت فيديو كونفرنس 12_7_2011
انترنت فيديو كونفرنس 12_7_2011انترنت فيديو كونفرنس 12_7_2011
انترنت فيديو كونفرنس 12_7_2011
zbsofam
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
Munish Gupta
 
Web 2.0 Mimbar Ilmiah
Web 2.0 Mimbar IlmiahWeb 2.0 Mimbar Ilmiah
Web 2.0 Mimbar Ilmiah
Soetam Rizky
 

Similaire à Modern Web Applications (20)

Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
UMK Lecture 5 - HTML5 latest v7
UMK Lecture 5 - HTML5 latest v7UMK Lecture 5 - HTML5 latest v7
UMK Lecture 5 - HTML5 latest v7
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
01 web 2.0 - more than a pretty face for soa
01   web 2.0 - more than a pretty face for soa01   web 2.0 - more than a pretty face for soa
01 web 2.0 - more than a pretty face for soa
 
HTML5, the Evolution of Smart Media
HTML5, the Evolution of Smart MediaHTML5, the Evolution of Smart Media
HTML5, the Evolution of Smart Media
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
 
Web 2.0: a course
Web 2.0: a courseWeb 2.0: a course
Web 2.0: a course
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion Hinchliffe
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
 
The Web, After HTML5
The Web, After HTML5The Web, After HTML5
The Web, After HTML5
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Html 5
Html 5Html 5
Html 5
 
Defining Web 2.0 and RIA
Defining Web 2.0 and RIADefining Web 2.0 and RIA
Defining Web 2.0 and RIA
 
انترنت فيديو كونفرنس 12_7_2011
انترنت فيديو كونفرنس 12_7_2011انترنت فيديو كونفرنس 12_7_2011
انترنت فيديو كونفرنس 12_7_2011
 
Html5 Seminario Tid
Html5  Seminario TidHtml5  Seminario Tid
Html5 Seminario Tid
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Web 2.0 Mimbar Ilmiah
Web 2.0 Mimbar IlmiahWeb 2.0 Mimbar Ilmiah
Web 2.0 Mimbar Ilmiah
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
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...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Modern Web Applications

  • 1. Modern Web Apps with HTML5 in 45 minutes
  • 3. Plan • What is a modern Web Application in 2013? • Little bit of history • Evolution: Web Sites → Web Apps → Web Appsᴲ • Modern Web APIs
  • 4. Web Applications Rich, stateful browser applications running on many different devices, utilizing programmatic interfaces delivered via standard Web protocols
  • 5. Big family of specs https://github.com/SirPepe/SpecGraph
  • 6. History – because history is fun In 1991 Tim Berners-Lee wrote a document called “HTML Tags” with fewer than two dozen elements that could be used for writing web pages. That same year, he and his team, also published first version of HTTP (0.9) The first official specification of HTML was HTML 2.0, published by the IETF (Internet Engineering Task Force) in 1995
  • 7. History – W3C era HTML 3.2 was the first version developed and standardized exclusively by the W3C (superseded IETF), published in 1996 The first CSS specification to become an official W3C Recommendation is CSS level 1, was also published in 1996 The latter half of the nineties saw a flurry of revisions to the specification until HTML 4.01 was published in 1999
  • 8. After HTML 4.01, came XHTML 1.0 The only difference was in the syntax of the language. XHTML required authors to follow the rules of XML, a stricter markup language upon which the W3C was basing most of their technologies. Additionally, the publication of XHTML 1.0 coincided with the rise of browser support for CSS – it took 3 years History – W3C era
  • 9. Then the W3C published XHTML 1.1, and it was real, strict XML. Additionally, next version, XHTML 2.0, wasn’t going to be backwards compatible XHTML 2.0 made it to a working draft, but work on it was abandoned in 2009 in favor of work on HTML5/XHTML5 History – W3C era
  • 10. History – WHATWG era In 2004, Ian Hickson, who was working for Opera Software, proposed the idea of extending HTML to allow the creation of web applications. W3C rejected this proposal. Representatives from Opera, Apple, and Mozilla were unhappy, so they formed their own group: Web Hypertext Application Technology Working Group (WHATWG) WHATWG work was split into two specifications: Web Forms 2.0 and Web Applications 1.0
  • 11. History – W3C >-< WHATWG In October 2006, Tim Berners-Lee wrote a blog post in which he admitted that the attempt to move the web from HTML to XML just wasn’t working. A few months later, the W3C issued a new charter for an HTML Working Group - work of the WHATWG should be used as the basis for any future version of HTML. Web Applications 1.0
  • 12.
  • 13. History – W3C <-> WHATWG W3C and WHATWG relationship was never perfect and in July 2012… still, there is hope…
  • 14. Time check... Next: Web App Evolution
  • 15. Web App Evolution: Static Web sites ONE PAGE - ONE REQUEST TO SERVER  Connected documents  Page reload  Stateless client  HTML, JavaScript, CSS
  • 16. Web App Evolution: AJAX ONE PAGE - MANY REQUESTS TO SERVER  Connected documents + Data islands (XML/JSON)  Page reload or #! hacks  Polling  Stateful client (but hard)
  • 17. Web App Evolution: Web apps ONE PAGE - MANY REQUESTS TO MANY SERVERS  Web API - Connected Resources  Page reload or #! Hacks History API  Polling  Stateful client  Offline Mode (sessionStorage, localStorage)
  • 18. Web App Evolution: Web apps ONE PAGE - MANY REQUESTS TO MANY SERVERS + SERVER REQUESTS TO BROWSER  Web API - Connected Resources  History API  Polling bi-directional, full-duplex  Stateful client  Offline Mode (sessionStorage, localStorage)
  • 19. Web App Evolution: Web Appsᴲ ONE PAGE - MANY REQUESTS TO MANY SERVERS + PAGE 2 PAGE REQUESTS/STREAMING  Web API - Connected Resources  Page reload (History API)  bi-directional, full-duplex  Stateful client  Offline Mode (sessionStorage, localStorage  Real Time Communication  HTML5, JavaScript, CSS3
  • 20. All together, now… Graphic by Jimmy Lee / jimmylee.info http://venturebeat.com/2012/08/13/webrtc-is-almost-here-and-it-will-change-the-web/
  • 22. Rise of Web APIs http://vitvar.com/events/aaai-ss12/slides/jmusser-keynote.pdf
  • 23. Web APIs: RESTful HTTP Request - Response communication  Client–server  Stateless server  Cacheable  Layered system  Uniform interface
  • 24. Web APIs: Web Sockets bi-directional, asynchronous, full-duplex communication  Seamlessly traverse firewalls and routers  Allow duly authorized cross-domain communication  Integrate well with cookie-based authentication  Integrate with existing HTTP load balancers  Be compatible with binary data
  • 25. Web APIs: enables Real Time browser to browser Communications “WebRTC is a technology that allows developers to build real-time communication into web pages, offered directly on the web without any need for plugins or third-party software.” Championed by Google, WebRTC has potential to disrupt both Telcos and incumbent VoIP players.
  • 26. What you would need to do to establish browser to browser call: • Wideband codecs (voice and video) • Echo cancellation • Automatic Gain Control • Noise reduction/suppression • Dynamic jitter buffers • Error concealment • Network Traversal • P2P protocols • Session setup • …
  • 27. Browser vendors are taking care of all of that. Application developer only has to set up: • For video on a Web page – Use HTML5 element <video> • To access local devices: camera, microphone – Use navigator.getUserMedia() • To display audio/video from a peer – Use createObjectURL • To connect to remote peers – Use peerConnection API Dead simple, plugin-free video conferencing in the browser!
  • 28. = Web Appsᴲ WebRTC can democratize and decentralize tools for content creation and communication—for telephony, gaming, video production, music making, news gathering and many other applications. Technology doesn't get much more disruptive than this.