Este es un proyecto cancelado que no recibe actualizaciones. No obstante, puedes acceder a su archivo como referencia.

Versión Cero

Pon un controlador en tus desarrollos web

Me ha parecido muy interesante el último artículo de Digital Web donde se habla de los patrones de presentación Web y la arquitectura Model-view-controller. Para los que no estén familiarizados con este tipo de metodologías, el dibujito que acompaña al artículo es muy esclarecedor:

El modelo se entiende con facilidad: cuando se realiza una petición HTTP, antes de volcar la respuesta (normalmente en HTML, pero el caso es el mismo cuando se devuelve XML, PDF, etc.) un mecanismo en el código evalúa los inputs, realiza las acciones oportunas basándose en un “diccionario” de posibles argumentos y establece el valor de variables y objetos globales. A continuación transfiere el control a la presentación de la página, donde la interfaz debería encargarse de indicar al usuario qué es lo que realmente hemos hecho con su petición: resultados de búsqueda, entrada en un backoffice, mostrar errores encontrados, etc…

El artículo plantea los dos casos de uso de este principio. El Page Controller es el uso natural, cada página se controla a sí misma y a veces podría ser una entidad independiente de todo el desarrollo. Este es el tipo de metodología que encontraremos en la mayoría de proyectos Web. El otro caso es el Front Controller, que extiende el modelo de escucha y control a cualquier petición realizada, y aunque cada página disponga de su propio módulo de presentación, el núcleo de respuesta que decide el estado del sistema es común a toda la aplicación.

Implementar un controlador es sencillo. Puedes hacerlo mediante una clase única que se instancia en cada petición, o bien un conjunto de variables globales, funciones, etc.

-Eh, que mi “aplicación” es una página web para la tienda de la esquina y no necesito ese rollo de controladores, como mucho para el formulario de contacto, y eso ya lo tengo arreglado.

Bueno, probablemente con lo que tienes puede bastar. Pero veamos qué ventajas pueden extraerse de introducir un controlador común a todo el desarrollo:

  • Antes de llamar al controlador puedes definir en sus variables el título de la página, palabras claves, imagen de la cabecera, etc. El controlador los almacena y las cabeceras y los pies de página pueden ser includes que tomen estas referencias del controlador. Muy útil para meter aquí todas las técnicas SEO.
  • Si la mayoría de las páginas contiene un formulario de búsqueda, enviar a un amigo, etc. el controlador podría encargarse de comprobar si se han realizado búsquedas, almacenar los resultados, etc.
  • Registra los referers y añade un sistema de estadísticas personalizado desde el controlador sin añadir más dependencias a la aplicación.
  • Controla el estado de las cookies u otro sistema para comprobar la identificación de usuarios en las páginas de administración.
  • En una única función/método se centralizan todos los casos de uso del sitio web, y si se aísla convenientemente de la presentación puede reutilizarse para otras interfaces de servicios web, sindicación RSS, etc.

Y a ti seguro que se te ocurren utilidades más específicas, prácticas y reutilizables.

ThinkCAP JX disponible bajo licencia GPL

El framework de desarrollo rápido AJAX ThinkCAP™ JX de ClearNova ha sido liberado bajo licencia GPL
Se trata de una suite que proporciona sustanciales mejoras de productividad frente a las librerías libres disponibles hasta ahora como AjaxTags
En DevX, puede leerse, además, que Microsoft incorporará soporte AJAX sobre .NET
Hay una demo de cosas que se pueden hacer con AJAX en AJAX JSP Tag Library Examples

Disponible Geronimo 1.0

Segun anunciaba Apache News el pasado 14 de diciembre, ya está disponible la versión 1.0 del polémico servidor de aplicaciones J2EE Apache Geronimo con la certificación oficial J2EE 1.4 y soporte de IBM
Puede leerse una breve evaluación en JavaWorld A first look at Apache Geronimo

JetSpeed 2.0

Según se anunció el pasado día 10 en la lista de noticias de Apache ya está disponible JetSpeed 2.0 que fue presentado al público en la ApacheCon US’05 de San Diego.

JetSpeed 2 implementa la especificación de portlets JSR-168 que anteriormente sólo estaba soportada en la versión 1.6 a través de Fusion. También introduce Portals Bridges 1.0 para el desarrollo de portlets en PHP. Entre las nuevas funcionalidades está también la posibilidad de usar LDAP para la autentificación de usuarios y un plug-in para Maven

Versión 1.11 de MTASC

Motion-Twin anuncia una nueva versión estable de Motion-Twin Action Script 2 Compiler, el primer compilador free, open-source para ActionScript.

Versión 5.1.0 de PHP

Está disponible la versión 5.1.0 de PHP, en la que se ha re-escrito el código de manipulación de datos, se han incluido 30 nuevas funciones y depurado más de 400 bugs y problemas de seguridad, además de otros cambios.

[29-11-2005]

Tan sólo 4 días después se ha publicado la revisión 5.1.1 para solucionar errores de regresión que se habían colado en la anterior.

moo.fx: librería de efectos javascript

moo.fx es una librería de efectos javascript, que pueden verse en la página de demostración. Está desarrollada con prototype y es compatible con Firefox, Safari e Internet Explorer.
Más información en la página del proyecto.

Swat Web Application Toolkit

Silverorange ha anunciado la liberación de swat: un conjunto de herramientas sobre PHP5 para el desarrollo de aplicaciones web open-source.

La página del proyecto ofrece documentación on-line completa del API, descarga y acceso al repositorio de código, y un área de comunidad para participar en el proyecto.

Atlas vs. Ajax.NET

Si estamos desarrollando en asp.net puede que dudemos si utilizar una u otra tecnología: Atlas o Ajax.NET.

Aquí tenemos algunas diferencias:

Atlas:

  • Framework Ajax oficial de Microsoft.
  • Todavía no disponible (versión alpha).
  • Dispondrá de extensiones javascript (controles UI, eventos), controles de servidor, integración con webservices, etc.
  • Licencia ¿cerrada?
  • Lee más sobre Atlas en Versión Cero

Ajax.NET:

Seguimiento del Congreso WebDosBeta

El Congreso WebDosBeta, del que ya os hablamos, tuvo lugar el lunes pasado.

El seguimiento más completo del mismo se puede leer en el weblog Loogic.

Para Javier Martín, el autor de Loogic, lo más destacado fueron las ponencias de Tagzania, eyeOs y CompareBlogs, además de las mesas redondas y la oportunidad de conocer a algunos de los conocidos de la blogosfera española.

En la página web oficial de WebDosBeta están publicando poco a poco las ponencias virtuales y no se si lo harán también con las presenciales.

Acerca - Contacto - Información legal y técnica - Condiciones de uso - Noticias sobre el mundo del Desarrollo de Software.