SlideShare a Scribd company logo
YAPC::Brasil - 2011




                        HTML5        ,

                        e eu com isso?




                                         “Uma novidade só é conhecida, verdadeiramente,
Marcio Ferreira                              quando as pessoas certas ouvem falar dela”
@_marcioferreira                                  – Renato Alexandre dos Santos Freitas
Agenda
●   it's my life
●   HTML4, camada
●   insights HTML5
●   semântica
●   multímidia
●   offline – cache, persistência chave/valor
●   API js – websockets, web workers, geo, history
my life → 4, camada → insights → semântica → multímidia → offline → API js
my life → 4, camada → insights → semântica → multímidia → offline → API js




                                  +
my life → 4, camada → insights → semântica → multímidia → offline → API js
my life → 4,       camada → insights → semântica → multímidia → offline → API js


 ●   HTML Document Representation - Character
     sets, character encodings, and entities            ●   Alignment, font styles, and horizontal rules

     Basic HTML data types - Character data, colors,    ●   Frames - Multi-view presentation of documents
 ●

     lengths, URIs, content types, etc.                 ●   Forms - User-input Forms: Text Fields, Buttons,
                                                            Menus, and more
 ●   The global structure of an HTML document - The
     HEAD and BODY of a document                        ●   Scripts - Animated Documents and Smart Forms
 ●   Language information and text direction -          ●   SGML reference information for HTML - Formal
     International considerations for text                  definition of HTML and validation
                                                            Document Type Definition
 ●   Text - Paragraphs, Lines, and Phrases              ●


                                                        ●   Transitional Document Type Definition
 ●   Lists - Unordered, Ordered, and Definition Lists
                                                        ●   Frameset Document Type Definition
 ●   Tables
                                                        ●   Character entity references in HTML 4
 ●   Links - Hypertext and Media-Independent Links
                                                        ●   Style Sheets - Adding style to HTML documents
 ●   Objects, Images, and Applets
my life → 4,   camada → insights → semântica → multímidia → offline → API js




    text, multimedia, and hyperlink
    goal of making the Web truly World Wide
my life → 4,   camada → insights → semântica → multímidia → offline → API js




    HTML4
        HTML – conteúdo
        CSS 1, 2.1 – formatação
        Javascript – eventos usuário
my life →4, camada → insights → semântica → multímidia → offline → API js



   HTML5
       new features are introduced to help Web application
       authors, new elements are introduced based on
       research into prevailing authoring practices, and
       special attention has been given to defining clear
       conformance criteria for user agents in an effort to
       improve interoperability.
my life →4, camada →insights→ semântica → multímidia → offline → API js



       <!DOCTYPE html>

   ●   header
   ●   nav
   ●   section
   ●   article
   ●   aside
   ●   footer
   ●   figcaption
   ●   figure
   ●   hgroup
   ●   mark
my life →4, camada →insights→ semântica → multímidia → offline → API js



       <input>

   ●   attributes
       ● autocomplete

       ● action

       ● pattern - regex

       ● multiple - list

       ● formnovalidate

       ● min/max/step



   ●   type
       ● email

       ● url

       ● date/datetime/datetime-local/month/week/time

       ● range/number
my life →4, camada →insights→ semântica → multímidia → offline → API js



  crawler – hoje (baseado em xpath - id, class, position, etc -, se o mesmo mudar...)
     $html->findnodes( '//div/p/p[1] | //div/p/font[1] | //div/p/...' ); #sintática



  crawler – amanhã (baseado na semantica das tags - não mais id, class, position)
     $html->section->article->header; #semântica
     $html->section->article->figcaption; #semântica
my life →4, camada →insights→ semântica → multímidia → offline → API js




       <video>, <audio>

   ●   autoplay
   ●   controls
   ●   loop
   ●   muted
   ●   preload
   ●   src
my life →4, camada →insights→ semântica → multímidia → offline → API js



  cache
  <html manifest="myapp.manifest"> onde armazenar se offline
         CACHE MANIFEST
         CACHE: arquivos que desejo obter cache se offline
         index.html


         FALLBACK:
         page.html fallback-page.html requisição para page.html usa cache de
         fallback-page.html


         NETWORK: quem não deve se obter cache
         *
my life →4, camada →insights→ semântica → multímidia → offline → API js



  cache
  ApplicationCache
  <body onload="updateIndiktor()" ononline="updateIndiktor()" onoffline="updateIndiktor()">

  navigator.onLine ? 'online' : 'offline';
my life →4, camada →insights→ semântica → multímidia → offline → API js



    persistência chave/valor
    ●   document.cookie morreu
●   Web storage
    ●   SessionStorage janela / LocalStorage persiste
        –   sessionStorage.setItem("evento", "YAPC::Brasil")
        –   sessionStorage.getItem("evento")
        –   RemoveItem('evento')
        –   clear()
        –   return string!
               var edition = { number: 2011 };
               sessionStorage.setItem("edition", JSON.stringify(edition) );
               var _edition = JSON.parse(sessionStorage.getItem("edition"));
my life →4, camada →insights→ semântica → multímidia → offline → API js



  document.cookie


  Web storage
     SessionStorage janela / LocalStorage persiste
     –   sessionStorage.setItem("evento", "YAPC::Brasil")
     –   sessionStorage.getItem("evento")
     –   RemoveItem('evento')
     –   clear()
     –   return string!
            var edition = { number: 2011 };
            sessionStorage.setItem("edition", JSON.stringify(edition) );
            var _edition = JSON.parse(sessionStorage.getItem("edition"));
my life →4, camada →insights→ semântica → multímidia → offline → API   js

  websocket
      Var socket = New WebSocket(host)
      Socket.onopen, onmessage, onclose
      socket.readyState
      Socket.Send
      Socket.close
my life →4, camada →insights→ semântica → multímidia → offline → API   js


  web worker
      var worker = new Worker("myscript.js");
      worker.onmessage
      worker.onerror
      worker.postMessage
      worker.close
my life →4, camada →insights→ semântica → multímidia → offline → API   js


  geolocation
  navigator.geolocation.getCurrentPosition(showpos)
  navigator.geolocation.watchPosition(showpos,erropos)
  position.coords.latitude,
  position.coords.longitude
my life →4, camada →insights→ semântica → multímidia → offline → API   js


  history
  go, back e forward
  history.pushState(data,title[,url])
  history.replaceState(data,title[,url])
  window.onpopstate
?!@#$%&*



   YAPC::Brasil
     HTML5,
  E eu com isso?

 @_marcioferreira

More Related Content

PPTX
Globe global search system oer asia_chibajapan_2012_10_15
PDF
Microformats I: What & Why
PPT
lembre-se - Bookmark Semantic
PDF
Apresentação One Match
PDF
YAPC::Brasil 2011 - Gamification + ócio criativo
PDF
East of Toronto .NET Usergroup - Put the 5 in HTML
KEY
WHAT IS HTML5? (at CSS Nite Osaka)
PDF
A Snapshot of the Mobile HTML5 Revolution
Globe global search system oer asia_chibajapan_2012_10_15
Microformats I: What & Why
lembre-se - Bookmark Semantic
Apresentação One Match
YAPC::Brasil 2011 - Gamification + ócio criativo
East of Toronto .NET Usergroup - Put the 5 in HTML
WHAT IS HTML5? (at CSS Nite Osaka)
A Snapshot of the Mobile HTML5 Revolution

Similar to YAPC::Brasil 2011 - HTML5, e eu com isso? (20)

KEY
Html5 Primer
PDF
Cross platform mobile web apps
PPT
HTML5 Webinar - Mind Storm Software
PDF
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
PPTX
PDF
HTML5 Technical Executive Summary
PDF
20090925 HTML5の過去、現在、未来
PDF
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
KEY
Html5 For Jjugccc2009fall
PPTX
Presentation about html5 css3
ODP
Html5
PDF
PDF
PPT
HTML5 Presentation
PDF
HTML5 and the dawn of rich mobile web applications pt 1
PDF
Building a Better Web with HTML5 and CSS3
PDF
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
PPTX
Html5 & less css
PDF
HTML5, just another presentation :)
PDF
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Html5 Primer
Cross platform mobile web apps
HTML5 Webinar - Mind Storm Software
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
HTML5 Technical Executive Summary
20090925 HTML5の過去、現在、未来
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
Html5 For Jjugccc2009fall
Presentation about html5 css3
Html5
HTML5 Presentation
HTML5 and the dawn of rich mobile web applications pt 1
Building a Better Web with HTML5 and CSS3
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
Html5 & less css
HTML5, just another presentation :)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Ad

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
A Presentation on Artificial Intelligence
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
Agricultural_Statistics_at_a_Glance_2022_0.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
A Presentation on Artificial Intelligence
The AUB Centre for AI in Media Proposal.docx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Monthly Chronicles - July 2025
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
20250228 LYD VKU AI Blended-Learning.pptx
Ad

YAPC::Brasil 2011 - HTML5, e eu com isso?

  • 1. YAPC::Brasil - 2011 HTML5 , e eu com isso? “Uma novidade só é conhecida, verdadeiramente, Marcio Ferreira quando as pessoas certas ouvem falar dela” @_marcioferreira – Renato Alexandre dos Santos Freitas
  • 2. Agenda ● it's my life ● HTML4, camada ● insights HTML5 ● semântica ● multímidia ● offline – cache, persistência chave/valor ● API js – websockets, web workers, geo, history
  • 3. my life → 4, camada → insights → semântica → multímidia → offline → API js
  • 4. my life → 4, camada → insights → semântica → multímidia → offline → API js +
  • 5. my life → 4, camada → insights → semântica → multímidia → offline → API js
  • 6. my life → 4, camada → insights → semântica → multímidia → offline → API js ● HTML Document Representation - Character sets, character encodings, and entities ● Alignment, font styles, and horizontal rules Basic HTML data types - Character data, colors, ● Frames - Multi-view presentation of documents ● lengths, URIs, content types, etc. ● Forms - User-input Forms: Text Fields, Buttons, Menus, and more ● The global structure of an HTML document - The HEAD and BODY of a document ● Scripts - Animated Documents and Smart Forms ● Language information and text direction - ● SGML reference information for HTML - Formal International considerations for text definition of HTML and validation Document Type Definition ● Text - Paragraphs, Lines, and Phrases ● ● Transitional Document Type Definition ● Lists - Unordered, Ordered, and Definition Lists ● Frameset Document Type Definition ● Tables ● Character entity references in HTML 4 ● Links - Hypertext and Media-Independent Links ● Style Sheets - Adding style to HTML documents ● Objects, Images, and Applets
  • 7. my life → 4, camada → insights → semântica → multímidia → offline → API js text, multimedia, and hyperlink goal of making the Web truly World Wide
  • 8. my life → 4, camada → insights → semântica → multímidia → offline → API js HTML4 HTML – conteúdo CSS 1, 2.1 – formatação Javascript – eventos usuário
  • 9. my life →4, camada → insights → semântica → multímidia → offline → API js HTML5 new features are introduced to help Web application authors, new elements are introduced based on research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability.
  • 10. my life →4, camada →insights→ semântica → multímidia → offline → API js <!DOCTYPE html> ● header ● nav ● section ● article ● aside ● footer ● figcaption ● figure ● hgroup ● mark
  • 11. my life →4, camada →insights→ semântica → multímidia → offline → API js <input> ● attributes ● autocomplete ● action ● pattern - regex ● multiple - list ● formnovalidate ● min/max/step ● type ● email ● url ● date/datetime/datetime-local/month/week/time ● range/number
  • 12. my life →4, camada →insights→ semântica → multímidia → offline → API js crawler – hoje (baseado em xpath - id, class, position, etc -, se o mesmo mudar...) $html->findnodes( '//div/p/p[1] | //div/p/font[1] | //div/p/...' ); #sintática crawler – amanhã (baseado na semantica das tags - não mais id, class, position) $html->section->article->header; #semântica $html->section->article->figcaption; #semântica
  • 13. my life →4, camada →insights→ semântica → multímidia → offline → API js <video>, <audio> ● autoplay ● controls ● loop ● muted ● preload ● src
  • 14. my life →4, camada →insights→ semântica → multímidia → offline → API js cache <html manifest="myapp.manifest"> onde armazenar se offline CACHE MANIFEST CACHE: arquivos que desejo obter cache se offline index.html FALLBACK: page.html fallback-page.html requisição para page.html usa cache de fallback-page.html NETWORK: quem não deve se obter cache *
  • 15. my life →4, camada →insights→ semântica → multímidia → offline → API js cache ApplicationCache <body onload="updateIndiktor()" ononline="updateIndiktor()" onoffline="updateIndiktor()"> navigator.onLine ? 'online' : 'offline';
  • 16. my life →4, camada →insights→ semântica → multímidia → offline → API js persistência chave/valor ● document.cookie morreu ● Web storage ● SessionStorage janela / LocalStorage persiste – sessionStorage.setItem("evento", "YAPC::Brasil") – sessionStorage.getItem("evento") – RemoveItem('evento') – clear() – return string! var edition = { number: 2011 }; sessionStorage.setItem("edition", JSON.stringify(edition) ); var _edition = JSON.parse(sessionStorage.getItem("edition"));
  • 17. my life →4, camada →insights→ semântica → multímidia → offline → API js document.cookie Web storage SessionStorage janela / LocalStorage persiste – sessionStorage.setItem("evento", "YAPC::Brasil") – sessionStorage.getItem("evento") – RemoveItem('evento') – clear() – return string! var edition = { number: 2011 }; sessionStorage.setItem("edition", JSON.stringify(edition) ); var _edition = JSON.parse(sessionStorage.getItem("edition"));
  • 18. my life →4, camada →insights→ semântica → multímidia → offline → API js websocket Var socket = New WebSocket(host) Socket.onopen, onmessage, onclose socket.readyState Socket.Send Socket.close
  • 19. my life →4, camada →insights→ semântica → multímidia → offline → API js web worker var worker = new Worker("myscript.js"); worker.onmessage worker.onerror worker.postMessage worker.close
  • 20. my life →4, camada →insights→ semântica → multímidia → offline → API js geolocation navigator.geolocation.getCurrentPosition(showpos) navigator.geolocation.watchPosition(showpos,erropos) position.coords.latitude, position.coords.longitude
  • 21. my life →4, camada →insights→ semântica → multímidia → offline → API js history go, back e forward history.pushState(data,title[,url]) history.replaceState(data,title[,url]) window.onpopstate
  • 22. ?!@#$%&* YAPC::Brasil HTML5, E eu com isso? @_marcioferreira