Página personal del Curso de Introducción al Desarrollo Web, una iniciativa de Google que cuenta con la certificación de la Universidad de Alicante

28 de junio de 2015

Módulo 4: Cómo se escribe una página web correcta

      
Los objetivos de este módulo son: 
  • Aprender a crear páginas web con tablas e imágenes. 
  • Aprender a válidar el código HTML para crear páginas web correctas. 
  • Aprender las principales novedades de HTML5.
En las semanas anteriores has aprendido los conceptos básicos sobre la creación de páginas web. Algunas cosas importantes, como el juego de caracteres o la validación del código HTML no las hemos explicado para facilitarte el aprendizaje. Pero esta semana ya toca, tienes que aprender a realizar páginas web correctas.
Además, esta semana vas a aprender a incluir elementos nuevos en una página web.
Vas a aprender a crear tablas para mostrar datos tabulados.
Y vas a aprender a insertar imágenes.
En las próximas semanas aprenderás a insertar otros elementos multimedia, como por ejemplo los vídeos.
Por último, también vas a aprender las principales novedades que incorpora HTML5, la última versión de HTML.



HTML: juego de caracteres



El juego de caracteres, también llamado codificación de caracteres, es la pesadilla de la mayoría de los informáticos porque es una fuente de problemas inagotable.

En el siguiente vídeo se muestran ejemplos reales de problemas con el juego de caracteres y se proporcionan los consejos más importantes para trabajar con el juego de caracteres:
Utiliza siempre el mismo juego de caracteres.

Utiliza UTF-8 sin BOM.

Diferencias entre ISO-8859-1 (Latin1) e ISO-8859-15 (Latin9). 

Cómo se indica el juego de caracteres en HTML (etiqueta meta). 

Diferencias entre HTML4, XHTML1 y HTML5. 


¿Alguna vez el nombre de un fichero o su contenido no lo has podido ver bien al moverlo de un sistema operativo a otro?

¿Alguna vez has instalado un programa y no se visualizaban correctamente algunos caracteres?

¿Alguna vez te han dado un justificante, un extracto bancario o un recibo en el que no se mostraban correctamente algunos caracteres?

¿Alguna vez has entrado en una página web y te aparecían caracteres chinos cuando la página no estaba en chino?

Si alguna vez has sufrido un problema parecido y te has sentido solo porque pensabas que eras el único al que le pasaba, no te preocupes, porque no estabas solo, mucha gente como tú, sufre estos problemas todos los días.

Sin duda alguna, en el campo de la informática, el juego de caracteres es de las cosas más simples que más problemas ocasiona.

Mapa de caracteres, ASCII, ISO-8859-1, Latin-1, ANSI, UTF-8, UTF-8 sin BOM, Unicode, Cotejamiento.

¡Menudo lío! ¿Qué significa todo esa sopa de términos?

A muchos experimentados informáticos, las palabras “juego de caracteres” les produce horribles pesadillas. Para que a ti tampoco te produjese pesadillas y entendieses correctamente qué es el juego de caracteres, tendría que empezar por el principio, por la primera descripción conocida de un sistema de numeración binario que se debe a un matemático hindú del siglo tercero antes de nuestra era.

Después te tendría que explicar que el sistema binario moderno fue documentado en su totalidad por el gran matemático Leibniz, en el siglo XVII. Leibniz utilizó el 0 y el 1, al igual que el sistema de numeración binario actual.

La regla más importante es muy fácil de recordar: utiliza siempre el mismo juego de caracteres en todo lo que hagas. ¿Qué significa esto en una aplicación web?

Significa que todos los ficheros que compongan tu sitio web, deben estar almacenados en el mismo juego de caracteres: tus ficheros HTML, CSS, JavaScript, de texto, etc.

Pero también tus páginas PHP. Y cualquier fichero de texto que leas desde PHP. Y también los datos que estén almacenados en tu base de datos. Y también la conexión que establezcas con tu base de datos. Y si invocas a un servicio web que te devuelve datos en formato XML o JSON, pues lo mismo, los datos que te devuelva también tienen que estar en el mismo juego de caracteres.

Sencillo, ¿verdad? Pues no es tan sencillo, porque esto muchas veces es imposible de lograr, no porque no se pueda, sino porque no depende de nosotros. Lo normal es que en un escenario real nos encontremos con algo parecido a esto, 

un escenario en el que NO puedes utilizar el mismo juego de caracteres en todos los elementos de tu sistema. Y normalmente, el problema suele convertir en algo muy grave, con solución, pero muy costosa.

En ese momento es cuando te toca llamar al informático para que te solucione el problema, pero no a un informático que se dedica a instalar el Windows o a cambiar tarjetas gráficas, no, a un informático de verdad.

¿Qué juego de caracteres debo usar? Yo te recomiendo, UTF-8 sin BOM, es la solución a todos los problemas, y te permite mezclar en un mismo documento textos en cualquier idioma, es decir, te permite mezclar caracteres de cualquier alfabeto, pero absolutamente sin ningún problema.

Si no puedes utilizar UTF-8 sin BOM por alguna razón, entonces te recomiendo ISO-8859-1, también llamado Latin1. Después de UTF-8, es el mejor juego de caracteres para los idiomas de Europa occidental, incluido el español.

Pero si necesitas escribir el símbolo del euro, entonces debes utilizar ISO-8859-15, también llamado Latin9.

Latin1 y Latin9 se diferencian únicamente en 8 caracteres que han cambiado, y el único realmente importante para el español es la sustitución de un carácter que seguramente nunca has usado por el símbolo del euro.

¿Cómo indico el juego de caracteres en HTML?

Se realiza mediante una etiqueta <meta>, que se escribe en el <head> de la página web, pero depende de la versión de HTML que estés utilizando.

Si estás utilizando HTML4, debes utilizar esta sintaxis


Si estás utilizando XHTML 1, debes utilizar alguna de estas dos sintaxis. Además, si empleas un juego de caracteres diferente a UTF-8, también tendrás que indicar el juego de caracteres mediante la declaración de documento XML al principio de la página web


Y por fin llegamos a HTML5. ¿Cómo será en HTML5? ¿Más fácil? ¿Más complicado? Bueno, en HTML5 se ha intentado hacer el lenguaje HTML más sencillo, así que han simplificado la forma de indicar el juego de caracteres y ahora es algo tan sencillo como esto 






UTF-8 sin BOM / con BOM
En el siguiente vídeo se explica qué es UTF-8 sin BOM (Byte Order Mark) y con BOM y se muestran los habituales problemas con los editores de texto









12 de junio de 2015

Los 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.

Cuando realizas una búsqueda en un buscador e introduces las palabras que quieres buscar, estás utilizando un formulario web.

Cuando te registras en un sitio web e introduces tus datos personales, estás utilizando un formulario web.

Cuando realizas una compra e introduces los números de tu tarjeta de crédito, estás utilizando un formulario web.

Cuando realizas una actividad de tipo test en este curso, estás utilizando un formulario web.

En definitiva, un formulario web es un elemento básico en cualquier sitio web.

En las siguientes lecciones vas a aprender a crear formularios con HTML. Sin embargo, los formularios que vayas a crear no van a funcionar, ¿por qué?

Un formulario se compone de dos partes, la parte cliente y la parte servidor. La parte cliente es la que vas a aprender en este curso: la creación del formulario. La parte servidor es la encargada de recibir los datos para procesarlos, como por ejemplo insertarlos en una base de datos. Esta parte no te la vamos a enseñar en este curso, queda pendiente para otro curso.


A continuación se explican los formularios tradicionales con HTML (qué es un formulario, para qué sirve un formulario), se muestran las etiquetas y atributos que se emplean en un formulario y los métodos de envío (GET, POST). Además, se explican los siguientes controles de un formulario:

input.
text.
checkbox.
radio.
file.
password.
hidden.
button.
submit.
image.
reset.







Los usuarios normalmente rellenan un formulario modificando sus controles, antes de enviar el formulario a un agente para que lo procese (a un servidor web, a un servidor de correo, etc.)

¿Y para qué se utilizan?

Pues justamente para eso, para permitir que el usuario envíe información al servidor.

Formularios de registro o acceso a sitios web, formularios de contacto; hasta para escribir un comentario en Facebook estamos utilizando un formulario.


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.





La etiqueta <input /> es de las más utilizadas en formularios, con ella podemos definir gran parte de los controles típicos de formularios: entradas de tipo texto, casillas de verificación y de opción (conocidas como radio), archivos, contraseñas, campos ocultos y botones varios.

“action” es el único atributo requerido para la etiqueta <form>.

Especifica siempre el atributo “type”.

Necesitarás un botón “submit” para enviar el formulario.

En la medida de lo posible, separa contenido de estilos, lo agradecerás cuando tengas que mantener la web.










En esta segunda parte hemos visto el uso de las etiquetas <select> y <option> para insertar listas desplegables o de selección múltiple.







Permitir al usuario escribir texto con más de una línea de forma cómoda mediante <textarea>.

Cómo hacer más accesibles nuestros formularios utilizando etiquetas <label> para asociar texto a controles.

Y a agrupar controles en conjuntos con <fieldset> para hacer los formularios más digeribles para el usuario.





Consejos que espero te sean de utilidad:

Utiliza <textarea> en lugar de <input /> de tipo texto cuando el usuario vaya a escribir cantidades de texto considerables.

Usa <select> en lugar de <input /> de tipo “radio” cuando ofrezcas tres o más posibilidades al usuario.

Y, en la medida de lo posible, facilita el trabajo a tus usuarios mediante la etiqueta <label>.





EJEMPLO FORMULARIO DE REGISTRO
Click en la imagen para ampliar














Los centros de datos de Google


En el año 2012, Google creó el sitio web Centros de datos de Google en el que mostraba por primera vez los entresijos de las instalaciones que alojan los servidores en los que se almacenan físicamente los correos de Gmail, los vídeos de YouTube o los índices que permiten las búsquedas en su motor de búsqueda.



Paséate por un centro de datos de Google








Los Centros de datos de Google (o Google Data Center) son instalaciones especialmente creadas por Google para el almacenamiento y gestión de sus servidores. Constan de distintos elementos electrónicos tales como sistemas de almacenamiento, dispositivos de comunicación, elementos de climatización y dispositivos de seguridad.



En el 2013 Google tiene 13 centros de datos en los que, según las estimaciones realizadas sobre los últimos datos energéticos emitidos se calcula que habría un total de 900,000 servidores.



La localización de los Google Data Center construidos en 2013 es la siguiente:

Estados Unidos:

  • Berkeley County, Carolina del Sur
  • Council Bluffs, Iowa
  • Douglas County, Georgia
  • Mayes County, Oklahoma
  • Lenoir, North Carolina
  • The Dalles, Oregon
Sur America:
  • Quilicura, Chile
Europa:
  • St. Ghislain, Belgica
  • Hamina, Finlandia
  • Dublin, Irlanda
Asia:
  • Kowloon, Hong Kong
  • Jurong West, Singapur
  • Changhua County, Taiwan


Los servidores que se usan en los centros de datos son montados a medida por Google y funcionan bajo una distribución de Linux también completamente personalizada por Google.



Distribuir los servidores de forma deslocalizada en vez de en una única estructura tiene una serie de ventajas.

Rapidez de acceso, la distancia al punto de conexión con un servidor es uno de los factores que influyen en la velocidad con la que obtendremos los datos, cuanto más cerca estemos del centro de datos correspondiente, más rápida será nuestra búsqueda.

Fiabilidad del sistema, tener varios centros de datos en vez de uno solo de un tamaño mucho mayor, protege al sistema frente a caídas inesperadas, provocadas desde fallos en servidores, cortes de corriente, o incluso catástrofes naturales.

Coste reducido, construir un único centro de datos centralizado y de un tamaño desmesurado es mucho más caro que construir varios más pequeños.

Distribución en distintas franjas climáticas, los centros de datos están distribuidos a lo largo de diversas franjas climáticas con diferente estacionalidad, esto permite compensar altas temperaturas en un área, desviando el trabajo a las zonas más frías en esa época, lo cual repercute directamente en el gasto energético.

Distribución en distintas franjas horarias, existe también la posibilidad de desplazar carga hacia los centros de datos que puedan aprovechar tarifas más bajas de electricidad, como por ejemplo durante horas nocturnas de bajo consumo.