Archivos Mensuales: junio 2009

Nueva versión de jQuery User Interface

Admito que desde que descubrí jQuery veo programar con JavaScript con otros ojos. ¿Y qué es jQuery? De forma resumida: es un conjunto de librerías diseñadas para facilitar la programación con JavaScript.

Presenta muchas ventajas, entre ellas:

  • Cross-Browser: facilita la creación de código compatible con todos los navegadores.
  • Ligero: apenas ocupa 19kb, y ofrece un gran número de funciones muy útiles en el día a día del programador (AJAX, animaciones, ocultar y mostrar elementos, validación, efectos gráficos)…
  • Sencillo y bien documentado: es increiblemente fácil de aprender, y tan sencillo de manejar que tras 15 minutos de usarlo ya te sientes cómodo con él.
  • Extensible: mediante plugins, encuentras de todo (galerías de imágenes, efectos, transiciones, etc.).

Pero recientemente se ha lanzado una “extensión” de jQuery: se llama jQuer User Interface y, como su nombre en inglés indica, permite crear de forma sencilla componentes gráficos de interacción con el usuario.

Por ejemplo:

  • Pestañas
  • Acordeón
  • Selección de fecha con calendario
  • Ventanas de diálogo (incluidas modales). Este punto me gusta especialmente: ¡por fin una solución decente a una necesidad tan básica! Se acabaron los alert y confirm.
  • Barras de progreso.
  • Y un sinfín de posibilidades.

Te animo a que le dés un vistazo. Merece la pena. De momento, ya planeamos usarlo de forma extensa (pero con cabeza, no merece la pena recargar la web con estos efectos) para nuestro próximo gran proyecto: la Tienda Virtual 3.0 de SGM Sistemas.

Descarga (gratuita), documentación y ejemplos: página oficial de jQuery y jQuery UI.

Anuncios

¡Ya está aquí!

¡Así es! ¡La nueva web de Iván Argulo está casi terminada!

Todas las sugerencias son bienvenidas. ¿Qué os parece? http://ivanargulo.com

Flash vs. HTML

Es posible que, al leer el título, muchos esperen una respuesta definitiva y categórica, similar a: “X” es mejor. Lamento decepcionarte si esperabas esto…

¿Por qué? Bueno, de forma resumida, en términos generales ninguna tecnología es mejor que otra. Ambas tienen sus puntos fuertes y sus puntos débiles. Veamos.

HTML es un lenguaje de marcado de etiquetas. Es decir, el texto se formatea mediante marcas especiales que lo distinguen. Por ejemplo:

<strong>Esto es un párrafo en negrita</strong>

Presentaría el texto más grueso, en negrita. Nótense las etiquetas <strong> y </strong> que engloban el texto.

Flash, por el contrario, es un conjunto de herramientas y tecnologías que trabajan usando fotogramas, similar a una película de cine.

Siendo realistas, no es justa la comparación Flash vs. HTML. ¿Por qué? Básicamente, HTML es un lenguaje antiguo y muy limitado; tanto que hoy en día no existe ninguna página realizada exclusivamente en HTML.

Pero, ¿no es cierto que todo lo que vemos en Internet es HTML?

En cierto modo, sí y no. Veamos: cualquier página web moderna usa un conjunto de lenguajes complementarios al HTML, por ejemplo CSS, JavaScript y, opcionalmente, un lenguaje de servidor como PHP (o ASP), incluso enlazado a una base de datos.

Por eso decimos que la comparación Flash vs. HTML no es justa, ya que hoy en día es imposible concebir HTML sin todos sus “anexos”.

Por tanto, la pregunta se convierte en: ¿qué es mejor? ¿Flash, o HTML + CSS + JavaScript? La respuesta, en mi opinión, es: nunca hagas un sitio web completo en Flash.

Hay gente que opina de forma distinta (afortunadamente) y consigue realizar sitios web asombrosos en Flash (véase este ejemplo). Son animaciones gigantescas, muy elaboradas gráficamente y muy costosas.

Pero, ¿qué sucederá si necesitas hacer tu web en varios idiomas? Generalmente, en Flash hay que duplicar todos los archivos y modificarlos en el nuevo idioma… una labor colosal.

Pongamos ahora este otro ejemplo: la nueva web de L’Antic Colonial (desarrollo en el que he participado recientemente, en la empresa de Diseño Web SGM Sistemas). Destacamos lo más importante: categorías y colecciones (menú lateral) administrables. Productos y ambientes administrables. Noticias, descargas, novedades, área de usuarios… y un larguísimo etcétera. ¿Imaginas hacer todo esto en Flash? Podría hacerse, obviamente, pero sería mucho más caro y difícil.

Si te fijas, en la portada hay una animación en Flash, con varias imágenes alternando. Para eso se concibió Flash, para hacer animaciones. Y un sitio web completo no es, al menos no debería ser, una animación.

En resumen:

Lo bueno de Flash:

  • Posibilidad de crear animaciones espectaculares.
  • Gran integración con otras herramientas de Adobe (como Photoshop).

Lo malo de Flash:

  • Carente de accesibilidad (aunque están mejorando en ello): historial, favoritos, navegación por voz…
  • Te vincula a una herramienta cerrada, y cara: Adobe Flash.
  • Dificultades para vincular con bases de datos (generalmente se usa un lenguaje intermedio, XML, para poder leer los datos).
  • Más pesado = más tiempo de carga.
  • Más costoso (en tiempo y dinero).

Lo bueno del HTML:

  • Ligero y rápido.
  • Lenguajes auxiliares muy completos: CSS, JavaScript, PHP/ASP/JSP, conexión a bases de datos…
  • Estándar, accesible, abierto, gratuito.
  • Funciona en multitud de plataformas, sistemas operativos, navegadores, dispositivos móviles…
  • Versatilidad: puedes hacer lo que quieras.

Lo malo del HTML:

  • Necesita de otras tecnologías (ya mencionadas) para que sea medianamente decente.

Para mí, la mejor combinación para realizar una aplicación web de calidad es:

HTML para mostrar en el navegador.
CSS para el estilo de la web.
PHP para añadir programación del servidor (usando el fabuloso framework CodeIgniter).
JavaScript para la programación del cliente (con la magnífica librería jQuery para simplificar la tarea).

Dominando estas tecnologías, puedes olvidarte por completo de Flash.

Próximamente…

ivanargulo

La nueva web ivanargulo.com. Desarrollada con CodeIgniter, en 3 idiomas. Previa disponible aquí: http://ivanargulo.com