Curso de HTML5: Estructura Básica

Cambios en la estructura de un HTML5 respecto a HTML4 y XHTML1

A continuación se verán los principales cambios de la estructura básica o el esqueleto de una página HTML5, con comentarios HTML 😉
<!DOCTYPE html>
<!– Lo primero que llamará la atención es el hecho del nuevo doctype simple y efectivo–>
<html lang=“ES-es”>
<!– el idioma definido de manera clara dentro de la etiqueta html–>
    <head>
       <title>Documento HTML</title>
        <!– se acabó el content-type, bienvenido el charset para definir la codificación del fichero –>
       <meta charset=“UTF-8”>
       <meta name=“autor” content=“David Vaquero” />
       <meta name=“copyright” content=“dvaquero.blogspot.com” />
        <!– adios a los type en los scripts y en los estilos 🙂 –>
       <script src=“init.js”></script>
       <script>
       
       </script>
       <link rel=“stylesheet” href=“estilo.css” media=“screen” />
       <style>
        *{
       
        }
    </style>
    </head>
    <body>

       <!– nueva etiqueta heder para identificar la cabecera –>

       <header>
       <img src=“logo.jpg” />
        <!– agrupaciones de H’s –>
       <hgroup>
      <h1>Empresa .com</h1>
      <h2>Somos los mejores en lo que hacemos</h2>
       </hgroup>
        <!– nuevo etiqueta nav para los menús y sistemas de navegación por el sitio y la página –>
      <nav id=“mainmenu”>
      <ul>
      <li><a href=“estructura_base.html”>Estructura base</a></li>
      <li><a href=“fundamentos.html”>Fundamentos</a></li>
      <li><a href=“video.html”>Video</a></li>
      <li><a href=“form.html”>Formulario</a></li>
      <li><a href=“canvas.html”>Canvas</a></li>
      </ul>
      </nav>
       </header>
       
       <div id=“content”>
        <!– el contenido se organizará en artículos y secciones –>
       <article>
      <section id=“titulos”>
      <hgroup>
      <h1 class=“clase”>Titulo</h1>
      <h2>Sub Titulo</h2>
      <h3>Sub sub titulo</h3>
      </hgroup>
      </section>
      <section id=“explicacion”>
      <p id=“iden”>
      Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor (N. del T. persona que se dedica a la imprenta) desconocido usó una galería de textos y los mezcló de tal manera que logró hacer un libro de textos especimen. No sólo sobrevivió 500 años, sino que tambien ingresó como texto de relleno en documentos electrónicos, quedando esencialmente igual al original. Fue popularizado en los 60s con la creación de las hojas “Letraset”, las cuales contenian pasajes de Lorem Ipsum, y más recientemente con software de autoedición, como por ejemplo Aldus PageMaker, el cual incluye versiones de Lorem Ipsum.
      </p>
      <p id=“aviso” class=“clase”>
      Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor (N. del T. persona que se dedica a la imprenta) desconocido usó una galería de textos y los mezcló de tal manera que logró hacer un libro de textos especimen. No sólo sobrevivió 500 años, sino que tambien ingresó como texto de relleno en documentos electrónicos, quedando esencialmente igual al original. Fue popularizado en los 60s con la creación de las hojas “Letraset”, las cuales contenian pasajes de Lorem Ipsum, y más recientemente con software de autoedición, como por ejemplo Aldus PageMaker, el cual incluye versiones de Lorem Ipsum.
      </p>
      </section>
       
       </article>
        <!– aside representará el contenido adosado al contenido principal –>
       <aside>
       <section id=“tablas_relacionadas”>
      <table class=“clase” border=“2”>
      <tr>
      <td>1.1</td>
      <td>1.2</td>
      <td>1.3</td>
      </tr>
      <tr>
      <td>2.1</td>
      <td>2.2</td>
      <td>2.3</td>
      </tr>
      <tr>
      <td>3.1</td>
      <td>3.2</td>
      <td>3.3</td>
      </tr>
      </table>
      </section>
       </aside>
       </div>
       <!– el pie ya tiene su etiqueta –>
       <footer>Copyright by Pepesan 2013</footer>
    </body>
</html>

Curso de HTML5: Introducción

Introducción

HTML5 es la evolución del estándar HTML4 por lo que para poder entender este curso será necesario conocer la base de HTML4. 
Lo primero que debemos saber es que lo que se está definiendo con HTML5 es un nuevo estándar que se intenta dar solución a los actuales usos de HTML incluyendo en la especificación nuevas etiquetas y API’s Javascript que permitan solventar aquellos problemas típicos que nos daban las web HTML4. 
De cara a conocer las novedades de HTML5 veamos un pequeño listado:
  • Nuevas etiquetas: Semántica y estructuración de Contenido
  • Nuevos Campos de formulario
  • Etiquetas de Audio y Video, adios al FLASH para video.
  • Etiqueta Canvas, un lienzo en el que pintar lo que queramos
  • Websockets, comunicación bidireccional entre cliente y servidor sin peticiones XMLHTTPRequest
  • Comunicaciones, nuevas funciones para las peticiones web desde JS y mensajes entre páginas.
  • Aplicaciones Offline, o cómo hacer que la página funcione sin necesidad de tener conexión a internet
  • Almacenamiento Web: datos simples o bases de datos enteras manejadas desde Javascript
  • File: manejo de sistema de ficheros en local, carpetas y archivos.
  • WebWorkers, hilos de ejecución en JS
  • Geolocalización: o cómo consultar las coordenadas del equipo para hacer búsquedas más efectivas
  • Drag And Drop: desde el DOM básico, nuevos eventos para arrastrar y soltar elementos dentro del documento.
  • History: manejo del histórico de URL’s que se han visitado en la página
Todas esta novedades sobre el estándar están en algunos casos en plena definición y en otros ya completamente definidos.

Soporte por parte de los navegadores

Es importante conocer el soporte de estas funcionalidades por parte de los navegadores en sus distintas versiones. Para ellos disponemos de herramientas que nos van a permitir conocer de antemano o en tiempo de ejecución si el navegador soporta o no una funcionalidad en concreto.

Caniuse

Caniuse es una página en la que podemos consultar todas y cada una de las nuevas funcionalidades y nos indicará en que navegadores y versiones de cada navegador nos va a permitir realizar un uso total o parcial de una determinada funcionalidad.
En la caja de búsqueda indicaremos el nombre de la etiqueta el atributo o incluso el api y nos mostrará una tabla de soporte, muy útil para el análisis de requisitos al empezar o presupuestar un proyecto. 

Modernizr

Es una biblioteca JS que nos va a permitir realizar la consulta al propio navegador para saber si soporta una determinada funcionalidad de HTML5 o CSS3. de esta manera podemos disponer de un plan B por si el navegador no soporta una determinada funcionalidad. 
Página web de Modernizr: http://modernizr.com

Conclusiones

Con estos conocimientos de base podremos hacernos una idea sobre lo que puede y no puede hacer un navegador con soporte de HTML5 

Curso de Javascript: Debug con Eclipse y Firefox

Una de las principales tareas del programador es realizar la depuración de un programa que está fallando e inicialmente se desconoce porqué.
En la presente unidad se expone una guía de instalación y configuración de las herramientas sobre eclipse y firefox que permiten realizar el debut.

Instalación de componentes

Componentes de Firefox

Componentes de Eclipse

Configuraciones

Configuración en Firefox

  • Abrir Firebug (F12)
  • Habilitar cada pestaña de Firebug
  • Arrancar el Servidor de Crossfire: Botón derecho en el botón de CrossFire (abajo a la derecha), Star Server.
  • En el diálogo: host: localhost, port: 5000
  • Pulsar Ok
  • Comprobar en la pestaña de Firebug/Remote que el servidor está arrancado.

Configuración en Eclipse

  • Menú: Window->Preferences
  • En el apartado: Run/Debug->Launching
  • Desmarcar: Build (if required) before launching
  • Pulsar Ok
  • Menú: Project
  • Desmarcar: Build Automatically

Lanzando del proyecto

  • En eclipse:
  • Abrir los ficheros del proyecto a depurar.
  • Abrir la Perspectiva de Debug: Window->Open Perspective-> Debug
  • En la barra de Iconos de acceso directo, Abrir el desplegable al lado del botón de Debug
  • Seleccionar Debug Configurations…
  • Selecionar el apartado Remote Javascript
  • Pulsar en el botón nuevo (Hoja en blanco, arriba a la izquireda)
  • Cambiar el nombre a: CrossFire
  • En el Connector: Seleccionar Remote Attach
  • Host: localhost
  • Port: 5000
  • Seleccionar todas las checkbox menos la última
  • En la pestaña Source, Añadir el proyecto: botón Add
  • Selecionar Proyecto
  • Pulsar en Ok
  • Seleccionar el proyecto a depurar
  • Pulsar Ok
  • Pulsar en Apply (abajo al a derecha)
  • Pulsar en Close
  • En Firefox:
  • Abrir el fichero html que se quiere depurar a través de la barra de navegación o el menú Archivo->Abrir Archivo
  • En el Firebug/Script
  • Añadir los Breakpoints que se quiera en el código JS, mediante dobleclick en las líneas que se desee
  • En eclipse:
  • Pulsar en el boton Debug
  • Aparecerán los procesos de debug
  • Recargar el HTML en Firefox
Tanto en el Eclipse como en Firebug aparecerá el código en la primera línea que tenga un BreakPoint.
Entonces ya podremos ver la ejecución del código paso a paso. 

Finalizando

Una vez finalizada la depuración podremos Terminar la ejecución, pulsando botón derecho sobre el proceso de Crossfire de la pestaña de debug-> Terminate
Y podemos sobre el mismo proceso eliminarlo pulsado botón derecho sobre él->Remove all terminated

Repitiendo la depuración

Una vez configurado todo simplemente pulsando en el desplegable al lado del botón de Debug, podremos seleccionar la opción Crossfire que configuramos en Debug Configurations.

Curso de Javascript: buenas prácticas

A la hora de realizar una serie de recomendaciones, os intento explicar lo que en la práctica mejor nos ha venido a lo largo del tiempo, o bien indicaciones que suelen incluir tanto los clientes de las soluciones desarrolladas, como por especificaciones a la hora de desarrollar los proyectos JS.

  • Documenta! en JS es muy importante documentar, como hemos visto la mayor parte de los objetos desconocemos su tipo, sobre todo en funciones o métodos que definimos para nuestras aplicaciones. Utiliza los comentarios sabiamente, para que así no te vuelvas loco cuando tengas que volver a tocar ese código o bien un compañero tenga que retocar lo que tú has hecho, cuesta al principio pero a la larga compensa y mucho.
  • Indenta el código: coloca siempre los espacios o las tabulaciones en el código que con sólo leerlo ya se sepa que parte va dentro de qué.
  • Utiliza las llaves siempre, es un poco lío al principio, pero ayuda a que la lectura del código e introducción de nuevo código sea más sencilla y comprensible. 
  • Utiliza JSON siempre que puedas, la definición de los objetos en JSON a la vez de cómoda es muy visible, una vez que te acostumbras, sale sólo.
  • Utiliza el onload y el DOMCotentLoaded siempre que puedas. Por internet encontrarás que la gestión de eventos puede realizarse de muchas maneras, incluyendo un atributo en el html con el callback de la función, etc… pero siempre intenta condicionar el código a que el contenido estañe cargado, te evitarás muchísimos fallos al intentar ejecutar un código JS sobre una etiqueta que el navegador no ha leído todavía. 
  • No asumas que siempre tenemos JS activado. En muchos entornos de despliegue por temas de seguridad, Js está desactivado. Esta técnica se denomina Javascript no intrusivo. Piensa todo tu código como que JS es opcional, una ayuda para el usuario en vez de algo imprescindible para que tu aplicación funcione. 
  • Disfruta! Esto no es tanto a las técnicas como a la actitud al a hora de programar pero disfrutar de lo que estás haciendo es muy importante.
Esto es to Esto es to Esto es todo amigos!

Suscríbete al Boletín

Si quieres estar al tanto de las novedades del blog, ya sabes :)
* = campo obligatorio

powered by MailChimp!

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies