martes, 18 de enero de 2011

HTML 5 ya tiene logotipo oficial

HTML 5

Si, el W3C lanzó el logotipo oficial de HTML 5 como parte de la campaña para impulsar el standard.

El logo no es solo una imagen suelta. Hay detrás una serie de guías de uso, ya se han hecho stickers y remeras, y además está publicado bajo una licencia Creative Commons que permite flexibilidad al utilizarlo.

Entre otras características, el logo puede ser acompañado en una placa que puede agregarse a cualquier sitio para detallar cada una de las tecnologías del estándar que están utilizadas en esa aplicación.

Este ejemplo muestra todas las características habilitadas (los íconos de cada una son parte del paquete de diseño que acompaña el logo):

HTML5 Powered with Connectivity / Realtime, CSS3 / Styling, Device Access, Graphics, 3D & Effects, Multimedia, Performance & Integration, Semantics, and Offline & Storage

Notarán si pasan el mouse sobre la imagen la lista de las tecnologías soportadas. Los íconos corresponden a:

HTML5_Connectivity
Conectividad: hace referencia a Web Sockets y Eventos enviados desde el servidor, que habilitan un estilo de comunicación "push" (donde el browser cliente no necesita timers para ir a buscar novedades, sino que puede recibirlas) o entre pares (browser a browser, por ejemplo).

HTML5_Styling
CSS3
: extiende los estilos para soportar transiciones y efectos, tipografías y muchos otros detalles de presentación.

HTML5_Device_Access
Acceso a dispositivos
: implica acceso a características específicas del hardware debajo del browser. El ejemplo actual de implementación es el Geo-posicionamiento (el API abstrae esta funcionalidad de la manera en que el dispositivo la resuelve -con una combinación de GPS, WiFi, señales de red celular, etc).

HTML5_3D_Effects
3D, Gráficos y Efectos: cubren características como SVG, Canvas, WebGL y extensiones 3D de CSS3.

HTML5_MultiMedia
Multimedia: incluye los nuevos tipos de objetos que soportan audio y video.

HTML5_Performance
Rendimiento e Integración: refiere a la nueva funcionalidad de Web Workers, que permiten ejecutar scripts en paralelo, y XMLHttpRequest nivel 2, que mejora el componente original con la capacidad de manejar peticiones desde orígenes cruzados, agrega eventos de progreso y manejo de streams para envío y recepción.

HTML5_Semantics
Semántica
: enriquece el contenido al darle significado a través de nuevos tags, RDFa, micro-data y micro-formatos.

HTML5_Offline_Storage
Fuera de línea y Almacenamiento
: abarca el soporte para operar en forma desconectada a través de las APIs de App Cache, Local Sotrage, Indexed DB y File.

 

Esperemos ver el logo en uso frecuente hasta que estas características sean ubicuas y se transforme en irrelevante.

lunes, 17 de enero de 2011

Video: Avalancha de lanzamientos desde Microsoft

WebMatrix

El Web Platform & Tools Content Team de Microsoft (hasta donde recuerdo, el grupo en el que está Scott Hanselman) acaba de liberar una cantidad impresionante de productos:

El hecho de que haya salido todo junto no es casualidad: todos estos productos están relacionados de alguna manera, ya que en principio son todos piezas de la nueva estrategia de Microsoft para el desarrollo web, caracterizada por romper un poco los esquemas tradicionales de la compañía. Por ejemplo, muchos de los componentes están liberados como Open Source, y otros son gratuitos, y en líneas generales todos son bastante livianos (mucho más de lo habitual en el mundo Microsoft al menos).

Esta renovada plataforma responde indudablemente al intento de Microsoft de competir con el ambiente más popular en el desarrollo web que va desde PHP hasta Ruby on Rails, e incluso abarca parte de este espacio, como veremos.

Veamos cada componente en un poco más de detalle. Como hay mucha información de Microsoft al respecto, lo que leerán es mi interpretación personal sobre ellos, tratando de relacionarlos con equivalentes en otras plataformas con el objetivo de entender rápidamente el propósito de cada pieza, sin entrar en comparaciones sobre si una es mejor que otra. En principio, es difícil comparar plataformas disimiles y componentes aislados.

ASP.NET MVC es un framework open source basado en el ya antiguo patrón MVC (fue postulado originalmente por Trygve Reenskaug entre 1978/79 en Xerox) y mayormente ignorado por Microsoft en su aproximación a la web, mientras se lo adoptaba en otros ámbitos en frameworks como Struts en Java, Joomla/Drupal en PHP, Django en Python y Rails en Ruby.

Esta versión de MVC incorpora algunas novedades como un nuevo motor para las vistas, Razor, que tiene una sintaxis muy suscinta y clara para mezclar código con HTML con un mínimo de interferencia. También mejoraron mucho la limpieza del JavaScript que integran del lado cliente al evitar scripts inline y usar en cambio anotaciones de HTML 5 que son manejadas por JQuery y jQuery.unobtrusive-ajax, con lo que se pueden realizar validaciones y otras tareas del lado cliente.

Otro pilar de este framework es la extensibilidad, ya que se puede cambiar fácilmente el motor de vistas, soporta montones de frameworks de testing, alternativas para el modelo y su persistencia, y en esta nueva versión incluso mejora el mecanismo de inyección de dependencias, de modo de poder usar el contenedor que más nos guste para intercambiar cualquiera de las piezas.

NuGet es un administrador de paquetes que intenta acercar la funcionalidad de las gem de Ruby al mundo .NET. Todavía es relativamente nuevo, pero comparado con el proceso anterior de búsqueda e inclusión manual de las dependencias es un avance enorme, y seguramente va a facilitar mucho el uso de componentes externos. El proyecto es open source y es mantenido por Microsoft y miembros externos.

IIS Express es una versión gratuita de desarrollo del servidor web, mucho más liviana que el servicio completo, y con la posibilidad de utilizarlo y configurarlo sin requerir privilegios de administrador, algo que tradicionalmente generó muchísimos problemas en equipos dentro de un entorno corporativo seguro.

SQL Server Compact 4 es una versión embebida y gratuita de SQL Server. Algo similar a un SQLite. Los binarios se copian directamente dentro de la aplicación y la base de datos corre dentro del mismo proceso, con lo que no es necesaria ninguna instalación. Por supuesto este servidor no tiene las características de escala que sus hermanos mayores, pero es más que suficiente para una gran cantidad de aplicaciones, y no tiene ningún tipo de restricción de uso en su licencia.

Web Deploy y el Web Farm Framework, como sus nombres lo indican, facilitan el proceso de despliegue y actualización de aplicaciones web en servidores únicos o compuestos en granja. Ambos componentes son gratuitos.

Orchard es un sistema de administración de contenido y blogs open source, basado en MVC 3, utilizando Razor y SQL Compact por omisión. Después de un intento similar poco prolijo y muy criticado (llamado Oxite), Orchard estuvo mucho más cuidado en todo sentido, y aunque por supuesto hay críticas, el consenso es que esta es una aplicación de referencia mucho más valiosa.

Y finalmente, WebMatrix es una herramienta gratuita de desarrollo de aplicaciones web que soporta una cantidad bastante variada de tecnologías en base a plantillas, incluyendo cosas dentro y fuera del mundo Microsoft (aunque corriendo en Windows), como ScrewTurn, Umbraco, DotNetNuke, Orchard, Blogengine.net,WordPress, Drupal y Joomla. Por debajo, WebMatrix incluye IIS Express y SQL Compact, brindando un entorno completo.

Algo interesante que tiene WebMatrix es una cantidad creciente de helpers para integrar muchísimos servicios servicios populares hoy día en la web, como Bit.ly, Facebook, EventBrite, FourSquare, OData, Twitter, UserVoice y muchísimos más.

 

Finalmente, otro elemento importante de todo este combo es la cantidad impresionante de documentación disponible. Basta como muestre este listado de recursos.

Para cerrar, les dejo este video presentando WebMatrix dentro de CodeMash 2.0.1.1(si tienen problemas viendo el video, prueben en la página original en Channel 9):

viernes, 14 de enero de 2011

Video: ¿Existe la mejor forma de probar?

Agiles

El martes pasado se realizó la reunión mensual de Agiles @ Buenos Aires, organizada por la comunidad local Agiles.org. Para estar al tanto de estas actividades conviene suscribirse a la lista de correo Agiles Argentina.

La mecánica de estas reuniones es que tradicionalmente al cierre de cada una se proponen y votan los temas para la próxima, teniendo en cuenta temas que estaban pendientes en una especie de backlog informal.

Esta vez el tema central fue el testing desde un punto de vista ágil, iniciando con la presentación de Juan Gabardini titulada "¿Existe la mejor forma de probar?". En la sesión Juan recorre su experiencia personal como desarrollador volcado a tareas más ligadas a control de calidad (QA), recorriendo el espectro desde las pruebas manuales hasta las técnicas de automatización más sofisticadas, y reflexionando sobre el valor de cada variante y sus combinaciones.

La segunda mitad del evento fue una serie de preguntas, respuestas y debate a raíz de la presentación, que fue muy interesante pero es difícil de compartir en video.

Afortunadamente, si tenemos grabada la presentación de Juan, y para todos aquellos que tengan dudas o temas a debatir, creo que lo mejor puede ser plantearlos en la lista, donde tanto Juan como otros agilistas pueden aportar sus opiniones.

 

 

 

jueves, 13 de enero de 2011

YUI 3.3.0 - Nueva versión de la librería de Yahoo!

YUI Autocomplete

Recién salida del horno, la versión 3.3.0 de YUI (Yahoo! User Interface) trae unas cuantas novedades para pulir la interfaz de las aplicaciones web sin costo del lado servidor.

Entre las principales características:

  • Soporte para FireFox 4, Internet Explorer 9 y Android 2.2.
  • Abstracciones más dulces para manipulación de nodos, como show y hide para controlar la visibilidad de nodos completos (o listas de nodos), o wrap, unwrap y otros métodos.
  • Un widget para auto-completar entradas de texto (como se ve en la figura a la derecha).
  • Gráficos estadísticos (usando una combinación de SVG, Canvas y VML).
  • Un widget para tablas de datos, incluyendo paginado y ordenamiento dinámico de manera extensible. Al pie, los interesados pueden ver este video de Tilo Mitra presentando este componente en el evento YUIConf 2010.
  • Otro widget para incluir diales de valores (similares a una perilla de volumen) con una granularidad muy fina.
  • Y.ResizeUtilidad de resize, que activa la posibilidad de cambiar el tamaño de elementos en el browser utilizando los típicos ganchos en las esquinas y lados (ver imagen a la derecha).

Esta librería sigue creciendo y agregando mucha funcionalidad interesante. Mientras escribo esto estoy charlando con Juampi que es más fanático de JQuery (admito que yo también). Sin embargo, no hay que perder de vista que el mundo de Javascript es hospitalario y cuida la convivencia con el uso de recursos como espacios de nombres y pruebas extensivas con elementos externos.

Para quienes quieran aprovechar lo mejor de ambos lados, recomiendo pegar una leída a especialmente a la documentación de JQuery en relación a su uso con otras librerías.

Les dejo el video sobre las tablas de datos (en inglés):

 

miércoles, 12 de enero de 2011

Curso Certified ScrumDeveloper (CSD) Track - Verano 2011

Kleer

Hoy dedico el post a un pequeño aviso, porque se que hay mucha gente interesada en capacitación sobre Scrum, y en particular estos cursos tienen que ver con un área que me parece muy importante y no siempre bien cubierta, que es la parte técnica o de ingeniería que se requiere para poder mantener la calidad iteración tras iteración.

Esta serie de cursos que organiza Kleer (la única empresa en Argentina certificada por la Scrum Alliance para dar estos cursos), tiene el siguiente temario:

* Los conceptos básicos, valores y principios de la agilidad y Scrum 
* Técnicas de análisis de procesos e identificación de historias de usuario 
* Técnicas de estimación y planificación con Scrum 
* La creación de historias de usuario que den lugar a desarrollos evolutivos 
* La identificación y automatización de sus pruebas de aceptación 
* La comunicación con el equipo mediante integración continua 
* Técnicas de diseño y desarrollo dirigido por pruebas (TDD) 
* La utilización de taskboards y métricas ágiles 

El track está orientado a: 



CSD en acción

* Gerentes de Proyecto con formación en gestión 
* Gerentes de Proyecto con background técnico 
* Gerentes de Desarrollo 
* Líderes Técnico 
* Arquitectos de Sistemas 
* Desarrollador de Software

 

El programa completo incluye tres cursos independientes:

Curso de Introducción a Scrum

Duración: 8hs.

Fecha de Dictado: 21 de Febrero de 9 a 18hs

Lugar: Microcentro, Buenos Aires

Curso de Estimación y Planificación con Scrum

Duración: 8hs.

Fecha de Dictado: 22 de Febrero de 9 a 18hs

Lugar: Microcentro, Buenos Aires

Curso de Desarrollo Ágil de Software en Scrum

Duración: 24hs.

Fecha de Dictado: Del 23 al 25 de Febrero de 9 a 18hs

Lugar: Microcentro, Buenos Aires

Para consultas: entrenamos@kleer.la

También se puede ver  el calendario completo de Kleer o ver las fotos de los cursos anteriores en su página de Facebook.