miércoles, 18 de enero de 2017

FORMULARIOS

Un formulario web (en inglés web form) permite al usuario introducir datos para que sean enviados a un servidor web para que sean procesados.


Un formulario se compone de dos partes, la parte cliente y la parte servidor.

¿Qué es un formulario en HTML?

Según el W3C (World Wide Web Consortion) es un elemento que contiene:

  • Contenido normal
  • Código
  • Controles
  • Rótulos

Los usuarios normalmente rellenan un formulario cambiando su contenido con sus controles, enviando el formulario a un servidor para que éste lo procese.

¿Para qué se utilizan?

Para permitir que el usuario envíe información al servidor.

Etiquetas básicas para formularios

  • form
    Es fundamental para que el resto de elementos puedan ser enviados, todos los datos que se quieran enviar tienen que estar contenidas en esta etiqueta.
    No tiene representación gráfica.

    Sus atributos:
    • action es el único atributo requerido para la etiqueta form, espera una cadena de texto que especifique la URL o ruta a la acción destino que procese los datos de la petición.
    • method indica la forma de enviar la información. Este atributo acepta dos valores: GET y POST. Si no se utiliza, el formulario se enviará por defecto mediante el método GET.
      • GET es el método que utilizamos normalmente al navegar.
        Al utilizar en un formulario los datos de envío son visibles en la URL como parejas nombre=valor.
        Esta visibilidad está limitada por cada navegador.
        Se usa GET en los casos que el envío sea siempre el mismo y cuando se quiere que el resultado se pueda guardar, como por ejemplo en un formulario de búsqueda.
      • POST es un método un tanto más seguro para el envío de información como contraseñas ya que los datos no son visibles en la URL del navegador.
        No tienen límite de envío.
        Posibilita la subida de ficheros al servidor.
    • accept-charset son una lista de caracteres separados por comas, normalmente se utiliza el UTF-8 y puede que alguna vez en ISO-8859-1 que define los caracteres latinos.
    • enctype especifica el tipo de codificación
      • application/x-www-form-urlencoded (por defecto)
        Convierte todos los espacios sensibles en suma y caracteres especiales en valores ASCII exagesimal.
      • multipar/form-data 
        Se utiliza cuando se van a subir ficheros mediante el formulario
      • text/plain
        Sólo convierte los espacios en blanco en signos de sumar y los caracteres especiales no son convertidos
  • input
    Es de las más utilizadas al momento de hacer formularios.
    No tiene etiqueta de cierre.

    Sus atributos:
    • name
      Recibe una cadena de texto en un campo para luego ser enviado
    • type
      Define en qué se convertirá el control, su uso no es obligatorio pero si recomendable. Por defecto es de tipo text. Estos son algunos tipos:
      • text recibe texto
      • checkbox casilla de verificación
      • radio casilla de opción (radio)
      • file muestra una ventana nueva donde se puede elegir un archivo, también muestra la ruta al archivo dependiendo del navegador
      • password genera un campo de texto enmascarado
      • hidden es un campo oculto para evitar que el usuario ingrese datos de forma activa
      • button botón
      • submit es un botón que enviará la información del formulario a la acción que corresponda
      • image utiliza una imagen con la misma función de tipo submit en la actualidad es poco utilizada
      • reset borra los campos llenados en el formulario
    • disabled
      Deshabilita el campo
    • readonly
      Se puede aplicar a un campo de texto y poder ser copiado
    • value
      Algunos campos necesitarán de este atributo para poder funcionar
Con esta se puede especificar varios controles típicos de formularios como:
  • Texto
  • Casillas de verificación
  • Casillas de opción (radio)
  • Archivos
  • Textos de campo enmascarado
  • Campos ocultos
  • Botones varios

INPUT


TEXTO <input type = "text">
  • maxlength limita la cantidad de caracteres que se van a enviar y así prevenir errores y el valor debe ser un número entero
  • size también espera un número de caracteres, está directamente relacionado con el estilo de la página, no es recomendado su uso.
  • value indica el valor que tiene este campo por defecto, este valor no se borrará cuando se use y el usuario tendrá que borrarlo por él mismo.
    <input type="text" value="Buscar..."/>
CHECKBOX <input type = "checkbox">
  • name todas las casillas de verificación deben tener el mismo nombre para que el servidor de destino sepa que esas casillas pertenecen al mismo campo
    <input type="checkbox" name="temas"/>HTML
    <input type="checkbox" name="temas"/>CSS
  • checked toma como valor el texto check e indica que la casilla aparece marcada por defecto
    <input type="checkbox" checked="checked"/>HTML
    <input type="checkbox"/>CSS
  • value idica al formulario que tipo de valor debe enviar si la casilla está activada, si no se declara el formulario enviará información que el servidor no podrá de procesar.
    <input type="checkbox" value="html"/>HTML
    <input type="checkbox" value="css"/>CSS
CASILLAS DE OPCION <input type = "radio">
  • name todas las casillas de radio deben tener el mismo nombre para que el servidor de destino sepa que esas casillas pertenecen al mismo campo
    <input type="radio" name="tema"/>HTML
    <input type="radio" name="tema"/>CSS
  • checked se mostrará junto con el formulario
    <input type="radio" checked="checked"/>HTML
    <input type="radio"/>CSS
  • value es el valor que se enviará junto con el formulario
    <input type="radio" value="html"/>HTML
    <input type="radio" value="css"/>CSS
TEXTOS DE CAMPO ENMASCARADO <form enctype="multipar/form-data">
Tienen las mismas opciones que un campo de tipo texto.

CAMPOS OCULTOS
Es útil para enviar información que creemos que es útil pero el usuario no insertará de forma directa. Aquí los atributos que se pueden usar son type y value ya que el usuario no los verá.

BOTONES <input type="submit | reset | button | image">
Casi no se ven los que da por defecto cada navegador web ya que no va bien con el diseño de la página u es muy simple.
Para cada tipo de boton se hace un input diferente:
  • Al marcar un <input /> como tipo “submit”, se dibujará un botón con el texto “Enviar” cuya acción será enviar el formulario al destino marcado en el atributo “action” de la etiqueta <form>.
  • Los botones del tipo “reset” suelen tener un texto similar a “Restablecer”. Este botón reinicia el formulario, dejándolo como si el usuario no hubiese modificado nada.
  • También es posible insertar botones con otro tipo de acciones, para ello se establece el atributo type=“button”.Para dotar de acción a estos botones, es necesario trabajar con eventos Javascript; bien intrusivo, mediante atributos como “onclick” o bien no intrusivo, haciendo uso de librerías o scripts no incrustados en HTML.
  • Existe un tipo, raramente utilizado, que consiste en usar una imagen como botón. Si establecemos el atributo type=“image”, podremos ver este resultado.
  • Para este tipo de <input />, se utilizan, del mismo modo que para las imágenes, los atributos alt, para incluir un texto alternativo y src, para especificar la ruta a la imagen.
  • Este tipo de botones está a medio camino entre estructura y diseño, por lo que desaconsejo su uso. Podremos trabajar el estilo del botón mediante CSSEl atributo “value”, empleado en botones, especifica el texto que aparece en el botón; salvo en el caso de los botones de tipo imagen que, obviamente, no muestran texto.


EN RESUMEN

Los formularios se envían mediante dos métodos: GET y POST.

Con GET, el envío está limitado y la información enviada es visible; sin embargo, es útil para poder guardar el resultado en marcadores o favoritos.

y con POST, el envío no tiene limitación y los datos no son visibles en la URL, además, permite la subida de archivos.

Todas las etiquetas de formulario deben ir entre etiquetas <form> y </form> para que su información sea enviada con el formulario.

Para terminar, te dejo cuatro consejos que espero te sean útiles:
  1. Fuera de las etiquetas <form> y </form> es posible utilizar elementos de formulario, serán visibles, pero no se enviará la información. Repasa el código.
  2. Especifica siempre el atributo “type”.
  3. Necesitarás un botón “submit” para enviar el formulario.
  4. En la medida de lo posible, separa contenido de estilos, lo agradecerás cuando tengas que mantener la web.

SELECT

Permite desplegar listas desplegables y listas de selección múltiple. Además del atributo name que es esencial para el envío de formularios select crea listas de selección múltiple.
  • Lista desplegable
    Para definir cada una de las etiquetas de la lista se usa la etiqueta option cuyo valor será el del select cuando se envíe el formulario.
    <option value="valor"> texto </option>

    <select>
    <option value="HTML"
    HTML
    </option>
    <option value="CSS">
    CSS
    </option>
    </select>

  • Lista múltiple
    Solamente se obtiene agregando el atributo multiple en la etiqueta select

    <select multiple="multiple">
    <option value="HTML"
    HTML
    </option>
    <option value="CSS">
    CSS
    </option>
    </select>

  • optgroupSe pueden separar las opciones usando estas etiquetas. Para facilitar las listas de muchos elementos.


TEXTAREA <textarea> </textarea>

De nuevo el atributo name es necesario. Muestra los datos de una manera un tanto más peculiar que con un textbox.
En esta es posible presionar intro para introducir saltos de línea

  • cols
    Es el número, la anchura de los elementos que se van a tener. Por defecto son 20.
  • rows
    Es el alto, por defecto a 2.

LABEL

No muestra nada en pantalla, sin embargo es una etiqueta que mejora la accesibilidad y utilidad de los formularios. Asocia un texto a un control. Si este texto se presiona el control asociado a este se activa en la mayoría de los navegadores.

  • for
    Para enlazar un label con su control de usuario.

FIELDSET <fieldset> </fieldset>

Agrupa los elementos de formularios.

  • legend
    Es el nombre de la agrupación



jueves, 12 de enero de 2017

ENLACES

El hipertexto permite crear, agregar, enlazar y compartir información con una estructura no secuencial que proviene de diversas fuentes por medio de enlaces. Los enlaces también se conocen como hipervínculos, vínculos o ligas (en Sudamérica). Y en inglés se emplean los términos hyperlink y link.


LISTAS HTML

Hay tres tipos de listas:

La lista no ordenada <ul>
  • Elemento 
  • Elemento 
  • Elemento
La lista ordenada <ol>
  1. Elemento 
  2. Elemento
  3. Elemento
Lista de descripción <dl>

     Elemento
            Descripción del elemento
     Elemento
            Descripción del elemento


Los elementos de las listas se definen:

  • Para la lista ordenada y no ordenada se emplea <li>
  • Para la lista de descripción se usa <dt> (elemento) y <dd> (descripción del elemento).


Las listas son un elemento muy importante para estructurar correctamente el contenido de una página web. Como autor de páginas web debes seleccionar el tipo de lista adecuado para cada situación. En la siguiente actividad te proponemos que escribas una página web en la que se deben emplear todos los tipos de listas.

Las listas pueden estar anidadas, pueden tener varias listas anidadas.

HTML: CONCEPTOS BASICOS


Las etiquetas principales son:
  • <html>
    Etiqueta principal (root) y solo puede existir una y toda la página web debe escribirse entre la etiqueta inicial y la final.
  • <head>
    Define la primera parte de una página web, la cabecera, metadatos, no se visualiza. Son los metadatos que le dicen al navegador cómo se debe de leer la información.
  • <title>
    Se usa una sola vez y es para definir el título de la página.
  • <body>
    Esta es la última etiqueta y define la segunda parte de la página web y es lo que aparece en la página web ya que es el cuerpo de la misma.
  • <h1>, ..., <h6>
    Son encabezados o títulos en la página, hay seis niveles de importancia. h1 es el más alto y h6 es el más bajo.
  • <p>
    Sirve para definir párrafos de texto
  • <strong>
    Que es un texto destacado, en negrita
  • <em>
    Se emplea para un texto enfatizado
Con todas estas etiquetas ya se puede hacer una página web sencilla.

La gramática de HTML básicamente es:


  • Las etiquetas siempre se tienen que cerrar.
  • Los documentos anidados tienen que tener una correcta apertura o cierre. En sí los documentos tienen que estar bien formados.
  • Es recomendado escribir las etiquetas en minúsculas aunque la versión de HTML que se esté usando soporte que estén escritas en mayúsculas.
  • Los valores de los atributos tienen que llevar siempre comillas simples o dobles. Algunas versiones de HTML reconocen que no estén entre comillas pero es recomendable que siempre estén entre comillas, sean dobles o simples.
  • Para los ficheros es recomendable usar las letras del alfabeto inglés y los dígitos, el - _
  • La extensión de una página HTML es .htm o .html
Si quieres saber más sobre HTML:

También si hay dudas, aquí también se listan todos los elementos usados en el lenguaje con sus características y muchas más cosas:

  • <br />
    Para insertar un salto de línea.
  • &nbsp;
    Para dejar espacios de por medio entre dos palabras o elementos.
  • &....;
    Para introducir caracteres especiales por referencia.

miércoles, 11 de enero de 2017

HISTORIA DEL HTML

Tim Berners-Lee fue el creador de la web y por ende de sus elementos más básicos como lo son el HTML, HTTP y URL.

En el capítulo dos del libro "Raggett on HTML 4" del año 1998 se cuenta la historia del HTML.

Tim Berners creo el HTML a partir del SGML (Standard Generalized Markup Language) un estándar ISO de 1986, sirve para poner las reglas de etiquetado. Lo que no incluía el SGML y que fue la invención de Berners fue la creación de la etiqueta <a hr="">

Las primeras versiones de HTML, entre los años 1990 a 1993), no fueron estandarizadas debido a que su uso no estaba muy extendido ya que no fue necesaria una estandarización normal.

El primer intento de estandarizar se encuentra en HTML 1.0 junio de 1993. No disponía de elementos con los que contamos ahora.

En julio de 1993 se empezó a trabajar en la especificación de la siguiente versión de HTML que dio lugar a HTML+ que nunca llegó a ser estándar. Estaba formado por:

  • Encabezados
  • Párrafos
  • LIstas
  • Figuras
  • Tablas
  • Formularios
  • Textos pre-formateados
  • Fórmulas matemáticas
Y lo novedoso del mismo era que ya incluía las tablas y formularios.

En noviembre de 1995 llega HTML 2.0 que fue realmente un estándar sin que el W3C lo confirmara como estándar.

En enero de 1997 se publicó HTML 3.2 la primera versión estándarizada por el W3C.

El 24 de diciembre de 1999 se publicó una revisión que fue HTML 4.01

EL LENGUAJE HTML

HTML son las siglas de HyperText Markup Language, que puede traducirse como lenguaje de marcas o marcado de hipertexto.

El lenguaje HTML se emplea para crear las páginas web. Es muy fácil ver el código HTML de una página web, la opción exacta cambia de un navegador a otro y también puede cambiar de una versión a otra de un mismo navegador, pero suelen tener un nombre similar:
   Ver código fuente de la página en Google Chrome y Mozilla Firefox.
   Ver código fuente en Internet Explorer y Opera.

El lenguaje HTML tiene muchas etiquetas, pero aplicando el Principio de Pareto (la regla del 80-20), sólo hay que conocer bien el 20% de las etiquetas, ya que con ellas se crea el 80% del contenido de las páginas web. Las etiquetas más importantes son:
  1. html
  2. head
  3. meta
  4. title
  5. link
  6. style
  7. script
  8. body
  9. p
  10. a
  11. strong
  12. em
  13. img
  14. form
  15. input
  16. select
  17. textarea
  18. table
  19. tr
  20. th
  21. td
  22. blockquote
  23. hr
  24. ul
  25. ol
  26. li
  27. div
  28. span

PROTOTIPADO: WIREFRAMES, MOCKUPS Y PROTOTIPOS

En diseño web, un wireframe (en español se puede traducir por esquema de la página o plano de la pantalla, aunque no se suelen usar estos términos), es un dibujo o esquema que representa el esqueleto o estructura visual de un sitio web (un conjunto de páginas web) o de una página web concreta. El wireframe suele carecer de aspectos visuales como estilo tipográfico, colores e imágenes, ya que su propósito es servir de apoyo para discutir el contenido, funcionalidad y comportamiento de un sitio web o de una página web.

Para saber lo que se necesita en una aplicación debemos:

  • Identificar los objetivos del proyecto
  • Identificar las necesidades de los usuarios
  • Especificar las funcionalidades y requerimientos de la aplicación web
  • Definir y diseñar los sistemas de navegación, organización, etiquetado y búsqueda
  • Para finalmente crear el prototipo de la aplicación
La idea final del prototipo es que los usuarios puedan gestionar y accesar a la información de una manera efectiva. Se hacen diagramas para especificar la organización, estructura y navegación de la aplicación web.

Los planos son diagramas de organización y funcionamiento y se suelen definir como Blueprint, diagramas de contenido o flujo o mapa web. 

Al momento de hacer un diagrama lo importante es que sea fácil de entender.

En el artículo "La diagramación en la arquitectura de información" de Ronda León en el que recopila propuestas de vocabularios.

Las maquetas son diagramas de representación de la estructura, organización a nivel de página.

En ningún caso se debe tener diseño gráfico en un prototipo pues se realiza en etapas posteriores y es algo que se debe aclarar al cliente al momento de empezar a hacer el prototipo.

Los dibujos de baja fidelidad o Sketching: 
Son dibujos estáticos, que son bocetos de forma rápida e informal para transferir las ideas.

Un buen libro sobre este tema es el de "Sketching User Experiences" de Bill Buxton



Wireframe: 
Es un tanto más elaborado e incluye los contenidos que están presentes en cada página. Y tiene notas sobre cada uno de los elementos en la aplicación.

Prototipos de alta fidelidad o prototipos funcionales:
Son prototipos funcionales también llamados maquetas o Mockups.
Son prototipos dinámicos normalmente en HTML que tienen implementados funciones para el prototipo final.

Nunca se debe prototipar antes de saber los requerimientos del cliente, las necesidades de los usuarios, los requisitos del proyecto y la arquitectura de información de la aplicación web.

Algunos consejos para hacer un buen prototipo:
  1. Sencillez y claridad
  2. Harcelo en blanco y negro
  3. Representar los tamaños y proporciones de los bloques de contenido
  4. Tener e cuenta las pautas de accesibilidad y usabilidad
  5. Diseñar para los usuarios, ante todo

En resumen...