SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
suita de tehnologii HTML5
     o privire de ansamblu




                               Dr. Sabin Buragawww.purl.org/net/busaco
      Dr. Sabin Buraga
     www.purl.org/net/busaco
Ce reprezintă HTML5?




Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco
                      HTML5

      un vocabular (set de elemente + atribute)
        folosit pentru marcarea paginilor Web
                            +
o suită de API-uri facilitând procesarea documentelor
Dr. Sabin Buragawww.purl.org/net/busaco
                      HTML5

      un vocabular (set de elemente + atribute)
        folosit pentru marcarea paginilor Web
                            +
o suită de API-uri facilitând procesarea documentelor
Dr. Sabin Buragawww.purl.org/net/busaco
                    HTML5

permite dezvoltarea standardizată de aplicații Web
  pe baza unor interfețe de programare (API-uri)
Dr. Sabin Buragawww.purl.org/net/busaco
                       HTML5

     recurge la tehnologii înrudite referitoare la

prezentare via foi de stiluri în cascadă: CSS – nivelul 3
  model conceptual: DOM (Document Object Model)
   procesare la nivel de navigator Web: JavaScript


                       …și altele
Dr. Sabin Buragawww.purl.org/net/busaco
                    HTML5

    în curs de standardizare la Consortiul Web

statut candidate recommendation (decembrie 2012)




        http://www.w3.org/TR/html5/
Dr. Sabin Buragawww.purl.org/net/busaco
diverse specificații HTML5
          în lucru:
  http://dev.w3.org/html5/
Ce aduce nou HTML5?




Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco
Relaxarea corectitudinii la nivel de sintaxă

                   HTML

                   și/sau

                  XHTML
Dr. Sabin Buragawww.purl.org/net/busaco
             HTML5

 specificarea tipului de document
se poate realiza în mod simplificat:


         <!DOCTYPE html>
Dr. Sabin Buragawww.purl.org/net/busaco
Modelul de reprezentare internă este bazat pe DOM

                  DOM HTML5
Dr. Sabin Buragawww.purl.org/net/busaco
                      HTML5

lista elementelor (marcajelor) poate fi consultată la
  http://dev.w3.org/html5/markup/spec.html



            a se vizita si HTML5 Doctor
            http://html5doctor.com/
Dr. Sabin Buragawww.purl.org/net/busaco
Antetul documentului poate include meta-date


       diverse construcții privind maniera de
     prezentare/comportamentul conținutului
sau relația documentului curent cu alte resurse Web
Dr. Sabin Buragawww.purl.org/net/busaco
Antetul documentului poate include meta-date


       diverse construcții privind maniera de
     prezentare/comportamentul conținutului
sau relația documentului curent cu alte resurse Web


      title, base, link, meta, style, script, noscript
Dr. Sabin Buragawww.purl.org/net/busaco
Noi elemente de structurare (secțiuni)

  în stilul POSH – Plain Old Semantic HTML




article, nav, aside, section, header, footer, hgroup
<article>
                                         un articol disponibil pe un blog
  <header>
    <h1>Titlul articolului</h1>
    <p><time pubdate datetime="2013-01-07T07:33"></time></p>




                                                                            Dr. Sabin Buragawww.purl.org/net/busaco
  </header>
  <p>Conținutul propriu-zis al articolului…</p>
  <aside>Alte resurse de interes</aside>
  <section>
    <h1>Comentarii</h1>
    <article>
       <!-- comentariile sunt considerate aici note de subsol -->
       <footer>
          <p>Autor: Tuxy Pinguinescu</p>
          <p><time pubdate
                    datetime="2013-01-10T01:07-03:03"></time></p>
       </footer>
       <p>Un comentariu</p>
    </article>
  </section>
</article>
specificarea unor figuri


<figure>




                                                                 Dr. Sabin Buragawww.purl.org/net/busaco
   <img src="imagine.png" alt="Descriere alternativă" />
   <figcaption>O explicație…</figcaption>
</figure>

<figure>
   <!-- conținutul nu trebuie neapărat să fie o imagine -->
   <video src="http://ferma.info/video/pinguini.mov"></video>
   <figcaption>
       Relatare despre <cite>pinguinii FII</cite>.
   </figcaption>
</figure>

                    gruparea conținutului
Dr. Sabin Buragawww.purl.org/net/busaco
         Embedded content

“scufundarea” altor tipuri de conținuturi
       într-un document HTML



conținut grafic – raster și/sau vectorial
            conținut sonor
            conținut video
Dr. Sabin Buragawww.purl.org/net/busaco
           Embedded content

                     svg

            conținut grafic vectorial
specificat prin SVG (Scalable Vector Graphics)

     un limbaj descriptiv bazat pe XML

   http://www.w3.org/Graphics/SVG/
studiu de caz: grafică vectorială SVG
<svg xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink" width="8cm" height="3cm">
 <title>Conținut grafic SVG</title>




                                                                                    Dr. Sabin Buragawww.purl.org/net/busaco
 <defs>
    <linearGradient id="unGradient"> <!-- definim un degrade liniar -->
        <stop offset="20%" stop-color="#3FF" />
        <stop offset="90%" stop-color="#F3F" />
  </linearGradient>
  <rect id="patrat" width="15px" height="15px" fill="navy" />
  <path id="cale" d="M15 50 C10 0 90 0 90 40" /> <!-- o cale de redare -->
 </defs>
 <!-- o formă rectangulară umplută cu degrade-ul de mai sus -->
 <rect x="1cm" y="1cm" width="6cm" height="1cm" fill="url(#unGradient)" />
 <!-- folosim instanțe ale pătratului definit -->
 <use x="40" y="40" xlink:href="#patrat" />
 <use x="100" y="80" xlink:href="#patrat" />
 <use x="160" y="80" xlink:href="#patrat" />
 <use x="220" y="80" xlink:href="#patrat" />
 <!-- un text redat conform căii specificate -->
 <text fill="#000"><textPath xlink:href="#cale">Salut, lume!</textPath></text>
</svg>                                                   C. Bulancea & S. Buraga, 2004
studiu de caz: grafică vectorială SVG




Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco
  un experiment de editare on-line cu instrumentul JS Bin
includerea construcțiilor SVG direct în documentul HTML5
Dr. Sabin Buragawww.purl.org/net/busaco
                 Embedded content

                           svg

         specificația curentă: SVG 1.1 2nd Edition
      în contextul dispozitivelor mobile: SVG Tiny

        suport în cadrul navigatoarelor moderne
Opera, Firefox, Safari (inclusiv pentru iOS), Chrome, IE9+

   instrumente: Apache Batik, Inkscape, Raphaël.js,…
caniuse.com




              Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco
animații SVG realizate dinamic via biblioteca Raphaël
Dr. Sabin Buragawww.purl.org/net/busaco
              Embedded content

                      math

expresii matematice exprimate via limbajul MathML

        un limbaj declarativ bazat pe XML

          http://www.w3.org/Math/
Dr. Sabin Buragawww.purl.org/net/busaco
        Embedded content

                 math

specificația curentă: MathML 3.0 (2010)

   suport nativ în Firefox și Chrome

  o listă a instrumentelor software la
http://www.w3.org/Math/Software/
Dr. Sabin Buragawww.purl.org/net/busaco
        exemplu demonstrativ oferit de Mozilla
https://developer.mozilla.org/docs/Mozilla_MathML_Project
Dr. Sabin Buragawww.purl.org/net/busaco
                Embedded content

   alături de elementele img, iframe, embed și object,
             sunt permise audio, video, source
ce pot fi utilizate la includerea de conținut multimedia
<video id="film" src="/media/tux.ogg" controls autoplay>
    Nu există suport pentru elementul video… :-(




                                                           Dr. Sabin Buragawww.purl.org/net/busaco
</video>
…
<script type="text/javascript">
// preluăm conținutul video
var video = document.getElementById('film');
</script>
<p>
   <input type="button" value="Oprește"
          onclick="video.pause ();" />
   <input type="button" value="Rulează"
          onclick="video.play ();" />
</p>
<source src='fii-absolvent.mp4'
  type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />




                                                         Dr. Sabin Buragawww.purl.org/net/busaco
<source src='fii-absolvent.mkv'
  type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
  type='audio/ogg; codecs=flac' />

      precizarea codec-urilor
         necesare redării
<source src='fii-absolvent.mp4'
  type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />




                                                          Dr. Sabin Buragawww.purl.org/net/busaco
<source src='fii-absolvent.mkv'
  type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
  type='audio/ogg; codecs=flac' />

      precizarea codec-urilor
         necesare redării

                  codec-uri uzuale:
 H.264 (MP4 – comercial, susținut de Apple & Microsoft)
                www.h264info.com
<source src='fii-absolvent.mp4'
  type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />




                                                         Dr. Sabin Buragawww.purl.org/net/busaco
<source src='fii-absolvent.mkv'
  type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
  type='audio/ogg; codecs=flac' />

      precizarea codec-urilor
         necesare redării

                   codec-uri uzuale:
          OGG (Theora – disponibil open-source)
                 www.xiph.org/ogg/
<source src='fii-absolvent.mp4'
  type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />




                                                         Dr. Sabin Buragawww.purl.org/net/busaco
<source src='fii-absolvent.mkv'
  type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
  type='audio/ogg; codecs=flac' />

      precizarea codec-urilor
         necesare redării

                   codec-uri uzuale:
             WebM (VP8 – o inițiativă Google)
                www.webmproject.org
Dr. Sabin Buragawww.purl.org/net/busaco
                       Embedded content

  elementul track permite specificarea de piste (track-uri)
   ce pot include subtitrări, descrieri, capitole, meta-date

<video src="…">
  <track kind="subtitles" src="..." srclang="en" label="English" />
  <track kind="captions" src="..." srclang="en"
         label="English for the Hard of Hearing" />
  <track kind="subtitles" src="..." srclang="ro" label="Românește" />
</video>
Dr. Sabin Buragawww.purl.org/net/busaco
       Embedded content

               canvas

suport pentru grafica raster (bitmap)
  generată dinamic via JavaScript
Dr. Sabin Buragawww.purl.org/net/busaco
                 Embedded content

                         canvas

         suport pentru grafica raster (bitmap)
           generată dinamic via JavaScript

funcționalitățile privind redarea graficii sunt oferite de
      interfața de programare HTMLCanvasElement
Dr. Sabin Buragawww.purl.org/net/busaco
       Interfața HTMLCanvasElement

specificație W3C: candidate recommendation
              (decembrie 2012)


            context de redare:
conținut grafic 2D transparent de tip raster

      www.w3.org/TR/2dcontext/
<!DOCTYPE html>
<html>                                         generarea
<head>                                  unei corole de minuni
  <title>Corola de minuni</title>




                                                                Dr. Sabin Buragawww.purl.org/net/busaco
</head>
<script type="text/javascript" src="discuri.js"></script>
<body onclick="javascript:deseneazaDiscuri()">
  <h1>Un click…</h1>
  <canvas id="canvas"
     height="500"
     width="375">
  </canvas>
</body>
</html>
function deseneazaDiscuri() {
 // preluăm contextul de redare 2D




                                                                  Dr. Sabin Buragawww.purl.org/net/busaco
 var context =
    document.getElementById ('canvas').getContext ('2d');

 // stabilim parametrii corpului de literă
 context.font = "20pt sans-serif";
 context.fillText ("o minune", 5, 30);

 // translăm...
 context.translate (75, 75);



                                    programul JavaScript
                               (discuri.js) generând conținutul
for (var i = 1; i < 5; i++) { // vom genera 'inele' de discuri
  // salvăm contextul de redare
   context.save ();
   // stabilim via CSS3 culoarea de umplere a discului curent




                                                                           Dr. Sabin Buragawww.purl.org/net/busaco
   // și ajustăm aleatoriu transparența (alpha)
  context.fillStyle = 'rgba(33,' + (51 * i) + ',' + (255 - 51 * i) + ','
                         + Math.random() + ')';
    for (var j = 0; j < i * 6; j++) { // desenăm discuri
      context.rotate (Math.PI * 2 / (i * 6));
      context.beginPath ();
      context.arc (0, i * 12.5, 5, 0, Math.PI * 2, true);
      context.fill ();
    }
    // restaurăm contextul de redare
    context.restore ();
  }                                         programul JavaScript
}                                     (discuri.js) generând conținutul
Dr. Sabin Buragawww.purl.org/net/busaco
un posibil rezultat al execuției codului
Dr. Sabin Buragawww.purl.org/net/busaco
generarea dinamică a unui “mărțișor” Web
exemple, tutoriale & resurse:
                                      www.html5canvastutorials.com
                                         www.canvasdemos.com




Sabin Buraga < busaco@infoiasi.ro >
Dr. Sabin Buragawww.purl.org/net/busaco
redarea în canvas a unui grafic cu biblioteca Flotr2
inspectarea documentului HTML5
Sabin Buraga < busaco@infoiasi.ro >        în Firefox
Dr. Sabin Buragawww.purl.org/net/busaco
     Alternativă de redare:

conținut grafic 3D pe baza WebGL




      http://get.webgl.org/
Dr. Sabin Buragawww.purl.org/net/busaco
instrumente pentru dezvoltatori: CopperLicht, CubicVR,
    PhiloGL, SceneJS, TDL (ThreeD Library), Three.js
Dr. Sabin Buragawww.purl.org/net/busaco
              Formulare HTML5

formularele Web pot include noi tipuri de câmpuri

                      search
                   tel url email
                  datetime date
                     number
                       range
<label>Adrese suplimentare:               exemplificări
   <input type="email" multiple
          list="adrese" name="cc" />
</label>




                                                          Dr. Sabin Buragawww.purl.org/net/busaco
…
<datalist id="adrese">
   <option value="tux@pinguin.info" />
   <option value="tuxy.pinguinescu@info.uaic.ro" />
   <option value="tp@alt.undeva.org" />
   …
</datalist>

<input type="date" max="2000-12-31"
   name="zi-nastere" />
<input type="range" min="1" max="7" step="2"
   name="premii" />
Dr. Sabin Buragawww.purl.org/net/busaco
       Microdata HTML 5


 specificație W3C în stadiu de ciornă
   (Ian Hickson, octombrie 2012)


http://www.w3.org/TR/microdata/
Dr. Sabin Buragawww.purl.org/net/busaco
             Microdata HTML 5


posibilitatea de a specifica perechi de proprietăți
     (nume, valoare) “scufundate” în HTML
         menite a fi “înțelese” de software
           (e.g., motoarele de căutare)
Dr. Sabin Buragawww.purl.org/net/busaco
               Microdata HTML 5


grupurile de perechi de proprietăți nume—valoare
               sunt denumite items

           creare via atributul itemscope
specificarea unei proprietăți prin atributul itemprop
       referire cu ajutorul atributului itemref
Dr. Sabin Buragawww.purl.org/net/busaco
                Microdata HTML 5


 grupurile de perechi de proprietăți nume—valoare
                sunt denumite items

asocierea unui tip de date se face cu atributul itemtype

  pentru identificarea unui item se folosește itemid
Dr. Sabin Buragawww.purl.org/net/busaco
                     schema.org

         colecție de vocabulare (scheme de date)
– e.g., Book, Event, LocalBusiness, Movie, Offer, Person,
   Place, Recipe, Review, TVSeries,… – recunoscute și
 indexate de roboții principalelor motoare de căutare


             Bing, Google, Yahoo!, Yandex
Dr. Sabin Buragawww.purl.org/net/busaco
<body itemscope itemtype="http://schema.org/WebPage">
  <header>
     <h1 itemprop="name">
        <a href="index.html" title="…">Dezvoltarea aplicațiilor Web
                                        la nivel de client</a>




                                                                              Dr. Sabin Buragawww.purl.org/net/busaco
     </h1>
     <p class="slogan" itemprop="description">prezentările aferente cursului</p>
  </header>
  <article>
     <!-- conținut propriu-zis -->
  </article>                          specificarea faptului că Sabin Buraga
  <footer>                                          este o persoană
     <h6>
         <span itemscope itemtype="http://schema.org/Person">
             <a href="http://www.purl.org/net/busaco" title="…"
                itemprop="url" accesskey="S">
                <span itemprop="name">Sabin Buraga</span>
             </a>
         </span>
     </h6>
  </footer>                             recurgerea la elemente structurale și
</body>                                           scheme de microdate HTML5
Dr. Sabin Buragawww.purl.org/net/busaco
    extragerea/verificarea de date structurate
          via Structured Data Testing Tool
http://www.google.com/webmasters/tools/richsnippets
Dr. Sabin Buragawww.purl.org/net/busaco
cunoștințele incluse în paginile Web via microdate HTML5
       pot fi folosite la recomandarea altor resurse
Până la urmă, ce înseamnă HTML5?




Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco
“HTML5 should not be considered as a whole.
   You should cherry-pick the technology
  that suits the solution to your problem.”
                 Remy Sharp
Dr. Sabin Buragawww.purl.org/net/busaco
                     HTML5

                 semantic markup

noi marcaje precum <header> <nav> <section> <aside>…
     noi tipuri de interacțiune via formulare Web
            expresii matematice – MathML
                       microdate
                    conținut editabil
Dr. Sabin Buragawww.purl.org/net/busaco
                         HTML5

      prezentarea conținutului via foi de stiluri CSS

facilități aduse de CSS3: tranziții, transformări, coloane,…
                         media queries
           utilizarea fonturilor externe – Web fonts
Dr. Sabin Buragawww.purl.org/net/busaco
          HTML5

      grafica 2D & 3D

  <canvas> în contextul 2D
   <canvas> 3D (WebGL)
conținut grafic scalabil – SVG
Dr. Sabin Buragawww.purl.org/net/busaco
            HTML5

           multimedia

       <audio> (MP3, OGG)
   <video> (H.264, OGG, WebM)
 API-uri de procesare a sunetului
comunicații în timp-real – WebRTC
Dr. Sabin Buragawww.purl.org/net/busaco
               HTML5

             device access

              drag & drop
               orientation
              geolocation
         acces la camera Web
                notificări
  acces la fișierele gazdei – File API
HTML5 în contextul TV & industriei auto
Dr. Sabin Buragawww.purl.org/net/busaco
                   HTML5

               offline & storage

Web Storage (localStorage & Session Storage)
baze de date la nivel de client – e.g., indexedDB
                    caching
Dr. Sabin Buragawww.purl.org/net/busaco
                        HTML5

                connectivity & real-time

          mesaje vehiculate între documente
 transferuri asincrone via XMLHttpRequest – nivelul 2
                      WebSocket
evenimente recepționate de la server (server-side events)
Dr. Sabin Buragawww.purl.org/net/busaco
            HTML5

     asigurarea performanței

          Web Workers
managementul istoricului navigării
     RequestAnimationFrame
 înglobarea datelor direct în URI
Dr. Sabin Buragawww.purl.org/net/busaco
arhitectura clientului Web actual (Jeff Jaffe, 2012)
Web-ul mobil




                                                       Dr. Sabin Buragawww.purl.org/net/busaco
suportul oferit de navigatoarele platformelor mobile
         conform http://mobilehtml5.org/
De unde aflu mai multe?




Dr. Sabin Buragawww.purl.org/net/busaco
http://diveintohtml5.org/




Sabin Buraga < busaco@infoiasi.ro >
developer.mozilla.org
Sabin Buraga < busaco@infoiasi.ro >
www.html5rocks.com




Sabin Buraga < busaco@infoiasi.ro >
http://html5demos.com/




Sabin Buraga < busaco@infoiasi.ro >
http://html5boilerplate.com/




Sabin Buraga < busaco@infoiasi.ro >
http://jster.net/




Sabin Buraga < busaco@infoiasi.ro >
http://html5please.com/
Sabin Buraga < busaco@infoiasi.ro >
http://html5weekly.com/
Sabin Buraga < busaco@infoiasi.ro >
suita de tehnologii HTML5
     spor la lucru & succes




                               Dr. Sabin Buragawww.purl.org/net/busaco
      Dr. Sabin Buraga
     www.purl.org/net/busaco

Más contenido relacionado

La actualidad más candente

La actualidad más candente (16)

HTML Dasar : #9 Tabel
HTML Dasar : #9 TabelHTML Dasar : #9 Tabel
HTML Dasar : #9 Tabel
 
Html 5 Features And Benefits
Html 5 Features And Benefits  Html 5 Features And Benefits
Html 5 Features And Benefits
 
Html & CSS
Html & CSSHtml & CSS
Html & CSS
 
Javascript by geetanjali
Javascript by geetanjaliJavascript by geetanjali
Javascript by geetanjali
 
Html 5 -_aula_2
Html 5 -_aula_2Html 5 -_aula_2
Html 5 -_aula_2
 
CSS Dasar #3 : Penempatan CSS
CSS Dasar #3 : Penempatan CSSCSS Dasar #3 : Penempatan CSS
CSS Dasar #3 : Penempatan CSS
 
HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)
 
Html tables
Html tablesHtml tables
Html tables
 
Web design content
Web design contentWeb design content
Web design content
 
Wordpress
WordpressWordpress
Wordpress
 
Html 5
Html 5Html 5
Html 5
 
Learning Html
Learning HtmlLearning Html
Learning Html
 
Html Class X
Html Class XHtml Class X
Html Class X
 
HTML Dasar : #4 Paragraf
HTML Dasar : #4 ParagrafHTML Dasar : #4 Paragraf
HTML Dasar : #4 Paragraf
 
Links in Html
Links in HtmlLinks in Html
Links in Html
 
Anchor tag HTML Presentation
Anchor tag HTML PresentationAnchor tag HTML Presentation
Anchor tag HTML Presentation
 

Destacado

Destacado (7)

Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurse...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurse...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurse...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurse...
 
HTML5? HTML5!
HTML5? HTML5!HTML5? HTML5!
HTML5? HTML5!
 
Design (Web) responsiv
Design (Web) responsivDesign (Web) responsiv
Design (Web) responsiv
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minute
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
 

Similar a Suita de tehnologii HTML5

Similar a Suita de tehnologii HTML5 (20)

Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
 
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
 
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
 
CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5
CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5
CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
 
Aplicații Firefox OS cu HTML5
Aplicații Firefox OS cu HTML5Aplicații Firefox OS cu HTML5
Aplicații Firefox OS cu HTML5
 
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
 
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
 
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptCLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
 

Más de Sabin Buraga

Más de Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
 

Suita de tehnologii HTML5

  • 1. suita de tehnologii HTML5 o privire de ansamblu Dr. Sabin Buragawww.purl.org/net/busaco Dr. Sabin Buraga www.purl.org/net/busaco
  • 2. Ce reprezintă HTML5? Dr. Sabin Buragawww.purl.org/net/busaco
  • 3. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 un vocabular (set de elemente + atribute) folosit pentru marcarea paginilor Web + o suită de API-uri facilitând procesarea documentelor
  • 4. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 un vocabular (set de elemente + atribute) folosit pentru marcarea paginilor Web + o suită de API-uri facilitând procesarea documentelor
  • 5. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 permite dezvoltarea standardizată de aplicații Web pe baza unor interfețe de programare (API-uri)
  • 6. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 recurge la tehnologii înrudite referitoare la prezentare via foi de stiluri în cascadă: CSS – nivelul 3 model conceptual: DOM (Document Object Model) procesare la nivel de navigator Web: JavaScript …și altele
  • 7. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 în curs de standardizare la Consortiul Web statut candidate recommendation (decembrie 2012) http://www.w3.org/TR/html5/
  • 8. Dr. Sabin Buragawww.purl.org/net/busaco diverse specificații HTML5 în lucru: http://dev.w3.org/html5/
  • 9. Ce aduce nou HTML5? Dr. Sabin Buragawww.purl.org/net/busaco
  • 10. Dr. Sabin Buragawww.purl.org/net/busaco Relaxarea corectitudinii la nivel de sintaxă HTML și/sau XHTML
  • 11. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 specificarea tipului de document se poate realiza în mod simplificat: <!DOCTYPE html>
  • 12. Dr. Sabin Buragawww.purl.org/net/busaco Modelul de reprezentare internă este bazat pe DOM DOM HTML5
  • 13. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 lista elementelor (marcajelor) poate fi consultată la http://dev.w3.org/html5/markup/spec.html a se vizita si HTML5 Doctor http://html5doctor.com/
  • 14. Dr. Sabin Buragawww.purl.org/net/busaco Antetul documentului poate include meta-date diverse construcții privind maniera de prezentare/comportamentul conținutului sau relația documentului curent cu alte resurse Web
  • 15. Dr. Sabin Buragawww.purl.org/net/busaco Antetul documentului poate include meta-date diverse construcții privind maniera de prezentare/comportamentul conținutului sau relația documentului curent cu alte resurse Web title, base, link, meta, style, script, noscript
  • 16. Dr. Sabin Buragawww.purl.org/net/busaco Noi elemente de structurare (secțiuni) în stilul POSH – Plain Old Semantic HTML article, nav, aside, section, header, footer, hgroup
  • 17. <article> un articol disponibil pe un blog <header> <h1>Titlul articolului</h1> <p><time pubdate datetime="2013-01-07T07:33"></time></p> Dr. Sabin Buragawww.purl.org/net/busaco </header> <p>Conținutul propriu-zis al articolului…</p> <aside>Alte resurse de interes</aside> <section> <h1>Comentarii</h1> <article> <!-- comentariile sunt considerate aici note de subsol --> <footer> <p>Autor: Tuxy Pinguinescu</p> <p><time pubdate datetime="2013-01-10T01:07-03:03"></time></p> </footer> <p>Un comentariu</p> </article> </section> </article>
  • 18. specificarea unor figuri <figure> Dr. Sabin Buragawww.purl.org/net/busaco <img src="imagine.png" alt="Descriere alternativă" /> <figcaption>O explicație…</figcaption> </figure> <figure> <!-- conținutul nu trebuie neapărat să fie o imagine --> <video src="http://ferma.info/video/pinguini.mov"></video> <figcaption> Relatare despre <cite>pinguinii FII</cite>. </figcaption> </figure> gruparea conținutului
  • 19. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content “scufundarea” altor tipuri de conținuturi într-un document HTML conținut grafic – raster și/sau vectorial conținut sonor conținut video
  • 20. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content svg conținut grafic vectorial specificat prin SVG (Scalable Vector Graphics) un limbaj descriptiv bazat pe XML http://www.w3.org/Graphics/SVG/
  • 21. studiu de caz: grafică vectorială SVG <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="8cm" height="3cm"> <title>Conținut grafic SVG</title> Dr. Sabin Buragawww.purl.org/net/busaco <defs> <linearGradient id="unGradient"> <!-- definim un degrade liniar --> <stop offset="20%" stop-color="#3FF" /> <stop offset="90%" stop-color="#F3F" /> </linearGradient> <rect id="patrat" width="15px" height="15px" fill="navy" /> <path id="cale" d="M15 50 C10 0 90 0 90 40" /> <!-- o cale de redare --> </defs> <!-- o formă rectangulară umplută cu degrade-ul de mai sus --> <rect x="1cm" y="1cm" width="6cm" height="1cm" fill="url(#unGradient)" /> <!-- folosim instanțe ale pătratului definit --> <use x="40" y="40" xlink:href="#patrat" /> <use x="100" y="80" xlink:href="#patrat" /> <use x="160" y="80" xlink:href="#patrat" /> <use x="220" y="80" xlink:href="#patrat" /> <!-- un text redat conform căii specificate --> <text fill="#000"><textPath xlink:href="#cale">Salut, lume!</textPath></text> </svg> C. Bulancea & S. Buraga, 2004
  • 22. studiu de caz: grafică vectorială SVG Dr. Sabin Buragawww.purl.org/net/busaco
  • 23. Dr. Sabin Buragawww.purl.org/net/busaco un experiment de editare on-line cu instrumentul JS Bin includerea construcțiilor SVG direct în documentul HTML5
  • 24. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content svg specificația curentă: SVG 1.1 2nd Edition în contextul dispozitivelor mobile: SVG Tiny suport în cadrul navigatoarelor moderne Opera, Firefox, Safari (inclusiv pentru iOS), Chrome, IE9+ instrumente: Apache Batik, Inkscape, Raphaël.js,…
  • 25. caniuse.com Dr. Sabin Buragawww.purl.org/net/busaco
  • 26. Dr. Sabin Buragawww.purl.org/net/busaco animații SVG realizate dinamic via biblioteca Raphaël
  • 27. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content math expresii matematice exprimate via limbajul MathML un limbaj declarativ bazat pe XML http://www.w3.org/Math/
  • 28. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content math specificația curentă: MathML 3.0 (2010) suport nativ în Firefox și Chrome o listă a instrumentelor software la http://www.w3.org/Math/Software/
  • 29. Dr. Sabin Buragawww.purl.org/net/busaco exemplu demonstrativ oferit de Mozilla https://developer.mozilla.org/docs/Mozilla_MathML_Project
  • 30. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content alături de elementele img, iframe, embed și object, sunt permise audio, video, source ce pot fi utilizate la includerea de conținut multimedia
  • 31. <video id="film" src="/media/tux.ogg" controls autoplay> Nu există suport pentru elementul video… :-( Dr. Sabin Buragawww.purl.org/net/busaco </video> … <script type="text/javascript"> // preluăm conținutul video var video = document.getElementById('film'); </script> <p> <input type="button" value="Oprește" onclick="video.pause ();" /> <input type="button" value="Rulează" onclick="video.play ();" /> </p>
  • 32. <source src='fii-absolvent.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' /> Dr. Sabin Buragawww.purl.org/net/busaco <source src='fii-absolvent.mkv' type='video/x-matroska; codecs="theora, vorbis"' /> <source src='discursul-lui-tux.oga' type='audio/ogg; codecs=flac' /> precizarea codec-urilor necesare redării
  • 33. <source src='fii-absolvent.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' /> Dr. Sabin Buragawww.purl.org/net/busaco <source src='fii-absolvent.mkv' type='video/x-matroska; codecs="theora, vorbis"' /> <source src='discursul-lui-tux.oga' type='audio/ogg; codecs=flac' /> precizarea codec-urilor necesare redării codec-uri uzuale: H.264 (MP4 – comercial, susținut de Apple & Microsoft) www.h264info.com
  • 34. <source src='fii-absolvent.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' /> Dr. Sabin Buragawww.purl.org/net/busaco <source src='fii-absolvent.mkv' type='video/x-matroska; codecs="theora, vorbis"' /> <source src='discursul-lui-tux.oga' type='audio/ogg; codecs=flac' /> precizarea codec-urilor necesare redării codec-uri uzuale: OGG (Theora – disponibil open-source) www.xiph.org/ogg/
  • 35. <source src='fii-absolvent.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' /> Dr. Sabin Buragawww.purl.org/net/busaco <source src='fii-absolvent.mkv' type='video/x-matroska; codecs="theora, vorbis"' /> <source src='discursul-lui-tux.oga' type='audio/ogg; codecs=flac' /> precizarea codec-urilor necesare redării codec-uri uzuale: WebM (VP8 – o inițiativă Google) www.webmproject.org
  • 36. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content elementul track permite specificarea de piste (track-uri) ce pot include subtitrări, descrieri, capitole, meta-date <video src="…"> <track kind="subtitles" src="..." srclang="en" label="English" /> <track kind="captions" src="..." srclang="en" label="English for the Hard of Hearing" /> <track kind="subtitles" src="..." srclang="ro" label="Românește" /> </video>
  • 37. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content canvas suport pentru grafica raster (bitmap) generată dinamic via JavaScript
  • 38. Dr. Sabin Buragawww.purl.org/net/busaco Embedded content canvas suport pentru grafica raster (bitmap) generată dinamic via JavaScript funcționalitățile privind redarea graficii sunt oferite de interfața de programare HTMLCanvasElement
  • 39. Dr. Sabin Buragawww.purl.org/net/busaco Interfața HTMLCanvasElement specificație W3C: candidate recommendation (decembrie 2012) context de redare: conținut grafic 2D transparent de tip raster www.w3.org/TR/2dcontext/
  • 40. <!DOCTYPE html> <html> generarea <head> unei corole de minuni <title>Corola de minuni</title> Dr. Sabin Buragawww.purl.org/net/busaco </head> <script type="text/javascript" src="discuri.js"></script> <body onclick="javascript:deseneazaDiscuri()"> <h1>Un click…</h1> <canvas id="canvas" height="500" width="375"> </canvas> </body> </html>
  • 41. function deseneazaDiscuri() { // preluăm contextul de redare 2D Dr. Sabin Buragawww.purl.org/net/busaco var context = document.getElementById ('canvas').getContext ('2d'); // stabilim parametrii corpului de literă context.font = "20pt sans-serif"; context.fillText ("o minune", 5, 30); // translăm... context.translate (75, 75); programul JavaScript (discuri.js) generând conținutul
  • 42. for (var i = 1; i < 5; i++) { // vom genera 'inele' de discuri // salvăm contextul de redare context.save (); // stabilim via CSS3 culoarea de umplere a discului curent Dr. Sabin Buragawww.purl.org/net/busaco // și ajustăm aleatoriu transparența (alpha) context.fillStyle = 'rgba(33,' + (51 * i) + ',' + (255 - 51 * i) + ',' + Math.random() + ')'; for (var j = 0; j < i * 6; j++) { // desenăm discuri context.rotate (Math.PI * 2 / (i * 6)); context.beginPath (); context.arc (0, i * 12.5, 5, 0, Math.PI * 2, true); context.fill (); } // restaurăm contextul de redare context.restore (); } programul JavaScript } (discuri.js) generând conținutul
  • 43. Dr. Sabin Buragawww.purl.org/net/busaco un posibil rezultat al execuției codului
  • 44. Dr. Sabin Buragawww.purl.org/net/busaco generarea dinamică a unui “mărțișor” Web
  • 45. exemple, tutoriale & resurse: www.html5canvastutorials.com www.canvasdemos.com Sabin Buraga < busaco@infoiasi.ro >
  • 46. Dr. Sabin Buragawww.purl.org/net/busaco redarea în canvas a unui grafic cu biblioteca Flotr2
  • 47. inspectarea documentului HTML5 Sabin Buraga < busaco@infoiasi.ro > în Firefox
  • 48. Dr. Sabin Buragawww.purl.org/net/busaco Alternativă de redare: conținut grafic 3D pe baza WebGL http://get.webgl.org/
  • 49. Dr. Sabin Buragawww.purl.org/net/busaco instrumente pentru dezvoltatori: CopperLicht, CubicVR, PhiloGL, SceneJS, TDL (ThreeD Library), Three.js
  • 50. Dr. Sabin Buragawww.purl.org/net/busaco Formulare HTML5 formularele Web pot include noi tipuri de câmpuri search tel url email datetime date number range
  • 51. <label>Adrese suplimentare: exemplificări <input type="email" multiple list="adrese" name="cc" /> </label> Dr. Sabin Buragawww.purl.org/net/busaco … <datalist id="adrese"> <option value="tux@pinguin.info" /> <option value="tuxy.pinguinescu@info.uaic.ro" /> <option value="tp@alt.undeva.org" /> … </datalist> <input type="date" max="2000-12-31" name="zi-nastere" /> <input type="range" min="1" max="7" step="2" name="premii" />
  • 52. Dr. Sabin Buragawww.purl.org/net/busaco Microdata HTML 5 specificație W3C în stadiu de ciornă (Ian Hickson, octombrie 2012) http://www.w3.org/TR/microdata/
  • 53. Dr. Sabin Buragawww.purl.org/net/busaco Microdata HTML 5 posibilitatea de a specifica perechi de proprietăți (nume, valoare) “scufundate” în HTML menite a fi “înțelese” de software (e.g., motoarele de căutare)
  • 54. Dr. Sabin Buragawww.purl.org/net/busaco Microdata HTML 5 grupurile de perechi de proprietăți nume—valoare sunt denumite items creare via atributul itemscope specificarea unei proprietăți prin atributul itemprop referire cu ajutorul atributului itemref
  • 55. Dr. Sabin Buragawww.purl.org/net/busaco Microdata HTML 5 grupurile de perechi de proprietăți nume—valoare sunt denumite items asocierea unui tip de date se face cu atributul itemtype pentru identificarea unui item se folosește itemid
  • 56. Dr. Sabin Buragawww.purl.org/net/busaco schema.org colecție de vocabulare (scheme de date) – e.g., Book, Event, LocalBusiness, Movie, Offer, Person, Place, Recipe, Review, TVSeries,… – recunoscute și indexate de roboții principalelor motoare de căutare Bing, Google, Yahoo!, Yandex
  • 58. <body itemscope itemtype="http://schema.org/WebPage"> <header> <h1 itemprop="name"> <a href="index.html" title="…">Dezvoltarea aplicațiilor Web la nivel de client</a> Dr. Sabin Buragawww.purl.org/net/busaco </h1> <p class="slogan" itemprop="description">prezentările aferente cursului</p> </header> <article> <!-- conținut propriu-zis --> </article> specificarea faptului că Sabin Buraga <footer> este o persoană <h6> <span itemscope itemtype="http://schema.org/Person"> <a href="http://www.purl.org/net/busaco" title="…" itemprop="url" accesskey="S"> <span itemprop="name">Sabin Buraga</span> </a> </span> </h6> </footer> recurgerea la elemente structurale și </body> scheme de microdate HTML5
  • 59. Dr. Sabin Buragawww.purl.org/net/busaco extragerea/verificarea de date structurate via Structured Data Testing Tool http://www.google.com/webmasters/tools/richsnippets
  • 60. Dr. Sabin Buragawww.purl.org/net/busaco cunoștințele incluse în paginile Web via microdate HTML5 pot fi folosite la recomandarea altor resurse
  • 61. Până la urmă, ce înseamnă HTML5? Dr. Sabin Buragawww.purl.org/net/busaco
  • 62. Dr. Sabin Buragawww.purl.org/net/busaco “HTML5 should not be considered as a whole. You should cherry-pick the technology that suits the solution to your problem.” Remy Sharp
  • 63. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 semantic markup noi marcaje precum <header> <nav> <section> <aside>… noi tipuri de interacțiune via formulare Web expresii matematice – MathML microdate conținut editabil
  • 64. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 prezentarea conținutului via foi de stiluri CSS facilități aduse de CSS3: tranziții, transformări, coloane,… media queries utilizarea fonturilor externe – Web fonts
  • 65. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 grafica 2D & 3D <canvas> în contextul 2D <canvas> 3D (WebGL) conținut grafic scalabil – SVG
  • 66. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 multimedia <audio> (MP3, OGG) <video> (H.264, OGG, WebM) API-uri de procesare a sunetului comunicații în timp-real – WebRTC
  • 67. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 device access drag & drop orientation geolocation acces la camera Web notificări acces la fișierele gazdei – File API HTML5 în contextul TV & industriei auto
  • 68. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 offline & storage Web Storage (localStorage & Session Storage) baze de date la nivel de client – e.g., indexedDB caching
  • 69. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 connectivity & real-time mesaje vehiculate între documente transferuri asincrone via XMLHttpRequest – nivelul 2 WebSocket evenimente recepționate de la server (server-side events)
  • 70. Dr. Sabin Buragawww.purl.org/net/busaco HTML5 asigurarea performanței Web Workers managementul istoricului navigării RequestAnimationFrame înglobarea datelor direct în URI
  • 71. Dr. Sabin Buragawww.purl.org/net/busaco arhitectura clientului Web actual (Jeff Jaffe, 2012)
  • 72. Web-ul mobil Dr. Sabin Buragawww.purl.org/net/busaco suportul oferit de navigatoarele platformelor mobile conform http://mobilehtml5.org/
  • 73. De unde aflu mai multe? Dr. Sabin Buragawww.purl.org/net/busaco
  • 75. developer.mozilla.org Sabin Buraga < busaco@infoiasi.ro >
  • 76. www.html5rocks.com Sabin Buraga < busaco@infoiasi.ro >
  • 79. http://jster.net/ Sabin Buraga < busaco@infoiasi.ro >
  • 82. suita de tehnologii HTML5 spor la lucru & succes Dr. Sabin Buragawww.purl.org/net/busaco Dr. Sabin Buraga www.purl.org/net/busaco