SlideShare a Scribd company logo
1 of 31
Download to read offline
Intro	
  to	
  Web	
  Standards	
  

            Jussi	
  Pohjolainen	
  
Tampere	
  University	
  of	
  Applied	
  Sciences	
  
Web	
  Standards?	
  
•  Formal	
  standards	
  or	
  technical	
  specifica2ons	
  that	
  
   describe	
  the	
  World	
  Wide	
  Web	
  
•  Web	
  Standards	
  consist	
  of	
  the	
  following	
  
   –  RecommendaBons	
  of	
  the	
  World	
  Wide	
  Web	
  
      ConsorBum	
  (W3C)	
  
       •  (X)HTML,	
  CSS,	
  SVG,	
  DOM	
  ...	
  
   –  RFC	
  documents	
  published	
  by	
  Internet	
  Engineering	
  
      Task	
  Force	
  (IETF)	
  
       •  URI,	
  HTTP,	
  MIME	
  ...	
  
   –  And	
  also	
  standards	
  by	
  Ecma	
  InternaBonal	
  (JavaScript),	
  
      Unicode	
  (Charsets)	
  and	
  IANA	
  (Name	
  and	
  number	
  
      registries).	
  	
  
World	
  Wide	
  Web	
  ConsorBum	
  
•  The	
  World	
  Wide	
  Web	
  ConsorBum	
  (W3C)	
  is	
  the	
  
   main	
  internaBonal	
  standards	
  organizaBon	
  for	
  
   the	
  World	
  Wide	
  Web	
  
•  Compa2bility	
  among	
  industry	
  members	
  
•  W3C	
  makes	
  recommenda)ons	
  for	
  the	
  web	
  
•  Several	
  recommendaBons	
  	
  
   –  XHTML,	
  DOM,	
  CSS,	
  XML...	
  
•  URL:	
  hWp://www.w3.org/	
  
W3C	
  RecommendaBon:	
  XHTML	
  
•  XHTML™	
  1.0	
  The	
  Extensible	
  HyperText	
  
   Markup	
  Language	
  (Second	
  EdiBon)	
  
       –  hWp://www.w3.org/TR/xhtml1/	
  
•  Markup	
  language	
  for	
  web	
  pages	
  
•  Can	
  be	
  used	
  to	
  create	
  structured	
  documents	
  
   by	
  using	
  structural	
  semanBcs	
  
       –  headings,	
  paragraph,	
  lists,	
  links	
  ...	
  
	
  
Example	
  of	
  XHTML	
  
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Hello</title>
    <meta http-equiv="content-type" content="application/xhtml
   +xml; charset=utf-8" />
</head>
<body>
    <h1>Hello World!</h1>
    <p>Here is a paragraph.</p>
</body>
</html>
XHTML,	
  HTML?	
  
SGML:	
  Standard	
  Generalized	
  Markup	
  Language	
  
Meta	
  language	
  	
  




                          XML	
  
           Meta	
  language	
  (subset	
  of	
  SGML)	
  




    OOXML	
                MathML	
                  XHTML	
         HTML	
  
    (.docx)	
              (.mml)	
                  (.xhtml)	
     (.html)	
  
(X)HTML	
  versions	
  
•  1996:	
  HTML	
  2.0	
                     •  200X:	
  (X)HTML	
  5	
  
•  1997:	
  HTML	
  3.2	
                         –  2D	
  drawing,	
  Offline	
  
    –  W3C	
  RecommendaBon	
                        storage,	
  drag	
  and	
  drop..	
  

•  1997:	
  HTML	
  4.0	
  
    –  CSS	
  
•  2000:	
  XHTML	
  1.0	
  	
  
    –  SeparaBon	
  of	
  layout	
  and	
  
       the	
  document	
  
W3C	
  RecommendaBon:	
  XML	
  
•  eXtensible	
  Markup	
  Language,	
  is	
  a	
  specificaBon	
  
   for	
  creaBng	
  custom	
  markup	
  languages	
  
•  W3C	
  RecommendaBon	
  
•  Primary	
  purpose	
  is	
  to	
  help	
  computers	
  to	
  share	
  
   data	
  
•  XML	
  is	
  meta-­‐language.	
  This	
  means	
  that	
  you	
  
   use	
  it	
  for	
  creaBng	
  languages.	
  
•  XML	
  is	
  an	
  extensive	
  concept.	
  
XML-­‐language:	
  XHTML	
  
<?xml version="1.0"?>!
<!DOCTYPE html !
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"!
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">!
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
   lang="en">!
  <head>!
    <title>Minimal XHTML 1.0 Document</title>!
  </head>!
  <body>!
    <p>This is a minimal <a href="http://www.w3.org/TR/
   xhtml1/">XHTML 1.0</a> !
    document.</p>!
  </body>!
</html>!
XML-­‐language:	
  SVG	
  
<?xml version="1.0"?>!
<!DOCTYPE svg !
     PUBLIC "-//W3C//DTD SVG 1.1//EN" !
     "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">!
<svg width="100%" height="100%" version="1.1"!
xmlns="http://www.w3.org/2000/svg">!
!
<circle cx="100" cy="50" r="40" stroke="black"!
stroke-width="2" fill="red"/>!
!
</svg>!
XML-­‐language:	
  MathML	
  
<?xml version="1.0"?>!
<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C
   MathML 1.01//EN" "math.dtd">!
<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">!
 <math:semantics>!
  <math:mrow>!
   <math:mi>x</math:mi>!
   <math:mo math:stretchy="false">=</math:mo>!
   <math:mfrac>!
    <math:mrow>!
        ...!
    </math:mrow>!
  <math:annotation math:encoding="StarMath 5.0">x = {-b +-sqrt{b^
   {2}-4{ac}}   } over {2 {a}} </math:annotation>!
 </math:semantics>!
</math:math>!
XML-­‐language:	
  You	
  can	
  create	
  your	
  
                   own!	
  
<plist version='1.0'>!
<dict>!
<key>Student and Staff Restaurant</key>!
<array>!
  <string>Gratinated broccoli</string>!
  <string>Oven baked sausage</string>!
  <string>Beef in red wine sauce</string>!
  <string>Ham and pepperoni baguette</string>!
  <string>Baguette with beef roast</string>!
</array>!
<key>Cafeteria</key>!
<array>!
  <string>Tomato soup with chevre &amp;</string>!
  <string>Ham and pasta salad</string>!
</array>!
</dict>!
</plist>!
W3C	
  recommendaBon:	
  CSS	
  
•  Cascading	
  Style	
  Sheets	
  is	
  used	
  to	
  describe	
  
   presentaBon	
  of	
  a	
  document	
  wriWen	
  in	
  some	
  
   markup	
  language	
  
   –  Markup	
  language	
  can	
  be	
  (x)html	
  
•  Different	
  versions	
  
   –  CSS	
  1,	
  CSS	
  2,	
  CSS	
  3	
  
•  Different	
  browsers	
  support	
  different	
  things	
  in	
  
   CSS	
  
XHTML	
  with	
  CSS	
  
<?xml version="1.0"?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Minimal XHTML 1.0 Document</title>
     <link rel="stylesheet" href="mystyle.css">
  </head>
  <body>
    <p>This is a minimal <a href="http://www.w3.org/TR/xhtml1/">XHTML
   1.0</a>
    document.</p>
  </body>
</html>
CSS:	
  mystyle.css	
  
p {
      font-family:     Arial, serif;
      color:           RGB(255,0,0);
}
Result	
  in	
  Browser	
  
JavaScript,	
  LiveScript,	
  JScript,	
  
                  ECMAScript?	
  
•  ScripBng:	
  add	
  client-­‐side	
  behaviour	
  to	
  the	
  site	
  
•  JavaScript	
  
    –  Developed	
  by	
  Netscape	
  
    –  Originally	
  JavaScript,	
  then	
  LiveScript	
  and	
  then	
  back	
  to	
  
       JavaScript.	
  
•  JScript	
  
    –  Microsoj	
  made	
  their	
  own	
  version	
  of	
  the	
  JavaScript	
  
•  CompaBbility	
  problems	
  
•  =>	
  ECMAScript,	
  effort	
  to	
  standardize	
  different	
  
   versions	
  of	
  the	
  J(ava)Script	
  
ECMAScript	
  
•  ECMAScript	
  is	
  a	
  scripBng	
  language,	
  
   standardized	
  by	
  Ecma	
  InternaBonal	
  
•  In	
  Browsers,	
  ECMAScript	
  is	
  commonly	
  called	
  
   JavaScript	
  
•  Java/ECMAscript	
  is	
  nowdays	
  heavily	
  used	
  with	
  
   AJAX	
  –	
  based	
  sites	
  
•  SBll	
  many	
  problems	
  because	
  of	
  browser	
  
   incompaBbilites	
  
Client-­‐Server	
  Architecture	
  
HTTP?	
  
•  HTTP	
  (Hypertext	
  transfer	
  protocol)	
  is	
  a	
  
   stateless	
  protocol,	
  which	
  is	
  meant	
  to	
  
   transfer	
  informaBon	
  on	
  intranets	
  and	
  World	
  
   Wide	
  Web.	
  
   –  RFC2616:	
  
   –  hWp://www.w3.org/Protocols/rfc2616/rfc2616.html	
  
•  HTTP	
  is	
  a	
  request	
  /	
  response	
  standard	
  
   between	
  client	
  and	
  server	
  
Clients	
  and	
  Servers	
  
•  Client	
  
   –  Client	
  makes	
  a	
  hWp	
  request.	
  
   –  Client	
  can	
  be	
  a	
  web	
  browser,	
  spider	
  or	
  other	
  end-­‐user	
  
      tool	
  
   –  Client	
  is	
  referred	
  as	
  a	
  user	
  agent	
  
•  Server	
  
   –  Stores	
  informaBon	
  and	
  makes	
  them	
  available	
  to	
  the	
  
      client	
  
   –  Gives	
  hWp	
  response	
  to	
  the	
  client	
  
Resources	
  
•  Server	
  provides	
  resources	
  to	
  clients	
  
•  Resources	
  can	
  be	
  accessed	
  by	
  HTTP	
  using	
  
   URLs	
  (	
  Uniform	
  Resource	
  Locator	
  )	
  
•  Example	
  
   –  hWp://www.tamk.fi/~jack/document.doc	
  
Request	
  and	
  Response	
  

Client	
                                        Client	
  
User-­‐agent:	
  Firefox	
                      Apache	
  HTTP	
  Server	
  

                                  request	
  

                                 response	
  
Request	
  GET	
  
•  HTTP	
  defines	
  eight	
  methods	
  that	
  define	
  a	
  acBon	
  
   which	
  will	
  be	
  made	
  to	
  a	
  resource	
  
•  Most	
  typical	
  method	
  is	
  GET	
  
•  By	
  using	
  the	
  GET	
  -­‐	
  method,	
  client	
  gets	
  a	
  
   representaBon	
  of	
  the	
  resource.	
  
•  Example	
  of	
  gepng	
  a	
  file	
  
    –  URL:	
  hWp://www.something.com/file.doc	
  
    –  1)	
  Open	
  connecBon	
  to	
  the	
  server	
  
    –  2)	
  Send	
  following	
  through	
  the	
  connecBon:	
  
         •  GET	
  /path/to/file.doc	
  HTTP/1.0	
  
    –  3)	
  Read	
  the	
  response	
  
More	
  on	
  Request	
  GET	
  
•  Typically	
  HTTP	
  client	
  is	
  a	
  browser	
  that	
  
   creates	
  the	
  request	
  automaBcally	
  when	
  user	
  
   opens	
  a	
  url	
  
•  Browser	
  creates	
  the	
  request	
  which	
  contains	
  
   addiBon	
  to	
  the	
  GET	
  lot	
  of	
  other	
  informaBon..	
  
•  For	
  example,	
  informa)on	
  about	
  user	
  agent!	
  
Request	
  and	
  Response	
  

Client	
                       example	
  request	
            Client	
  
User-­‐agent:	
  Firefox	
     GET / HTTP/1.1!                 Apache	
  HTTP	
  Server	
  
                               Host: www.tamk.fi!
                               User-Agent: Mozilla/5.0 (Mac..)!
                               ...!
                               !


                                                response	
  
Response	
  
•  When	
  making	
  a	
  GET	
  request	
  to	
  a	
  certain	
  URL,	
  
   client	
  gets	
  a	
  response	
  
•  Response	
  consists	
  of	
  
    –  1)	
  Header	
  informaBon	
  
    –  2)	
  Resource	
  itself	
  
•  Browser	
  makes	
  decisions	
  based	
  on	
  the	
  header	
  
   informaBon..	
  
Example	
  of	
  Response	
  

               HTTP/1.1 200 OK!
               Date: Fri, 12 Jan 2007 07:51:41 GMT!
               Server: Apache/1.3.37 (Unix)!
               Last-Modified: Wed, 10 Jan 2007 12:43:34 GMT!
Header	
       ETag: "479a0-16a9-45a4df76"!
               Accept-Ranges: bytes!
               Content-Length: 5801!
               Connection: close!
               Content-Type: text/html; charset=iso-8859-1!
               !
               <html>!
Resource	
     <head>!
               <title>...!
               !
Request	
  and	
  Response	
  
Client	
                        example	
  request	
          Client	
  
User-­‐agent:	
  Firefox	
      GET / HTTP/1.1!               Apache	
  HTTP	
  Server	
  
                                Host: www.tamk.fi!
                                User-Agent: Mozilla/5.0 (Mac..)!
                                ...!




                               example	
  response	
  
                               HTTP/1.1 200 OKDate: Fri, 12 Jan
                               2007 07:51:41 GMTServer: Apache/
                               1.3.37 (Unix)...!
                               ...!
                               <html><head><title>...!
                               !
Firefox	
  and	
  HTTP	
  headers	
  
Client	
  vs.	
  Server	
  
•  In	
  client-­‐side	
  techniques,	
  browser	
  or	
  it's	
  
   plugins	
  executes	
  dynamic	
  behaviour	
  
    –  Flash,	
  JavaScript,	
  Applets...	
  
•  In	
  server-­‐side	
  techniques,	
  server	
  is	
  responsible	
  
   for	
  the	
  dynamic	
  behaviour	
  
    –  PHP,	
  Java	
  EE..	
  
    –  Persistant	
  Storage	
  is	
  implemented	
  by	
  using	
  
       databases,	
  for	
  example:	
  MySQL	
  	
  

More Related Content

What's hot (19)

Linux, Apache, Mysql, PHP
Linux, Apache, Mysql, PHPLinux, Apache, Mysql, PHP
Linux, Apache, Mysql, PHP
 
HTTP
HTTPHTTP
HTTP
 
Introduction to XML, XHTML and CSS
Introduction to XML, XHTML and CSSIntroduction to XML, XHTML and CSS
Introduction to XML, XHTML and CSS
 
Web Application Development using PHP Chapter 1
Web Application Development using PHP Chapter 1Web Application Development using PHP Chapter 1
Web Application Development using PHP Chapter 1
 
Introduction to web designing
Introduction to web designingIntroduction to web designing
Introduction to web designing
 
Web technology Unit-II Part A
Web technology Unit-II Part AWeb technology Unit-II Part A
Web technology Unit-II Part A
 
www | HTTP | HTML - Tutorial
www | HTTP | HTML - Tutorialwww | HTTP | HTML - Tutorial
www | HTTP | HTML - Tutorial
 
Wt unit 1 ppts web development process
Wt unit 1 ppts web development processWt unit 1 ppts web development process
Wt unit 1 ppts web development process
 
Browser
BrowserBrowser
Browser
 
Wordpress: A Tool for online Earning
Wordpress: A Tool for online EarningWordpress: A Tool for online Earning
Wordpress: A Tool for online Earning
 
Busy Architects Guide to Modern Web Architecture in 2014
Busy Architects Guide to  Modern Web Architecture in 2014Busy Architects Guide to  Modern Web Architecture in 2014
Busy Architects Guide to Modern Web Architecture in 2014
 
Web I - 02 - XHTML Introduction
Web I - 02 - XHTML IntroductionWeb I - 02 - XHTML Introduction
Web I - 02 - XHTML Introduction
 
WordPress Complete Manual in XAMPP
WordPress Complete Manual in XAMPPWordPress Complete Manual in XAMPP
WordPress Complete Manual in XAMPP
 
Zen codingcheatsheet
Zen codingcheatsheetZen codingcheatsheet
Zen codingcheatsheet
 
Html
HtmlHtml
Html
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
Static dynamic and active web pages
Static dynamic and active web pagesStatic dynamic and active web pages
Static dynamic and active web pages
 
Local storage
Local storageLocal storage
Local storage
 
Presentation_1367055087514
Presentation_1367055087514Presentation_1367055087514
Presentation_1367055087514
 

Viewers also liked

Viewers also liked (7)

libGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame AnimationlibGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame Animation
 
libGDX: Tiled Maps
libGDX: Tiled MapslibGDX: Tiled Maps
libGDX: Tiled Maps
 
Implementing a Simple Game using libGDX
Implementing a Simple Game using libGDXImplementing a Simple Game using libGDX
Implementing a Simple Game using libGDX
 
Box2D and libGDX
Box2D and libGDXBox2D and libGDX
Box2D and libGDX
 
libGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and PreferenceslibGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and Preferences
 
Moved to Speakerdeck
Moved to SpeakerdeckMoved to Speakerdeck
Moved to Speakerdeck
 
Java Web Services
Java Web ServicesJava Web Services
Java Web Services
 

Similar to Introduction to Web Standards

WEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTMLWEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTMLsmitawagh14
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
 
Presentation on php and Javascript
Presentation on php and JavascriptPresentation on php and Javascript
Presentation on php and JavascriptPradip Shrestha
 
Les Basiques - Web Développement HTML5, CSS3, JS et PHP
Les Basiques - Web  Développement HTML5, CSS3, JS et PHPLes Basiques - Web  Développement HTML5, CSS3, JS et PHP
Les Basiques - Web Développement HTML5, CSS3, JS et PHPHamdi Hmidi
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in WebJussi Pohjolainen
 
Website/Web Applications / Static vs Dynamic Website / Web Browser /
Website/Web Applications  / Static vs Dynamic Website / Web Browser / Website/Web Applications  / Static vs Dynamic Website / Web Browser /
Website/Web Applications / Static vs Dynamic Website / Web Browser / Sachin Yadav
 
Arcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls AdvancedArcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls Advancedarcomem
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecuritySanjeev Verma, PhD
 
Training report on web developing
Training report on web developingTraining report on web developing
Training report on web developingJawhar Ali
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developersWojciech Bednarski
 
ARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web BasicsARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web BasicsGilbert Guerrero
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelalShub
 

Similar to Introduction to Web Standards (20)

Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Html and Xhtml
Html and XhtmlHtml and Xhtml
Html and Xhtml
 
WEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTMLWEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTML
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
Presentation on php and Javascript
Presentation on php and JavascriptPresentation on php and Javascript
Presentation on php and Javascript
 
Les Basiques - Web Développement HTML5, CSS3, JS et PHP
Les Basiques - Web  Développement HTML5, CSS3, JS et PHPLes Basiques - Web  Développement HTML5, CSS3, JS et PHP
Les Basiques - Web Développement HTML5, CSS3, JS et PHP
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in Web
 
Unit 01 (1).pdf
Unit 01 (1).pdfUnit 01 (1).pdf
Unit 01 (1).pdf
 
Website/Web Applications / Static vs Dynamic Website / Web Browser /
Website/Web Applications  / Static vs Dynamic Website / Web Browser / Website/Web Applications  / Static vs Dynamic Website / Web Browser /
Website/Web Applications / Static vs Dynamic Website / Web Browser /
 
Intro to JavaScript
Intro to JavaScriptIntro to JavaScript
Intro to JavaScript
 
Arcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls AdvancedArcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls Advanced
 
Html 5
Html 5Html 5
Html 5
 
Internet
InternetInternet
Internet
 
IP UNIT 1.pptx
IP UNIT 1.pptxIP UNIT 1.pptx
IP UNIT 1.pptx
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser Security
 
Training report on web developing
Training report on web developingTraining report on web developing
Training report on web developing
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developers
 
ARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web BasicsARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web Basics
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelal
 
web development process WT
web development process WTweb development process WT
web development process WT
 

More from Jussi Pohjolainen

More from Jussi Pohjolainen (20)

Intro to Building Android Games using libGDX
Intro to Building Android Games using libGDXIntro to Building Android Games using libGDX
Intro to Building Android Games using libGDX
 
Advanced JavaScript Development
Advanced JavaScript DevelopmentAdvanced JavaScript Development
Advanced JavaScript Development
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
libGDX: Scene2D
libGDX: Scene2DlibGDX: Scene2D
libGDX: Scene2D
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame Animation
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame Animation
 
libGDX: User Input
libGDX: User InputlibGDX: User Input
libGDX: User Input
 
Building Android games using LibGDX
Building Android games using LibGDXBuilding Android games using LibGDX
Building Android games using LibGDX
 
Android Threading
Android ThreadingAndroid Threading
Android Threading
 
Creating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and GesturesCreating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and Gestures
 
Creating Games for Asha - platform
Creating Games for Asha - platformCreating Games for Asha - platform
Creating Games for Asha - platform
 
Intro to Asha UI
Intro to Asha UIIntro to Asha UI
Intro to Asha UI
 
Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha Platform
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Quick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery MobileQuick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery Mobile
 
JavaScript Inheritance
JavaScript InheritanceJavaScript Inheritance
JavaScript Inheritance
 
JS OO and Closures
JS OO and ClosuresJS OO and Closures
JS OO and Closures
 
Short intro to ECMAScript
Short intro to ECMAScriptShort intro to ECMAScript
Short intro to ECMAScript
 
XAMPP
XAMPPXAMPP
XAMPP
 
Building Web Services
Building Web ServicesBuilding Web Services
Building Web Services
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Introduction to Web Standards

  • 1. Intro  to  Web  Standards   Jussi  Pohjolainen   Tampere  University  of  Applied  Sciences  
  • 2. Web  Standards?   •  Formal  standards  or  technical  specifica2ons  that   describe  the  World  Wide  Web   •  Web  Standards  consist  of  the  following   –  RecommendaBons  of  the  World  Wide  Web   ConsorBum  (W3C)   •  (X)HTML,  CSS,  SVG,  DOM  ...   –  RFC  documents  published  by  Internet  Engineering   Task  Force  (IETF)   •  URI,  HTTP,  MIME  ...   –  And  also  standards  by  Ecma  InternaBonal  (JavaScript),   Unicode  (Charsets)  and  IANA  (Name  and  number   registries).    
  • 3. World  Wide  Web  ConsorBum   •  The  World  Wide  Web  ConsorBum  (W3C)  is  the   main  internaBonal  standards  organizaBon  for   the  World  Wide  Web   •  Compa2bility  among  industry  members   •  W3C  makes  recommenda)ons  for  the  web   •  Several  recommendaBons     –  XHTML,  DOM,  CSS,  XML...   •  URL:  hWp://www.w3.org/  
  • 4. W3C  RecommendaBon:  XHTML   •  XHTML™  1.0  The  Extensible  HyperText   Markup  Language  (Second  EdiBon)   –  hWp://www.w3.org/TR/xhtml1/   •  Markup  language  for  web  pages   •  Can  be  used  to  create  structured  documents   by  using  structural  semanBcs   –  headings,  paragraph,  lists,  links  ...    
  • 5. Example  of  XHTML   <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello</title> <meta http-equiv="content-type" content="application/xhtml +xml; charset=utf-8" /> </head> <body> <h1>Hello World!</h1> <p>Here is a paragraph.</p> </body> </html>
  • 6. XHTML,  HTML?   SGML:  Standard  Generalized  Markup  Language   Meta  language     XML   Meta  language  (subset  of  SGML)   OOXML   MathML   XHTML   HTML   (.docx)   (.mml)   (.xhtml)   (.html)  
  • 7. (X)HTML  versions   •  1996:  HTML  2.0   •  200X:  (X)HTML  5   •  1997:  HTML  3.2   –  2D  drawing,  Offline   –  W3C  RecommendaBon   storage,  drag  and  drop..   •  1997:  HTML  4.0   –  CSS   •  2000:  XHTML  1.0     –  SeparaBon  of  layout  and   the  document  
  • 8. W3C  RecommendaBon:  XML   •  eXtensible  Markup  Language,  is  a  specificaBon   for  creaBng  custom  markup  languages   •  W3C  RecommendaBon   •  Primary  purpose  is  to  help  computers  to  share   data   •  XML  is  meta-­‐language.  This  means  that  you   use  it  for  creaBng  languages.   •  XML  is  an  extensive  concept.  
  • 9. XML-­‐language:  XHTML   <?xml version="1.0"?>! <!DOCTYPE html ! PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">! <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">! <head>! <title>Minimal XHTML 1.0 Document</title>! </head>! <body>! <p>This is a minimal <a href="http://www.w3.org/TR/ xhtml1/">XHTML 1.0</a> ! document.</p>! </body>! </html>!
  • 10. XML-­‐language:  SVG   <?xml version="1.0"?>! <!DOCTYPE svg ! PUBLIC "-//W3C//DTD SVG 1.1//EN" ! "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">! <svg width="100%" height="100%" version="1.1"! xmlns="http://www.w3.org/2000/svg">! ! <circle cx="100" cy="50" r="40" stroke="black"! stroke-width="2" fill="red"/>! ! </svg>!
  • 11. XML-­‐language:  MathML   <?xml version="1.0"?>! <!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">! <math:math xmlns:math="http://www.w3.org/1998/Math/MathML">! <math:semantics>! <math:mrow>! <math:mi>x</math:mi>! <math:mo math:stretchy="false">=</math:mo>! <math:mfrac>! <math:mrow>! ...! </math:mrow>! <math:annotation math:encoding="StarMath 5.0">x = {-b +-sqrt{b^ {2}-4{ac}} } over {2 {a}} </math:annotation>! </math:semantics>! </math:math>!
  • 12. XML-­‐language:  You  can  create  your   own!   <plist version='1.0'>! <dict>! <key>Student and Staff Restaurant</key>! <array>! <string>Gratinated broccoli</string>! <string>Oven baked sausage</string>! <string>Beef in red wine sauce</string>! <string>Ham and pepperoni baguette</string>! <string>Baguette with beef roast</string>! </array>! <key>Cafeteria</key>! <array>! <string>Tomato soup with chevre &amp;</string>! <string>Ham and pasta salad</string>! </array>! </dict>! </plist>!
  • 13. W3C  recommendaBon:  CSS   •  Cascading  Style  Sheets  is  used  to  describe   presentaBon  of  a  document  wriWen  in  some   markup  language   –  Markup  language  can  be  (x)html   •  Different  versions   –  CSS  1,  CSS  2,  CSS  3   •  Different  browsers  support  different  things  in   CSS  
  • 14. XHTML  with  CSS   <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> <link rel="stylesheet" href="mystyle.css"> </head> <body> <p>This is a minimal <a href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> document.</p> </body> </html>
  • 15. CSS:  mystyle.css   p { font-family: Arial, serif; color: RGB(255,0,0); }
  • 17. JavaScript,  LiveScript,  JScript,   ECMAScript?   •  ScripBng:  add  client-­‐side  behaviour  to  the  site   •  JavaScript   –  Developed  by  Netscape   –  Originally  JavaScript,  then  LiveScript  and  then  back  to   JavaScript.   •  JScript   –  Microsoj  made  their  own  version  of  the  JavaScript   •  CompaBbility  problems   •  =>  ECMAScript,  effort  to  standardize  different   versions  of  the  J(ava)Script  
  • 18. ECMAScript   •  ECMAScript  is  a  scripBng  language,   standardized  by  Ecma  InternaBonal   •  In  Browsers,  ECMAScript  is  commonly  called   JavaScript   •  Java/ECMAscript  is  nowdays  heavily  used  with   AJAX  –  based  sites   •  SBll  many  problems  because  of  browser   incompaBbilites  
  • 20. HTTP?   •  HTTP  (Hypertext  transfer  protocol)  is  a   stateless  protocol,  which  is  meant  to   transfer  informaBon  on  intranets  and  World   Wide  Web.   –  RFC2616:   –  hWp://www.w3.org/Protocols/rfc2616/rfc2616.html   •  HTTP  is  a  request  /  response  standard   between  client  and  server  
  • 21. Clients  and  Servers   •  Client   –  Client  makes  a  hWp  request.   –  Client  can  be  a  web  browser,  spider  or  other  end-­‐user   tool   –  Client  is  referred  as  a  user  agent   •  Server   –  Stores  informaBon  and  makes  them  available  to  the   client   –  Gives  hWp  response  to  the  client  
  • 22. Resources   •  Server  provides  resources  to  clients   •  Resources  can  be  accessed  by  HTTP  using   URLs  (  Uniform  Resource  Locator  )   •  Example   –  hWp://www.tamk.fi/~jack/document.doc  
  • 23. Request  and  Response   Client   Client   User-­‐agent:  Firefox   Apache  HTTP  Server   request   response  
  • 24. Request  GET   •  HTTP  defines  eight  methods  that  define  a  acBon   which  will  be  made  to  a  resource   •  Most  typical  method  is  GET   •  By  using  the  GET  -­‐  method,  client  gets  a   representaBon  of  the  resource.   •  Example  of  gepng  a  file   –  URL:  hWp://www.something.com/file.doc   –  1)  Open  connecBon  to  the  server   –  2)  Send  following  through  the  connecBon:   •  GET  /path/to/file.doc  HTTP/1.0   –  3)  Read  the  response  
  • 25. More  on  Request  GET   •  Typically  HTTP  client  is  a  browser  that   creates  the  request  automaBcally  when  user   opens  a  url   •  Browser  creates  the  request  which  contains   addiBon  to  the  GET  lot  of  other  informaBon..   •  For  example,  informa)on  about  user  agent!  
  • 26. Request  and  Response   Client   example  request   Client   User-­‐agent:  Firefox   GET / HTTP/1.1! Apache  HTTP  Server   Host: www.tamk.fi! User-Agent: Mozilla/5.0 (Mac..)! ...! ! response  
  • 27. Response   •  When  making  a  GET  request  to  a  certain  URL,   client  gets  a  response   •  Response  consists  of   –  1)  Header  informaBon   –  2)  Resource  itself   •  Browser  makes  decisions  based  on  the  header   informaBon..  
  • 28. Example  of  Response   HTTP/1.1 200 OK! Date: Fri, 12 Jan 2007 07:51:41 GMT! Server: Apache/1.3.37 (Unix)! Last-Modified: Wed, 10 Jan 2007 12:43:34 GMT! Header   ETag: "479a0-16a9-45a4df76"! Accept-Ranges: bytes! Content-Length: 5801! Connection: close! Content-Type: text/html; charset=iso-8859-1! ! <html>! Resource   <head>! <title>...! !
  • 29. Request  and  Response   Client   example  request   Client   User-­‐agent:  Firefox   GET / HTTP/1.1! Apache  HTTP  Server   Host: www.tamk.fi! User-Agent: Mozilla/5.0 (Mac..)! ...! example  response   HTTP/1.1 200 OKDate: Fri, 12 Jan 2007 07:51:41 GMTServer: Apache/ 1.3.37 (Unix)...! ...! <html><head><title>...! !
  • 30. Firefox  and  HTTP  headers  
  • 31. Client  vs.  Server   •  In  client-­‐side  techniques,  browser  or  it's   plugins  executes  dynamic  behaviour   –  Flash,  JavaScript,  Applets...   •  In  server-­‐side  techniques,  server  is  responsible   for  the  dynamic  behaviour   –  PHP,  Java  EE..   –  Persistant  Storage  is  implemented  by  using   databases,  for  example:  MySQL