SlideShare a Scribd company logo
Denis Platonov




                 1
About me
   2008 – 2011

                              HTML
                  CSS




   Since 2011          JavaScript




                  Front-End


                                     2
Evolution of the web
HTML                      HTML 4.01                                Today
                                             12 years of silence


                                                HTML5




  http://evolutionofweb.appspot.com/?hl=en                                 3
CSS3
Gradients   Border radius   Box shadow   Font face




                                                     4
HTML5 is backwards compatible
 <br>                    valid   HTML5   
 <br />                  valid   HTML5   
 <BR>                    valid   HTML5   
 <BR />                  valid   HTML5   
 <META CHARSET="UTF-8"> valid    HTML5   
 <meta charset=utf-8>    valid   HTML5   
 <meta charset="utf-8"> valid    HTML5   
 <meta charset="utf-8" />valid   HTML5   
 <MeTa CHARset=utF-8>    valid   HTML5   



                                              5
HTML5 – keeping it simple
   <!DOCTYPE html PUBLIC "-//W3C//DTD
    XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtm
    l1-transitional.dtd">
    <html
    xmlns="http://www.w3.org/1999/xhtml"
    dir="ltr" lang="ru" xml:lang="ru">

   <!DOCTYPE html>
    <html lang="ru">



                                            6
Offline data Storage - overview
   Web Storage
     Store key/value pairs locally
     Same-origin restriction
     Each origin gets 5MB of storage space
      ○ QUOTA_EXCEEDED_ERR exception

 Indexed Database API
 Web SQL Database
 File API: Directories and System



                                              7
Offline data Storage - Web Storage

   //Getter
    var foo = localStorage["bar"];

   //Setter
    localStorage["bar"] = foo;

   //Getter for integer
    var foo =
    parseInt(localStorage["bar"]);


                                     8
Offline web applications
   <!DOCTYPE HTML>
    <html manifest="/cache.manifest">
       <body>
       </body>
    </html>




                                        9
Offline web applications
CACHE MANIFEST
# Version 1
CACHE:
/style.css
/javascript.js
NETWORK:
/script.cgi
FALLBACK:
/ /offline.html



                           10
Web workers
 Background JavaScript
 Multiple threads




                          11
Web sockets
 Full-duplex communication channel
 Web Sockets provide an enormous
  reduction in unnecessary network traffic
                    Use case A:          Use case B:
                    1,000 clients        10,000 clients
                    polling every second polling every second

                    Use case C:
                    100,000 clients
                    polling every second




                                                                12
Geolocation
   IP address
   Triangulation:
     Wi-Fi, GSM or GPS
   http://html5demos.com/geo




                                13
<form>
 type="text"
 type="password"
 type="checkbox"
 type="radio"
 select
 type="button"
 type="submit"
 type="file"
 textarea




                    14
<form> - input types
<input type="email">
<input type="url">
<input type="tel">




                       15
<form> - input types


      Default layout   type="email"




      type="url"       type="tel"




                                      16
<form> - input types
   <input type="number" min="0"
    max="10" step="2" value="6">




   <input type="range" min="0"
    max="10" step="2" value="6">




                                   17
<form> - input types
<input   type="date">
<input   type="datetime">
<input   type="datetime-local">
<input   type="month">
<input   type="week">
                            time   datetime-local
<input   type="time">




date         datetime    month        week
                                                    18
<form> - input types
<input type="search">



<input type="color">




                        19
<form> - Placeholder text

<input type="text“
  onblur="if (this.value == '') {this.value
  = 'search this site';}“
  onfocus="if(this.value == 'search this
  site') {this.value = '';}“
  value="search this site">




                                              20
<form> - Placeholder text




<input type="text” placeholder="search this site">




                                                     21
<form> - datalist
<input type="search" list="search-
  suggestions"/>
<datalist id="search-suggestions">
  <option label="DM"
  value="Depeche Mode">
  <option label="Moz"
  value="Morrissey">
  <option label="NO"
  value="New Order">
  <option label="TC"
  value="The Cure">
</datalist>


                                     22
<form> - autofocus




<input type="text" autofocus />


                                  23
<form> - validation

 <input type="email">




 <input type="text" required>




 http://miketaylr.com/pres/html5/forms2.html



                                               24
<canvas> - introduction
 Bitmap
 2D
 JavaScript
 Simple shapes, lines, gradients, text,
  images




                                           25
<canvas> - IE support
    excanvas.js




                        26
<audio>, <video> - markup
<audio controls>
  <source src="music.ogg" type="audio/ogg">
  <source src="music.mp3" type="audio/mpeg">
  <!-- Flash fallback (flowplayer.org) -->
</audio>

<video width="300" height="200" controls>
 <source src="video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
 <source src="video.webm" type='video/webm; codecs="vp8, vorbis"'>
 <source src="video.ogv" type='video/ogg; codecs="theora, vorbis"'>
 <!-- Flash fallback (flowplayer.org) -->

</video>




                                                                              27
<audio>, <video> - browser support
          Browser                   (H.264/AAC)   (VP8/Vorbis)   (Theora/Vorbis)
                                    .MPEG-4       .WebM          .Ogg
             Mozilla Firefox 3.6+                      a                a
<video>




             Opera 10.63+                              a                a
             Google Chrome 8.0+          a             a                a
             Apple Safari 5.0.3+         a
             Microsoft IE9+              a             a

          Browser                   (MP3)         (Vorbis)
                                    .MPEG-4       .Ogg
             Mozilla Firefox 3.6+                      a
<audio>




             Opera 10.63+                              a
             Google Chrome 8.0+          a             a
             Apple Safari 5.0.3+         a
             Microsoft IE9+              a

                                                                                   28
Feature detect
                               Detects support for
                                HTML5 & CSS3 features
                               http://www.modernizr.com/




Do not reinvent the wheel   Use Modernizr!


                                                            29
Yes, You Can Use HTML5
Today!




                         30
Questions & answers?




                       31
32
Ad

Recommended

CSS3 ...in 3D!
CSS3 ...in 3D!
Christopher Schmitt
 
Flash Is Dead, Long Live Flash!
Flash Is Dead, Long Live Flash!
Rye Corradini
 
The Devil and HTML5
The Devil and HTML5
Myles Braithwaite
 
HTML5와 모바일
HTML5와 모바일
ACCESS
 
Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011
Zi Bin Cheah
 
shoubox script
shoubox script
Alif Mahardika
 
Documento
Documento
Bruunooo
 
Who is Afraid of Cookies?
Who is Afraid of Cookies?
Asaf Gery
 
2014 2015 - student handbook
2014 2015 - student handbook
Nastasia Arabuli
 
Greece’s debt crisis
Greece’s debt crisis
상은 안상은
 
Alethiology club gmo
Alethiology club gmo
JTKalina
 
I learningframework
I learningframework
Lia Yuliana
 
Communication journal name1
Communication journal name1
Alberto Ramirez
 
Chinese Garden Scholar Musings
Chinese Garden Scholar Musings
John Jeffery
 
html5 an introduction
html5 an introduction
vrt-medialab
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
Romin Irani
 
Front end for back end developers
Front end for back end developers
Wojciech Bednarski
 
HTML5 Presentation
HTML5 Presentation
vs4vijay
 
Html5 Primer
Html5 Primer
Graeme Bryan
 
HTML5: An Overview
HTML5: An Overview
Nagendra Um
 
Html 5
Html 5
Nguyen Quang
 
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
Patrick Lauke
 
East of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
HTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a tree
brucelawson
 
Rohit&kunjan
Rohit&kunjan
Rohit Patel
 
HTML5 and friends - Institutional Web Management Workshop 2010
HTML5 and friends - Institutional Web Management Workshop 2010
Patrick Lauke
 
HTML5: State of the Union
HTML5: State of the Union
Sencha
 
HTML5 Who what where when why how
HTML5 Who what where when why how
brucelawson
 
Mobile Web Development with HTML5
Mobile Web Development with HTML5
Roy Clarkson
 

More Related Content

Viewers also liked (7)

2014 2015 - student handbook
2014 2015 - student handbook
Nastasia Arabuli
 
Greece’s debt crisis
Greece’s debt crisis
상은 안상은
 
Alethiology club gmo
Alethiology club gmo
JTKalina
 
I learningframework
I learningframework
Lia Yuliana
 
Communication journal name1
Communication journal name1
Alberto Ramirez
 
Chinese Garden Scholar Musings
Chinese Garden Scholar Musings
John Jeffery
 
2014 2015 - student handbook
2014 2015 - student handbook
Nastasia Arabuli
 
Alethiology club gmo
Alethiology club gmo
JTKalina
 
I learningframework
I learningframework
Lia Yuliana
 
Communication journal name1
Communication journal name1
Alberto Ramirez
 
Chinese Garden Scholar Musings
Chinese Garden Scholar Musings
John Jeffery
 

Similar to Html5 and css3 (20)

html5 an introduction
html5 an introduction
vrt-medialab
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
Romin Irani
 
Front end for back end developers
Front end for back end developers
Wojciech Bednarski
 
HTML5 Presentation
HTML5 Presentation
vs4vijay
 
Html5 Primer
Html5 Primer
Graeme Bryan
 
HTML5: An Overview
HTML5: An Overview
Nagendra Um
 
Html 5
Html 5
Nguyen Quang
 
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
Patrick Lauke
 
East of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
HTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a tree
brucelawson
 
Rohit&kunjan
Rohit&kunjan
Rohit Patel
 
HTML5 and friends - Institutional Web Management Workshop 2010
HTML5 and friends - Institutional Web Management Workshop 2010
Patrick Lauke
 
HTML5: State of the Union
HTML5: State of the Union
Sencha
 
HTML5 Who what where when why how
HTML5 Who what where when why how
brucelawson
 
Mobile Web Development with HTML5
Mobile Web Development with HTML5
Roy Clarkson
 
HTML5 on Mobile
HTML5 on Mobile
Adam Lu
 
Basic html5 and javascript
Basic html5 and javascript
wendy017
 
Html5 public
Html5 public
doodlemoonch
 
Html5
Html5
Zahin Omar Alwa
 
Dive Into HTML5
Dive Into HTML5
Doris Chen
 
html5 an introduction
html5 an introduction
vrt-medialab
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
Romin Irani
 
Front end for back end developers
Front end for back end developers
Wojciech Bednarski
 
HTML5 Presentation
HTML5 Presentation
vs4vijay
 
HTML5: An Overview
HTML5: An Overview
Nagendra Um
 
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
Patrick Lauke
 
East of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
HTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a tree
brucelawson
 
HTML5 and friends - Institutional Web Management Workshop 2010
HTML5 and friends - Institutional Web Management Workshop 2010
Patrick Lauke
 
HTML5: State of the Union
HTML5: State of the Union
Sencha
 
HTML5 Who what where when why how
HTML5 Who what where when why how
brucelawson
 
Mobile Web Development with HTML5
Mobile Web Development with HTML5
Roy Clarkson
 
HTML5 on Mobile
HTML5 on Mobile
Adam Lu
 
Basic html5 and javascript
Basic html5 and javascript
wendy017
 
Dive Into HTML5
Dive Into HTML5
Doris Chen
 
Ad

Recently uploaded (20)

A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
Ad

Html5 and css3

  • 2. About me  2008 – 2011 HTML CSS  Since 2011 JavaScript Front-End 2
  • 3. Evolution of the web HTML HTML 4.01 Today 12 years of silence HTML5 http://evolutionofweb.appspot.com/?hl=en 3
  • 4. CSS3 Gradients Border radius Box shadow Font face 4
  • 5. HTML5 is backwards compatible  <br> valid HTML5   <br /> valid HTML5   <BR> valid HTML5   <BR /> valid HTML5   <META CHARSET="UTF-8"> valid HTML5   <meta charset=utf-8> valid HTML5   <meta charset="utf-8"> valid HTML5   <meta charset="utf-8" />valid HTML5   <MeTa CHARset=utF-8> valid HTML5  5
  • 6. HTML5 – keeping it simple  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm l1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru" xml:lang="ru">  <!DOCTYPE html> <html lang="ru"> 6
  • 7. Offline data Storage - overview  Web Storage  Store key/value pairs locally  Same-origin restriction  Each origin gets 5MB of storage space ○ QUOTA_EXCEEDED_ERR exception  Indexed Database API  Web SQL Database  File API: Directories and System 7
  • 8. Offline data Storage - Web Storage  //Getter var foo = localStorage["bar"];  //Setter localStorage["bar"] = foo;  //Getter for integer var foo = parseInt(localStorage["bar"]); 8
  • 9. Offline web applications  <!DOCTYPE HTML> <html manifest="/cache.manifest"> <body> </body> </html> 9
  • 10. Offline web applications CACHE MANIFEST # Version 1 CACHE: /style.css /javascript.js NETWORK: /script.cgi FALLBACK: / /offline.html 10
  • 11. Web workers  Background JavaScript  Multiple threads 11
  • 12. Web sockets  Full-duplex communication channel  Web Sockets provide an enormous reduction in unnecessary network traffic Use case A: Use case B: 1,000 clients 10,000 clients polling every second polling every second Use case C: 100,000 clients polling every second 12
  • 13. Geolocation  IP address  Triangulation:  Wi-Fi, GSM or GPS  http://html5demos.com/geo 13
  • 14. <form>  type="text"  type="password"  type="checkbox"  type="radio"  select  type="button"  type="submit"  type="file"  textarea 14
  • 15. <form> - input types <input type="email"> <input type="url"> <input type="tel"> 15
  • 16. <form> - input types Default layout type="email" type="url" type="tel" 16
  • 17. <form> - input types  <input type="number" min="0" max="10" step="2" value="6">  <input type="range" min="0" max="10" step="2" value="6"> 17
  • 18. <form> - input types <input type="date"> <input type="datetime"> <input type="datetime-local"> <input type="month"> <input type="week"> time datetime-local <input type="time"> date datetime month week 18
  • 19. <form> - input types <input type="search"> <input type="color"> 19
  • 20. <form> - Placeholder text <input type="text“ onblur="if (this.value == '') {this.value = 'search this site';}“ onfocus="if(this.value == 'search this site') {this.value = '';}“ value="search this site"> 20
  • 21. <form> - Placeholder text <input type="text” placeholder="search this site"> 21
  • 22. <form> - datalist <input type="search" list="search- suggestions"/> <datalist id="search-suggestions"> <option label="DM" value="Depeche Mode"> <option label="Moz" value="Morrissey"> <option label="NO" value="New Order"> <option label="TC" value="The Cure"> </datalist> 22
  • 23. <form> - autofocus <input type="text" autofocus /> 23
  • 24. <form> - validation <input type="email"> <input type="text" required> http://miketaylr.com/pres/html5/forms2.html 24
  • 25. <canvas> - introduction  Bitmap  2D  JavaScript  Simple shapes, lines, gradients, text, images 25
  • 26. <canvas> - IE support excanvas.js 26
  • 27. <audio>, <video> - markup <audio controls> <source src="music.ogg" type="audio/ogg"> <source src="music.mp3" type="audio/mpeg"> <!-- Flash fallback (flowplayer.org) --> </audio> <video width="300" height="200" controls> <source src="video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <source src="video.webm" type='video/webm; codecs="vp8, vorbis"'> <source src="video.ogv" type='video/ogg; codecs="theora, vorbis"'> <!-- Flash fallback (flowplayer.org) --> </video> 27
  • 28. <audio>, <video> - browser support Browser (H.264/AAC) (VP8/Vorbis) (Theora/Vorbis) .MPEG-4 .WebM .Ogg Mozilla Firefox 3.6+ a a <video> Opera 10.63+ a a Google Chrome 8.0+ a a a Apple Safari 5.0.3+ a Microsoft IE9+ a a Browser (MP3) (Vorbis) .MPEG-4 .Ogg Mozilla Firefox 3.6+ a <audio> Opera 10.63+ a Google Chrome 8.0+ a a Apple Safari 5.0.3+ a Microsoft IE9+ a 28
  • 29. Feature detect  Detects support for HTML5 & CSS3 features  http://www.modernizr.com/ Do not reinvent the wheel Use Modernizr! 29
  • 30. Yes, You Can Use HTML5 Today! 30
  • 32. 32