SlideShare una empresa de Scribd logo
1 de 29
Gonzalo
Aplicaciones en HTML 5:   Pérez
   Los pilares de una     @chalalo
                          Miguel Saez
      Nueva Web           @masaez
2
PAGE 3
http://theinsong.com/wayoutwars
¿Qué es “HTML5”?
 HTML5 es el futuro de la Web


 HTML5 no es (únicamente) un mensaje de Mercadotecnia


 HTML5 no está completo, todavía.


 HTML5 es muy grande: probarlo no es sencillo


 HTML5 necesita hacerse de la manera correcta
Mapa de “HTML5”
Equipo de Trabajo en W3C HTML

              •
              •
              •
              •
              •
Last Update: 13th June 2011




                                                Geolocation
                                                  ECMA
HTML   CSS   Web Apps                   SVG
HTML5 en IE9                                              http://bit.ly/IE9Guide

      HTML5                  CSS3                    SVG                   Others
• New Markup       •   2D Transforms          • Shapes              • ECMA Script 5 (all but
  Elements                                                            Strict Mode)
                   •   Border Radius          • Clipping, Masking
                                                                    • Native JSON support
• Canvas           •   Box-Shadow               , and
                                                                      (IE8)
• Audio            •   Fonts (WOFF)             Compositing
                                                                    • Performance API
• Video            •   Media Queries          • Transforms          • Geo-Location
• Local Storage    •   Multiple               • Extensibility       • Data-uri (IE8)
• Cross-Window         Backgrounds            • Gradients           • DOM L2, L3
  Messaging        •   Namespaces             • Interactivity       • Selectors API L2
• Text Selection                              • Linking and Views   • AJAX Navigation (IE8)
                   •   Opacity
  APIs                                        • Painting and        • DOMParser and
                   •   rgba(), hsl(), hsla(                           XMLSerializer
• Parsing SVG in       )                        Colors
                                                                    • ICC v2 and Color
  HTML             •   Selectors (IE8)        • Paths                 Profile
                                              • Text                • ARIA


                                Hardware Acceleration
Microsoft & HTML5




beautyoftheweb.com ietestdrive.com   html5labs.com
Media
Canvas
  Un boque de elementos que permiten a los desarrolladores
   dibujar gráficos 2D utilizando JavaScript.

     Algunos métodos para dibujar son: paths, boxes, circles, text and
      rasterized images


<canvas id="myCanvas" width="200" height="200">
  ¡Tu navegador no soporta Canvas!
</canvas>

<script type="text/javascript">
    var example = document.getElementById("myCanvas");
    var context = example.getContext("2d");
    context.fillStyle = "rgb(255,0,0)";
    context.fillRect(30, 30, 50, 50);
</script>
 13
Scalable Vector Graphics (SVG)
   Crear y dibujar gráficas vectoriales en 2D usando XML

       Las imágenes vectoriales compuestas por formas en vez de pixeles.
       Basado en SVG 1.1 2a edición – especificación completa

   Soporte para:

      DOM tenga acceso completo a los elementos SVG
      Document
        structure, scripting, styling, paths, shapes, colors, transforms, gradients, patter
        ns, masking, clipping, markers, linking and views
 <svg width="400" height="200" xmlns="http://www.w3.org/2000/svg">
     <rect fill="red" x="20" y="20" width="100" height="75" />
     <rect fill="blue" x="50" y="50" width="100" height="75" />
 </svg>



 14
HTML5 <video>
  Soporte para el elemento <video> en HTML5

      Formato Estándar de la Industria MPEG-4/H.264 video
      El Video puede ser compuesto con cualquier otro elemento de la
       página
      Contenidos HTML, imágenes, gráficos SVG
      Aceleración por Hardware, decodificación basada en GPU

<video src="video.mp4" id="videoTag">
  <source src="video.webm" />
  <span>Sad Panda!<br />
  ¡Tu navegador no soporta video HTML!…</span>
  <!– Puedes pegar Flash or Video Silverlight Aquí -->
</video>


15
HTML5 <audio>                                               http://html5beats.com
 Soporte para el elemento HTML5 <audio>
       Estándar de la Industria es MP3 y AAC audio
       Completamente programable via el DOM

 Atributos
         src – especifica la ubicación del archivo fuente
         autoplay – se ejecuta tan pronto termine la carga
         controls – si es necesario utilizar controles de video
         preload – si se necesita ir cargandolo mientras se despliega la carga de página

 <audio src="audio.mp3" id="audioTag" autoplay controls>
   <!-- ¡Tu navegador no soporta audio! -->
   <!–- Puedes pegar audio de Flash o Silverlight aquí -->
 </audio>



 16
Dispositivos
CSS3 Media Queries
  Estilo de páginas selectivas basadas en las propiedades del
   medio de entrega


<link href=“mobile.css" rel="stylesheet"
  media="screen and (max-width:480px)" type=“text/css" />

<link href=“netbook.css" rel="stylesheet"
  media="screen and (min-width:481px) and (max-width:1024px)"
  type="text/css" />

<link href=“laptop.css" rel="stylesheet"
  media="screen and (min-width:1025px)" type="text/css" />

 18
Geo-Localización
 Permite que los sitios Web usen la ubicación para mejorar los
  servicios
       Requiere el consentimiento del usuario
       Navigator.geolocation.getCurrentPosition();

 function getLocation() {
   if (navigator.getlocation != undefined) {
     navigator.getlocation.getCurrentPosition(callBack);
   }
 }

 function callBack(position) {
   var accuracy = position.coords[accuracy];
   var latitude = position.coords[latitude];
   var longitude = position.coords[longitude];
 }
 19
Tecnologías de soporte Offline
•   Local Storage
•   Offline/Online Events
•   File & Blob APIs
•   IndexedDB
•   Sincronización de recursos vía
    XMLHttpRequest (XHR) y WebSockets
Conceptos de Mapeo

Concept                     Relational DB                      IndexedDB (ISAM DB)
Database                    Database                           Database
Tables                      Tables contain columns and         ObjectStore contains
                            rows                               Javascript objects and keys
Query Mechanism             SQL                                Cursor APIs
Joins                       SQL                                Application code
Transaction Types & Locks   Locks databases, tables, or        Lock database on
                            rows on                            VERSION_CHANGE transaction
                            READ_WRITE Transactions            Lock objectStores on
                                                               READ_ONLY and READ_WRITE
                                                               transactions
Transaction Commits         Transaction creation is explicit   Transaction creation is explicit
                            Default is to rollback unless I    Default is to commit unless I
                            call commit                        call abort
Property Lookups            SQL                                Indexes are required to query
                                                               object properties directly
Filters                     SQL                                KeyRange APIs
Acceso y carga de datos con
IndexedDB
 var oRequestDB = window.indexedDB.open(“Library”);
 oRequestDB.onsuccess = function (event) {
     db1 = oRequestDB.result;
     if (db1.version == 1) {
        txn =
 db1.transaction([“Books”],IDBTransaction.READ_ONLY);
        var objStoreReq = txn.objectStore(“Books”);
        var request = objStoreReq.get("Book0");
        request.onsuccess = processGet;
     }
 };
Limitaciones en HTTP
HTTP es un protocolo request-reply




Las aplicaciones hoy usan workarounds para permitir push
Modelos Actuales
Polling Periódico




  El navegador usa XmlHttpRequest para consultar
  periódicamente al servidor
Modelos Actuales
Long Polling




  – El Servidor mantiene la solicitud HTTP hasta que hay
    información para devolver
  – El Client envía una nueva solicitud al terminar la
    anterior
WebSockets
• Tecnología interoperable nueva, bajo
  estandarización
• Socket bidireccional Full Duplex
• API Javascript W3C
• Secure (SSL)
• Alta performance
• Conexiones cross dominio
API bajo nivel ASP.NET
El desarrollador acepta elevar a conexión WebSocket
  HttpContext.Current.AcceptWebSocketRequest(
      Func<AspNetWebSocketContext,Task> myWebSocketApp,
      AspNetWebSocketOptions optionalSetupInfo
  );

Envío y Recepción asicrónica de mensajes
  public async Task MyWebSocketApp(AspNetWebSocketContext context)
  {
      var socket = context.WebSocket;
      …
      var input = await socket.ReceiveAsync(buffer);
      …
      await socket.SendAsync(outputBuffer,…params…);
  }
Recursos para el Desarrollador

•   Noticias: blogs.msdn.com/IE
•   Demostraciones: www.beautyoftheweb.com
•   Ejemplos Técnicos: www.ietestdrive.com
•   HTML5 Labs: www.html5labs.com
Gonzalo Pérez   Miguel Angel Saez
MVP ASP.NET     Microsoft Argentina
@chalalo        @masaez

Más contenido relacionado

Similar a Aplicaciones en HTML 5: Los pilares de una Nueva Web

Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbasPeter Concha
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbasAvanet
 
Html5 - El futuro de la web
Html5 - El futuro de la webHtml5 - El futuro de la web
Html5 - El futuro de la webJoan Fernández
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Accióndrarock
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...Esri
 
Google Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresarialesGoogle Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresarialesTecsisa
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesSergio Borromei
 
Desarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webDesarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webJulio Alfaro
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysqlPeter Concha
 
Nativescript
NativescriptNativescript
NativescriptAutentia
 
Programación web con HTML5
Programación web con HTML5Programación web con HTML5
Programación web con HTML5Jorge del Casar
 
Seminario html5
Seminario html5Seminario html5
Seminario html5UDECI
 

Similar a Aplicaciones en HTML 5: Los pilares de una Nueva Web (20)

HTML5 + Asp.NET
HTML5 + Asp.NETHTML5 + Asp.NET
HTML5 + Asp.NET
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
Tecnologíahtml5
Tecnologíahtml5Tecnologíahtml5
Tecnologíahtml5
 
Html5 - El futuro de la web
Html5 - El futuro de la webHtml5 - El futuro de la web
Html5 - El futuro de la web
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Acción
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
 
Google Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresarialesGoogle Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresariales
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalables
 
Desarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webDesarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías web
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
 
Netbeans Osum
Netbeans OsumNetbeans Osum
Netbeans Osum
 
Nativescript
NativescriptNativescript
Nativescript
 
Programación web con HTML5
Programación web con HTML5Programación web con HTML5
Programación web con HTML5
 
Web2 Quiensomos
Web2 QuiensomosWeb2 Quiensomos
Web2 Quiensomos
 
MEAN ¿otro buzzword?
MEAN ¿otro buzzword?MEAN ¿otro buzzword?
MEAN ¿otro buzzword?
 
Seminario html5
Seminario html5Seminario html5
Seminario html5
 

Más de Gonzalo C.

Aspnetwebapi mongo
Aspnetwebapi mongoAspnetwebapi mongo
Aspnetwebapi mongoGonzalo C.
 
Web matrix y j querymobile
Web matrix y j querymobileWeb matrix y j querymobile
Web matrix y j querymobileGonzalo C.
 
Web matrix session4
Web matrix session4Web matrix session4
Web matrix session4Gonzalo C.
 
Web matrix session 3
Web matrix session 3Web matrix session 3
Web matrix session 3Gonzalo C.
 
Web matrix session2
Web matrix session2Web matrix session2
Web matrix session2Gonzalo C.
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1Gonzalo C.
 
Ppt workshop ie9
Ppt workshop ie9Ppt workshop ie9
Ppt workshop ie9Gonzalo C.
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Gonzalo C.
 
Máxima potencia en el desarrollo de sitios web
Máxima potencia en el desarrollo de sitios webMáxima potencia en el desarrollo de sitios web
Máxima potencia en el desarrollo de sitios webGonzalo C.
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacionGonzalo C.
 
Asp.Net 4.0 Roadmap
Asp.Net 4.0 RoadmapAsp.Net 4.0 Roadmap
Asp.Net 4.0 RoadmapGonzalo C.
 
Aspnet Futures Msdn
Aspnet Futures MsdnAspnet Futures Msdn
Aspnet Futures MsdnGonzalo C.
 

Más de Gonzalo C. (13)

Aspnetwebapi mongo
Aspnetwebapi mongoAspnetwebapi mongo
Aspnetwebapi mongo
 
Asp.net html5
Asp.net html5Asp.net html5
Asp.net html5
 
Web matrix y j querymobile
Web matrix y j querymobileWeb matrix y j querymobile
Web matrix y j querymobile
 
Web matrix session4
Web matrix session4Web matrix session4
Web matrix session4
 
Web matrix session 3
Web matrix session 3Web matrix session 3
Web matrix session 3
 
Web matrix session2
Web matrix session2Web matrix session2
Web matrix session2
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1
 
Ppt workshop ie9
Ppt workshop ie9Ppt workshop ie9
Ppt workshop ie9
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010
 
Máxima potencia en el desarrollo de sitios web
Máxima potencia en el desarrollo de sitios webMáxima potencia en el desarrollo de sitios web
Máxima potencia en el desarrollo de sitios web
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacion
 
Asp.Net 4.0 Roadmap
Asp.Net 4.0 RoadmapAsp.Net 4.0 Roadmap
Asp.Net 4.0 Roadmap
 
Aspnet Futures Msdn
Aspnet Futures MsdnAspnet Futures Msdn
Aspnet Futures Msdn
 

Último

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 

Último (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Aplicaciones en HTML 5: Los pilares de una Nueva Web

  • 1. Gonzalo Aplicaciones en HTML 5: Pérez Los pilares de una @chalalo Miguel Saez Nueva Web @masaez
  • 2. 2
  • 5. ¿Qué es “HTML5”? HTML5 es el futuro de la Web HTML5 no es (únicamente) un mensaje de Mercadotecnia HTML5 no está completo, todavía. HTML5 es muy grande: probarlo no es sencillo HTML5 necesita hacerse de la manera correcta
  • 7. Equipo de Trabajo en W3C HTML • • • • •
  • 8.
  • 9. Last Update: 13th June 2011 Geolocation ECMA HTML CSS Web Apps SVG
  • 10. HTML5 en IE9 http://bit.ly/IE9Guide HTML5 CSS3 SVG Others • New Markup • 2D Transforms • Shapes • ECMA Script 5 (all but Elements Strict Mode) • Border Radius • Clipping, Masking • Native JSON support • Canvas • Box-Shadow , and (IE8) • Audio • Fonts (WOFF) Compositing • Performance API • Video • Media Queries • Transforms • Geo-Location • Local Storage • Multiple • Extensibility • Data-uri (IE8) • Cross-Window Backgrounds • Gradients • DOM L2, L3 Messaging • Namespaces • Interactivity • Selectors API L2 • Text Selection • Linking and Views • AJAX Navigation (IE8) • Opacity APIs • Painting and • DOMParser and • rgba(), hsl(), hsla( XMLSerializer • Parsing SVG in ) Colors • ICC v2 and Color HTML • Selectors (IE8) • Paths Profile • Text • ARIA Hardware Acceleration
  • 11. Microsoft & HTML5 beautyoftheweb.com ietestdrive.com html5labs.com
  • 12. Media
  • 13. Canvas  Un boque de elementos que permiten a los desarrolladores dibujar gráficos 2D utilizando JavaScript.  Algunos métodos para dibujar son: paths, boxes, circles, text and rasterized images <canvas id="myCanvas" width="200" height="200"> ¡Tu navegador no soporta Canvas! </canvas> <script type="text/javascript"> var example = document.getElementById("myCanvas"); var context = example.getContext("2d"); context.fillStyle = "rgb(255,0,0)"; context.fillRect(30, 30, 50, 50); </script> 13
  • 14. Scalable Vector Graphics (SVG)  Crear y dibujar gráficas vectoriales en 2D usando XML  Las imágenes vectoriales compuestas por formas en vez de pixeles.  Basado en SVG 1.1 2a edición – especificación completa  Soporte para:  DOM tenga acceso completo a los elementos SVG  Document structure, scripting, styling, paths, shapes, colors, transforms, gradients, patter ns, masking, clipping, markers, linking and views <svg width="400" height="200" xmlns="http://www.w3.org/2000/svg"> <rect fill="red" x="20" y="20" width="100" height="75" /> <rect fill="blue" x="50" y="50" width="100" height="75" /> </svg> 14
  • 15. HTML5 <video>  Soporte para el elemento <video> en HTML5  Formato Estándar de la Industria MPEG-4/H.264 video  El Video puede ser compuesto con cualquier otro elemento de la página  Contenidos HTML, imágenes, gráficos SVG  Aceleración por Hardware, decodificación basada en GPU <video src="video.mp4" id="videoTag"> <source src="video.webm" /> <span>Sad Panda!<br /> ¡Tu navegador no soporta video HTML!…</span> <!– Puedes pegar Flash or Video Silverlight Aquí --> </video> 15
  • 16. HTML5 <audio> http://html5beats.com  Soporte para el elemento HTML5 <audio>  Estándar de la Industria es MP3 y AAC audio  Completamente programable via el DOM  Atributos  src – especifica la ubicación del archivo fuente  autoplay – se ejecuta tan pronto termine la carga  controls – si es necesario utilizar controles de video  preload – si se necesita ir cargandolo mientras se despliega la carga de página <audio src="audio.mp3" id="audioTag" autoplay controls> <!-- ¡Tu navegador no soporta audio! --> <!–- Puedes pegar audio de Flash o Silverlight aquí --> </audio> 16
  • 18. CSS3 Media Queries  Estilo de páginas selectivas basadas en las propiedades del medio de entrega <link href=“mobile.css" rel="stylesheet" media="screen and (max-width:480px)" type=“text/css" /> <link href=“netbook.css" rel="stylesheet" media="screen and (min-width:481px) and (max-width:1024px)" type="text/css" /> <link href=“laptop.css" rel="stylesheet" media="screen and (min-width:1025px)" type="text/css" /> 18
  • 19. Geo-Localización  Permite que los sitios Web usen la ubicación para mejorar los servicios  Requiere el consentimiento del usuario  Navigator.geolocation.getCurrentPosition(); function getLocation() { if (navigator.getlocation != undefined) { navigator.getlocation.getCurrentPosition(callBack); } } function callBack(position) { var accuracy = position.coords[accuracy]; var latitude = position.coords[latitude]; var longitude = position.coords[longitude]; } 19
  • 20. Tecnologías de soporte Offline • Local Storage • Offline/Online Events • File & Blob APIs • IndexedDB • Sincronización de recursos vía XMLHttpRequest (XHR) y WebSockets
  • 21. Conceptos de Mapeo Concept Relational DB IndexedDB (ISAM DB) Database Database Database Tables Tables contain columns and ObjectStore contains rows Javascript objects and keys Query Mechanism SQL Cursor APIs Joins SQL Application code Transaction Types & Locks Locks databases, tables, or Lock database on rows on VERSION_CHANGE transaction READ_WRITE Transactions Lock objectStores on READ_ONLY and READ_WRITE transactions Transaction Commits Transaction creation is explicit Transaction creation is explicit Default is to rollback unless I Default is to commit unless I call commit call abort Property Lookups SQL Indexes are required to query object properties directly Filters SQL KeyRange APIs
  • 22. Acceso y carga de datos con IndexedDB var oRequestDB = window.indexedDB.open(“Library”); oRequestDB.onsuccess = function (event) { db1 = oRequestDB.result; if (db1.version == 1) { txn = db1.transaction([“Books”],IDBTransaction.READ_ONLY); var objStoreReq = txn.objectStore(“Books”); var request = objStoreReq.get("Book0"); request.onsuccess = processGet; } };
  • 23. Limitaciones en HTTP HTTP es un protocolo request-reply Las aplicaciones hoy usan workarounds para permitir push
  • 24. Modelos Actuales Polling Periódico El navegador usa XmlHttpRequest para consultar periódicamente al servidor
  • 25. Modelos Actuales Long Polling – El Servidor mantiene la solicitud HTTP hasta que hay información para devolver – El Client envía una nueva solicitud al terminar la anterior
  • 26. WebSockets • Tecnología interoperable nueva, bajo estandarización • Socket bidireccional Full Duplex • API Javascript W3C • Secure (SSL) • Alta performance • Conexiones cross dominio
  • 27. API bajo nivel ASP.NET El desarrollador acepta elevar a conexión WebSocket HttpContext.Current.AcceptWebSocketRequest( Func<AspNetWebSocketContext,Task> myWebSocketApp, AspNetWebSocketOptions optionalSetupInfo ); Envío y Recepción asicrónica de mensajes public async Task MyWebSocketApp(AspNetWebSocketContext context) { var socket = context.WebSocket; … var input = await socket.ReceiveAsync(buffer); … await socket.SendAsync(outputBuffer,…params…); }
  • 28. Recursos para el Desarrollador • Noticias: blogs.msdn.com/IE • Demostraciones: www.beautyoftheweb.com • Ejemplos Técnicos: www.ietestdrive.com • HTML5 Labs: www.html5labs.com
  • 29. Gonzalo Pérez Miguel Angel Saez MVP ASP.NET Microsoft Argentina @chalalo @masaez

Notas del editor

  1. It’s always fun to look back at where we started, and I want to take a minute to do that. The Microsoft.com website in early 2000 was a pretty spartan site, there was no interactivity, it certainly wasn’t very pretty, and the markup used, well… [CLICK] Well that’s a whole different story. By todays standards, this is looking pretty scary with table based layout, &lt;font&gt; elements, and all.
  2. And more recently, we’ve seen an up-surge of casual games, like Farmville that rely on browser add-ons to create rich, interactive experiences. But we’ve heard from you, that you want to build web applications based on web standards, and not have to rely on 3rd party add-ons.
  3. Taking the HTML5 Working Group as an example, Paul Cotton (Microsoft Corp) is a co-chair of the group – we’ve been leading this space for many years!In addition to Paul, more than 16 people from Microsoft are working just on this working group – plus many others involved in other WGs.
  4. Building a standard is like planning a building. You go through different steps and it’s important to plan all levels carefully – or you risk to hit issues along the road.
  5. If we look at the broad spectrum, today there are more than 100 specifications that fall under the “HTML5” umbrella. As you can see, all of them follow a different status.Some of them are mature (Recommendation), some are still work in progress (Working Draft) and some just submitted (First Published WD)As we will see later, with Internet Explorer we wanted to provide an interoperable implementation of these standards – with clear expectations and deliverables for the developer community.
  6. Vamos a Demo- Soporte en MVC4 (Elementos Semánticos)- Intellisense- Media Query- Modernizr- Feature vs Browser Detection