Ads 468x60px

Perfil

lunes, 4 de marzo de 2013

3 consejos para ahorrar tiempo programando


Programar consume mucho tiempo. Mucho. Enfrentarnos a la creaciĂłn de un programa cualquiera suele tomar cuatro fases:
  1. Desarrollo inicial del programa.
  2. CorrecciĂłn de errores, hasta que el programa funciona.
  3. Aceptar que tu cĂłdigo es basura.
  4. Empezar todo desde cero. O entregarlo tal cual.
Dependiendo del lenguaje de programaciĂłn, del entorno y del programa, las maneras de ganar tiempo al deadline, son mĂşltiples y variadas. Sin embargo, aquĂ­ os presento tres ideas que valen para todo tipo de programaciĂłn, y que a mĂ­ me funcionan bastante bien. Para algunos serán obvias, pero para mĂ­ no lo eran tanto hasta hace poco.

Aprende mecanografĂ­a

SĂ­. Aprende mecanografĂ­a. Y eso no es saber dĂłnde están las teclas y llegar a ellas en un tiempo razonable. No. Es saber los principios que la rigen, cĂłmo hay que colocar las manos y con quĂ© pulgar hay que pulsar el espacio, entre otras cosas.
Escribirás más rápido, asĂ­ que programarás más rápido. De cajĂłn.
Piensa que hubo una Ă©poca, no tan lejana, en la que saber mecanografĂ­a era algo que podĂ­as poner en tu currĂ­culum, ¡y contaba como mĂ©rito!
Además, para algunos puestos, como los de funcionario, sigue habiendo pruebas de mecanografĂ­a. No es necesario que te apuntes a una academia (sĂ­, aĂşn existen), hay cantidad de software con el que puedes aprender, incluso herramientas online. Cuándo hayas aprendido, puedes probar Z-Type, un juego de naves espaciales en el que cuánto más rápido escribas palabras, más puntos conseguirás.

Usa un monitor de apoyo

Conozco gente que discreparĂ­a, pero tener un monitor extra programando para mĂ­ es una gozada.
En el monitor principal despliego el entorno de programación. Y en el monitor adicional, el navegador, dónde consulto APIs o busco solución a problemas que surjan programando. En fase de depuración, es el lugar perfecto para colocar la aplicación desarrollada en ejecución, evitando así que oculte el código que estás tratando de arreglar.
También realiza muy bien su función si eres fan de los tutoriales. En el monitor extra tienes la web (o el vídeo) del tutorial desplegado, y en tu monitor principal vas siguiendo los pasos.
El tiempo que ahorrarás por no tener que estar pulsando continuamente Alt + TAB es importante.

Aprende a usar librerĂ­as y Ăşsalas

Una librerĂ­a es cĂłdigo que otro programĂł y empaquetĂł para que fuera reutilizado. El orgasmo de la ProgramaciĂłn Orientada a Objectos.
AprendĂ­ la potencia de las bibliotecas hace relativamente poco. ¿Por quĂ©? Básicamente, cuándo uno se inicia en el uso de librerĂ­as externas por primera vez resulta un infierno. No conoces los pasos y das frustrantes palos de ciego. Por eso, es importante que sepas cĂłmo añadir librerĂ­as externas desde tu IDE (o desde consola, si eres un valiente).
En informática está todo inventado. Y si se te ocurre algo nuevo, Google tendrá algo mejor y más eficiente un par de semanas antes de que tĂş hayas esbozado un ridĂ­culo UML. AsĂ­ que no reinventes la rueda. Antes de resolver un problema concreto, busca si alguien lo resolviĂł ya antes. Google es tu amigo. Google Code y SourceForge más.Ahorrarás horas, dĂ­as y semanas. SĂłlo reinventa la rueda si tu rueda va ser más rápida y/o va a hacer más y mejores cosas que otras.

viernes, 1 de marzo de 2013

FRAMEWORKS PHP HISPANOS


El desarrollo de Frameworks de diferentes lenguajes de programaciĂłn se ha expandido en el mundo de la web. PHP como lenguaje lĂ­der para desarrollar en hispanoamĂ©rica es mucho más que Cake, CodeIgniter, Symfony o Zend.
La siguiente es una colección de proyectos interesantes provenientes de España y Latinoamérica:

EN MÉXICO

Un framework que se lanzĂł este año de la mano del emprendedor mexicano y CEO de MilkZoft: Carlos Santana. Dicho framework está escrito en PHP5 y segĂşn su creador se originĂł a partir de un CMS y la “necesidad de hacer un sistema que permitiera administrar sitios web con más rapidez”.
MilkZoft es la empresa que respalda este proyecto, asĂ­ como tambiĂ©n al CMS “MuuCMS”. Santana afirma que se inspirĂł en los frameworks Symphony y CodeIgniter y que tomĂł el desarrollo de ZanPHP como un reto personal en donde la principal motivaciĂłn fue y sigue siendo el aprendizaje.

TLALOKES PHP

AsĂ­ como las entidades divinas de la mitologĂ­a mexicana que se encargaban de controlar los flujos de agua este framewoek está concebido para que sea un “ayudante en las tareas del desarrollador”. Fue reescrito 10 veces desde el 2004 y lanzado en su versiĂłn 1.0 en el año 2009.
Basilio Briceño, el desarrollador, cuenta que “ningĂşn framework se adaptaba al balance entre velocidad y facilidad de uso” que Ă©l buscaba.  Actualmente variossitios usan Tlalokes debido a su enfoque de alta disponibilidad.

TETL PHP

A mediados del 2008 Alvaro Cabrera comenzĂł a desarrollar las primeras versiones de “Amigable” el framework que en el 2011 se convertirĂ­a en “Tetl PHP“. El nombre deriva del tĂ©rmino “náhuatl” que significa roca y que determina la dureza, firmeza y solidez del framework que busca ser un “fundamento para comenzar una nueva construcciĂłn”.
Para Alvaro “el uso de un lenguaje o herramienta especifica no determina la implementaciĂłn de buenas soluciones automáticamente”. Además afirma que “lo más importante en un framework es la expresividad, brevedad y que tenga una sintaxis de su agrado”.

SIMPLON

El principal objetivo de este framework está expresado en su nombre: simplificar. Fue concebido en el 2008 por dos emprendedores de MĂ©xico: RubĂ©n Schaffer y Luca Lauretta. Actualmente se puede descargar la versiĂłn alpha del framework desde su sitio web.
RubĂ©n cuenta que programĂł en el paradigma de programaciĂłn estructurada y luego descubriĂł las ventajas de usar objetos. “VeĂ­a frameworks atascados en el modelo de lo que en Java es posible y “correcto”" entonces junto a Luca decidieron buscar algo “enfocado a definir y cambiar los datos, como se procesan y como se ven en una Ăşnica definiciĂłn de los mismos”.

FLAVOR PHP

Basado en el patrĂłn MVC jerárquico, este framework PHP5 fue desarrollado por Pedro Santana en el año 2008. Es open source, compatible con UTF-8 y cuenta con el patrĂłn Active Record. Varios proyectos web utilizan dicho framework, como Sabros.us y Stan entre otros.

EN ESPAÑA

AKELOS PHP

Inspirado en las ventajas de Ruby on Rails y basada en el patrĂłn de diseño MVC. Su creador, Bermi Ferrer, comenzĂł a desarrollar este framework en el 2004 ya que no encontraba ninguna plataforma de desarrollo ágil. Finalmente en el 2006 se lanzĂł Akelos 0.6 y en el 2009Akelos 2.
Bermi se inspirĂł en el libro Patterns of Enterprise Application Architecture para crearlo y afirma que en Akelos “todos los mĂ©todos y las interfaces son cuidadosamente seleccionadas, por esto cada vez que alguien quiere hacer algo simplemente tiene que escribir lo que piensa”. Algunos proyectos en los que se usa este framework son VimityLingus TV y The Chemical Brothers.

EN URUGUAY

YUPP FRAMEWORK

Es de procedencia uruguaya, es desarrollado por Pablo Pazos y ya cuenta con varias versiones del mismo. Yupp Framework busca simplificar el desarrollo de aplicaciones web implementando el patrĂłn de diseño MVC + S. La diferencia entre este framework y otros es que posee una API  simple centrada en el modelo de datos.
Pablo cuenta que todo comenzĂł con un proyecto de CMS y que al tratar de hacerlo más genĂ©rico y extensible fue que se originĂł el proyecto Yupp framework. El desarrollo de las diferentes versiones se realiza gracias al aporte de la comunidad a travĂ©s del grupo de Yupp en donde actualmente están trabajando en la versiĂłn 0.4.

EN COLOMBIA-VENEZUELA-ESPAÑA

KUMBIA PHP

Es un framework para aplicaciones web libre escrito en PHP5 y está basado en diferentes prácticas de desarrollo, entre ellas DRY y el Principio KISS. Sus desarrolladores son varios y de diferentes nacionalidades. Entre ellos figuran: Deivinson Tejeda (Venezuela), Joan Miquel Abrines (España) y AndrĂ©s Gutierrez (Colombia).
Algunas de sus principales caracteristicas son: el sistema de plantillas sencillo, la administraciĂłn de CachĂ©, Scaffolding avanzado, soporte para AJAX y está orientado al pĂşblico de habla castellana. El primer lanzamiento fue en enero del año 2007 y dos años despuĂ©s lanzaron la versiĂłn 1.0 en beta. Actualmente hay varios proyectos que utilizan dicho framework.

jueves, 28 de febrero de 2013

CĂłmo identificar fuentes utilizadas en la web


Una fuente de ordenador es un archivo de datos que contiene los sĂ­mbolos y caracteres necesarios para representar escritos en determinadas aplicaciones o sitios web. Este texto que estáis leyendo está representado por una fuente que a su vez tiene unas caracterĂ­sticas especiales tales como tamaño, estilo o colores asociados.
Identificar Fuente
Hay multitud de fuentes, algunas muy populares y otras infames -me viene Comic Sans a la cabeza-, y mientras que algunas tienen derechos reservados y es necesario pagar por utilizarlas, otras las podemos utilizar gratuitamente para nuestro sitio web u otras creaciones. Hay multitud de sitios donde encontrarlas, el problema es que en ocasiones queremos utilizar esa fuente que tanto nos gusta de un sitio y no sabemos cual es.
Para usuarios avanzados puede ser relativamente fácil averiguarlo, entrando en el cĂłdigo fuente y buscando tal vez en la hoja de estilos CSS, pero tal vez sea más fácil, por simplicidad y por ahorrar tiempo, utilizar algĂşn mĂ©todo de identificaciĂłn de fuentes como Fount.
A diferencia de algunas extensiones de navegador de las que os hemos hablado, como WhatFont, Fount utiliza la potencia del lenguaje JavaScript para ofrecernos un bookmarklet que podemos arrastrar a la barra de favoritos de nuestro navegador y utilizar en el momento que queramos identificar fuentes.
Un bookmarklet es una serie de cĂłdigos estándar que podemos consumir en cualquier navegador con soporte Javascript (es decir, Chrome, Firefox, Safari o Internet Explorer, por ejemplo). Para utilizar Fount basta con arrastrar el bookmarklet desde la página oficial para, inmediatamente, disfrutar de sus servicios:
  • Un clic entrará en modo identificaciĂłn
  • Desde ese momento, podemos pulsar sobre la palabra / fuente que queramos identificar para mostrar su informaciĂłn
  • Se nos mostrarán datos tales como nombre de la fuente, tamaño o estilo utilizados
  • Un nuevo clic en el bookmarklet saldrá del modo identificaciĂłn
Como véis, identificar fuentes es muy sencillo gracias a Fount, un fragmento de código que no provoca carga alguna en nuestro navegador al no ser una extensión residente. Podemos utilizar el bookmarklet cuando queramos, incluso aunque no lo tengamos en la barra de favoritos, tal vez renegándolo a una carpeta de favoritos si no vamos a utilizarlo de forma demasiado frecuente.

miércoles, 27 de febrero de 2013

Curso de HTML para principiantes, parte V


legamos a la Ăşltima entrega de HTML para principiantes. Ya hemos cubierto todos los conceptos básicos, y en nuestra entrega anterior avanzamos un poco más y revelamos los detalles de las tablas, además de hablar sobre la forma correcta de subir archivos de imágenes a la web  y la creaciĂłn de listas. En el dĂ­a de hoy, abarcaremos uno de los temas más complicados pero tambiĂ©n Ăştiles: los formularios.
Hace algunas semanas tambiĂ©n les compartimos una lista sobre cĂłmo hacer formularios online sin necesidad de saber de cĂłdigo. Estas opciones tambiĂ©n son válidas, pero en ese caso, les recomendamos dejar de leer aquĂ­ mismo.
Dentro de HTML tenemos la posibilidad de crear una especie de aplicaciĂłn web muy básica con cĂłdigo, estos serĂ­an los formularios. Generalmente se los usa para eso: formularios de contacto, de consulta, de sugerencias, etc. Su uso está muy abarcado porque ha ido reemplazando al atributo mailto del que les hablamos en el apartado sobre enlaces, dado que varios bots usaban estas direcciones de correo detectándolas en el cĂłdigo para enviar spam.
Tenemos dos tipos de formularios: los formularios simples y los formularios avanzados. Comenzaremos por los simples.

Formularios simples

Se crean usando nada más que dos etiquetas, <form> e <input>. <form>, por supuesto, será la etiqueta que le indique al navegador que está por comenzar un formulario. Y es imperativo que la cerremos cuando termine. Dentro de <form> encerraremos todos los campos que queramos que estén incluidos en el formulario. Con <input>, como veremos a continuación, vamos a poder definir dichos elementos, y son bastantes.
Antes de pasar a estos elementos, deberĂ­amos repasar los atributos que se le pueden sumar al formulario:
  • action: con este atributo vamos a indicar la URL donde queremos que se procesen los formularios. Generalmente tendrá la extensiĂłn .php.
  • method: aquĂ­ tendremos dos opciones de atributo, post o get. Dependerá del tipo de mĂ©todo que se use para enviar el formulario. Generalmente, para los formularios de contacto, se usa post, porque permite el envĂ­o de mucha más informaciĂłn. Además, los datos enviados por get luego se pueden ver en la barra del navegador, como por ejemplo sucede con Google que emplea este mĂ©todo.
  • accept: con este atributo definimos cuáles son los formatos de archivos aceptados por el formulario.
Existen otros atributos, pero estos son los más populares. De hecho, los más usados son action y method.

Elementos de un formulario

Ahora pasaremos a repasar los diferentes elementos que pueden estar incluidos dentro de la etiqueta <input>. Esta es la etiqueta fundamental para crear elementos, con algunas excepciones, asĂ­ que es importante no olvidarlo. Primero comenzaremos detallando los atributos que puede tener <input> para luego hablar bien de los elementos.
Estos atributos son:
  • type: aquĂ­ vamos a ingresar quĂ© tipo de elemento queremos. Es el atributo más importante. Con text, passwork, checkbox, submit, reset, y más, podemos armar un formulario simple de contacto.
  • name: este atributo le asigna un nombre al elemento, y tambiĂ©n es fundamental.
  • value: cuando ingresamos este atributo, es para poner un valor inicial dentro del elemento. Por ejemplo, si tenemos una lista del 1 al 10 y queremos que comience con uno, el atributo deberá decir value=”1”.
  • size: aquĂ­ delimitaremos el tamaño de caracteres que debe tener el campo, en el caso de texto y contraseña, y el tamaño de pĂ­xeles que debe tener el cuadro en el resto.
  • maxlenght: la cantidad máxima de caracteres permitida en un campo.
  • checked: cuando estamos usando checkboxes, este atributo permite predeterminar cuál estará seleccionada de antemano.
  • disabled: nos permite deshabilitar un elemento del formulario.
  • readonly: permite que creemos un elemento que sea sĂłlo lectura.
  • src: nos permite crear botones con imágenes, se usa para el botĂłn del formulario y tiene que estar acompañado por una URL.
  • alt: como sucede con este atributo, podemos agregar un texto descriptivo.
Ahora que ya conocemos los atributos, podemos avanzar con los tipos de elemento de formulario que definimos en el código a través del atributo type.
El primero de estos tipos es el campo de texto, el elemento más usado en los formularios. Nos permite crear un cuadro de texto vacĂ­o para que, por ejemplo, el usuario pueda insertar su nombre de usuario. En el cĂłdigo, veremos algo asĂ­ –digo algo asĂ­ porque falta agregar párrafos y texto; este cĂłdigo es simplemente para ver cĂłmo funcionan las etiquetas y cĂłmo deben ser ordenadas, si lo llevamos a un navegador no funcionará y se verá horrible:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”nombre” />
</form>
</body>
</html>
AquĂ­ vemos cĂłmo quedarĂ­a el resultado, pasado al navegador:
Dentro del mismo sentido, casi sin variaciones excepto con el atributo, tenemos a las contraseñas. Estas se deben crear claramente usando el atributo password, y el cĂłdigo no se diferencia demasiado del de texto. AquĂ­ vemos el ejemplo anterior, con el agregado de una contraseña:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<p>Nombre
<input type=”text” name=”nombre” /></p>
<input type=”passwork” name=”Contraseña” />
</form>
</body>
</html>
Ahora avanzamos con las checkboxes, otro clásico de internet, que en realidad no son para nada difĂ­ciles de crear. Como pueden intuir, tenemos que usar el atributo checkbox, y luego ir enumerando cada uno de los elementos que queremos que tenga. Es algo engorroso porque hay que usar la etiqueta cada vez que queremos agregar una opciĂłn. Para que no sean separados con demasiado espacio, tenemos que añadir además la etiqueta <br />. Siguiendo con nuestro ejemplo:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3
</form>
</body>
</html>
Similares a las checkboxes, tenemos a los radiobuttons, que a diferencia de los anteriores son mutuamente excluyentes. Esto quiere decir que no podemos elegir mĂşltiples opciones, sino Ăşnicamente una sola. El tipo de atributo que usamos es radio, y el cĂłdigo nos estarĂ­a quedando de esta manera:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3
<input type=”radio” name=”sexo” value=”hombre” checked=”checked” />Hombre
<input type=”radio” name=”sexo” value=”mujer” />Mujer
</form>
</body>
</html>
Ahora podemos avanzar a los botones. Tenemos dos, submit y reset. Uno de ellos nos permitirá enviar la informaciĂłn del formulario, y el otro nos permitirá borrar todos los valores para volver a una instancia original. La diferencia reside en cĂłmo completemos el atributo type. Si es con submit, enviaremos, y si es con reset, borraremos. Antiguamente se usaban los dos botones pero hoy en dĂ­a se ha perfeccionado y casi nadie usa reset, sobre todo porque los formularios no se crean Ăşnicamente con HTML sino que están apoyados por PHP y JavaScript. Igualmente, aquĂ­ está el ejemplo:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3
<input type=”radio” name=”sexo” value=”hombre” checked=”checked” />Hombre
<input type=”radio” name=”sexo” value=”mujer” checked=”checked” />Mujer
<input type=”submit” name=”enviar” value=”Enviar” />
</form>
</body>
</html>
TambiĂ©n se pueden agregar otros botones usando el tipo de atributo button, pero este tipo de botones Ăşnicamente son Ăştiles si los combinamos con JavaScript. Con este cĂłdigo podemos programar para que el botĂłn haga lo que necesitemos que haga.

Formularios avanzados

Ahora pasaremos a los formularios un poco más avanzados. Para poder avanzar necesitamos conocer más etiquetas, una de las más importantes es <fieldset>. Con esta etiqueta podemos agrupar partes del formulario y sumar la etiqueta <legend> para darles un título. Dentro del abanico de posibilidades también encontramos los menús desplegables y las cajas de texto.
Para crear un menĂş, tenemos que usar no la etiqueta <input> sino la etiqueta <select> y para crear un cuadro de texto, no nos confundamos con <text>, ahora tenemos que usar <textarea>. Dentro de nuestro cĂłdigo anterior, estas nuevas adiciones se verĂ­an asĂ­:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1 <br />
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2 <br />
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3 <br />
<input type=”radio” name=”sexo” value=”hombre” checked=”checked” />Hombre
<input type=”radio” name=”sexo” value=”mujer” checked=”checked” />Mujer
<input type=”submit” name=”enviar” value=”Enviar” />
<select name=”pais>
<option value=”España”>España</option>
<option value=”Argentina”>Argentina</option>
<option value=”Portugal”>Portugal</option>
<option value=”Chile”>Chile</option>
<textarea name=”comentarios” value=”Deje sus comentarios” cols=”10” rows=”5”></textarea></form>
</body>
</html>
Con esto ya podemos crear un formulario completĂ­simo.

martes, 26 de febrero de 2013

Curso de HTML para principiantes, parte IV



Las imágenes en HTML

Las páginas web no podrĂ­an existir sin imágenes. Hoy en dĂ­a, la importancia de lo visual en las páginas web es obvia. Pero las imágenes tienen que estar subidas de una manera determinada para poder funcionar de forma efectiva. Tenemos dos formas de incluir imágenes, dependiendo del tipo de imágenes que queremos usar. Por eso, vamos a comenzar con la diferenciaciĂłn entre estos tipos.
Por un lado, tenemos las imágenes de contenido. Estas son imágenes que se incluyen directamente en el cĂłdigo HTML y que deberĂ­an servir para proporcionar informaciĂłn adicional. No siempre sucede, pero ese es el espĂ­ritu. Por otra parte, tenemos las imágenes de decoraciĂłn o adorno que se insertan directamente en el cĂłdigo CSS y que no tienen que ver con lo que estamos tratando en este momento. Este tipo de imágenes están insertadas en las hojas de estilo.
Nos dedicaremos, entonces, a las imágenes de contenido. Estas se insertan a travĂ©s de la etiqueta <img>, que a su vez cuenta con una serie de atributos comunes que podemos usar, como la alineaciĂłn, bordes, etc. Pero además, la etiqueta <img> cuenta con atributos especĂ­ficos que es importante que usemos, muchas de las veces. Estos atributos son:
  • src: se trata de la URL desde donde estaremos “levantando” la imagen. Puede ser un servidor propio o ajeno, pero es importante que la fuente de la imagen estĂ© siempre activa para evitar errores. Por eso es recomendable usar un servidor propio.
  • alt: este es uno de los atributos más importantes de la imagen, y ya en nuestra guĂ­a de buenas prácticas para escribir HTML mencionábamos que tenemos que agregarlo por cuestiones de validaciĂłn y accesibilidad. Nunca debe ser olvidado.
  • longdesc: este es uno de los atributos menos usados, pero nos permite acceder a una descripciĂłn de la fotografĂ­a en una determinada URL.
  • name: se trata del nombre de la imagen, como pueden haber adivinado, y es el nombre que aparecerá cuando apoyamos el cursor sobre la imagen.
La etiqueta <img> cuenta con dos atributos más que pueden ser usados para “editar” la imagen desde el cĂłdigo. Estos son width y height, pero no es recomendable usarlos dado que casi siempre deforman la imagen. Si necesitamos usar una foto de un ancho de 450 pĂ­xeles, no tenemos que determinar esto desde el HTML, sino que tenemos que editar la foto usando un programa alternativo, y luego subirla. Las ediciones de imágenes se tienen que hacer de forma paralela. Además de usar pĂ­xeles, tambiĂ©n podemos indicar estas medidas en forma de porcentaje.
En definitiva, los atributos “obligatorios” son src y alt. No pueden dejar de estar en todas las imágenes que subimos al servidor. En cuanto al formato en que tiene que estar la imagen, depende de uno, pero tengamos en cuenta que al estar trabajando con web podemos tener limitaciones de peso de subida desde nuestro propio servidor, y tambiĂ©n tenemos que hacer que la imagen cargue rápidamente para nuestros usuarios. Por eso, es mejor usar los formatos más livianos para la web, en 72dpi (o pĂ­xeles por pulgada) y en formato PNG o JPG.

Las listas

Otra gran forma de usar HTML es a travĂ©s de las listas. Se trata de agrupar una serie de textos en un conjunto ordenado o desordenado, que se podrá ver de forma diferente en el resultado final. Por este motivo, tenemosdos tipos de listas que se manejan con etiquetas diferentes: se tratan de las listas ordenadas y de las listas desordenadas. TambiĂ©n tenemos la opciĂłn de sumar un tipo diferente, las listas de definiciĂłn, pero al no ser tan usado no estaremos viĂ©ndolo en profundidad aquĂ­.
Comenzaremos por las listas desordenadas. Este tipo de listas es el más implementado dada su sencillez. La etiqueta con la cual podemos formar listas desordenadas es un elemento de bloque, y sus dos etiquetas principales son <ul> y <li> (etiqueta que comparte con la lista ordenada). En definitiva, una lista desordenada tendrá este aspecto en el cĂłdigo:
<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ul>
Notemos que cada una de las etiquetas <li> tiene que estar cerrada. Una vez que tengamos todo dentro de este código, este será el resultado:
  • Elemento 1
  • Elemento 2
  • Elemento 3
Pasaremos ahora a las listas ordenadas. La etiqueta contenedora cambia, dado que será <ol>, pero el mecanismo es básicamente el mismo. Esta es una porciĂłn de cĂłdigo para una lista ordenada:
<ol>
<li>Elemento 1</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ol>
Y el resultado será:
  1. Elemento 1
  2. Elemento 2
  3. Elemento 3
La diferencia entre las listas ordenadas y desordenadas, además de la obviedad, es que tiene un atributo que nos permite cambiar las viñetas o nĂşmeros que ordenan. Para poder usar a, A, o I en lugar de 1., podemos usar el atributo start.

Las tablas

Finalmente, llegĂł la hora de uno de los asuntos más “complicados” del HTML. Puede que sea difĂ­cil de resolver en un primer momento, pero rápidamente nos acostumbraremos. Las tablas pueden usarse en el sentido tradicional, para organizar informaciĂłn, pero dentro de una página web tambiĂ©n pueden usarse para organizar secciones como el header, el footer, el banner, etc. Básicamente nos dicen dĂłnde deberĂ­an ir las cosas.
Usar tablas para organizar páginas web es un acercamiento muy 90’s a la cuestiĂłn. Hoy en dĂ­a la práctica utilizada es crear contenedores div en CSS para poder ubicar las partes de la página de forma correcta. Pero las tablas mantienen una cierta utilidad.
Las tablas están incluidas en HTML desde sus primeras versiones para facilitar el manejo de datos. Pero pueden causar que el producto final de nuestro trabajo sea demasiado pesado y tarde demasiado tiempo en cargar en el navegador, más si lo complementamos con imágenes y otros recursos. Cuando creamos una tabla en HTML, básicamente estamos usando los mismos elementos de siempre que nos permiten crear filas y columnas, encabezados, y más.
Tenemos varios tipos de tablas. Comenzaremos con las tablas simples. En este caso, se componen de tres etiquetas, y no tienen demasiada dificultad. Más adelante hablaremos de atributos y otras cuestiones específicas. Las tres etiquetas son:
  • <table>, para delimitar el comienzo y fin de una tabla
  • <tr>, que delimita el comienzo de cada fila
  • <td>, que determina el contenido de cada celda.
Puede ser algo confuso, pero pensemos que <tr> es table row, por lo que es la fila, y <td> es table data.
Una tabla en HTML se forma de esta manera:
<table>
<tr>
<td>Celda 1</td>
<td>Celda 2</td>
<td>Celda 3</td>
</tr>
<tr>
<td>Celda 4</td>
<td>Celda 5</td>
<td>Celda 6</td>
</tr>
</table>
El resultado final será este:
Para seguir avanzando, podemos complejizar la tabla usando otras etiquetas y atributos específicos de las tablas. Por ejemplo, la etiqueta <th> se usa dentro de <tr> como reemplazo de <td>, y es una etiqueta de encabezado de tabla. Si la usamos, el texto que ingresemos en esta etiqueta se verá luego destacado. Las propiedades de este destaque se pueden definir a través de CSS.
Esto nos lleva a hablar de los atributos especĂ­ficos de las tablas. Aunque hay muchos, mencionaremos los más imprescindibles, los que nos permitirán jugar más con las tablas y hasta con la estructura de un sitio web, si es que queremos crear uno para practicar. Estos atributos son muy importantes para la creaciĂłn de tablas complejas.
  • colspan: se trata del nĂşmero de columnas que tiene que ocupar la celda. Si quiero tener una celda más grande, que ocupe 2 columnas mientras el resto ocupa una sola, tengo que usar este atributo seguido por la cantidad de columnas: colspan=”2”.
  • rowspan: en el mismo sentido que el anterior atributo, tenemos que usar rowspan para fusionar celdas en una fila.
Estos dos atributos nos permiten crear tablas complejas y organizar la información de forma diferente. También se pueden usar otros atributos, pero no son tan comunes.
  • abbr: es el atributo que describe el contenido de la celda
  • headers: nos muestran las celdas que actĂşan como cabeceras.