links for 2007-05-05

|

10 razones por las que usar Silverlight

silverlight.pngEl título original dice ’10 razones por las que Silverlight cambiará la web’, y en mi opinión es pasarse un poco, entre otras cosas porque tampoco veo nada nuevo. Eso sí, también hay que reconocer que Silverlight parece una buena alternativa a Flash, sobre todo para los que desarrollen aplicaciones en .NET con Visual Studio. Microsoft sabe hacer las cosas y algo que gusta mucho a los jefes de proyectos es que todo esté conectado entre sí de forma fácil y rápida.

Las 10 características son las siguientes:

  • Vídeos de alta calidad: la misma tecnología que se usa para VC-1, el codec de los BluRay y HD DVD, es la que se usa para el streaming de los vídeos.
  • Multiplataforma y multinavegador: funcionará para cada plataforma y cada navegador, incluso gracias al proyecto Mono funcionará para Linux.
  • Unión de diseño gráfico y desarrollo: los desarrolladores de Visual Studio podrán crear aplicaciones para Silverlight de forma rápida, pudiendo separar el core de la aplicación de la parte gráfica.
  • Barato: tan solo es necesario disponer de IIS en nuestro servidor Windows, aunque debería funcionar en todos los servidores web. Este punto es un tanto confuso, el autor dice que es barato, pero por lo poco que he entendido, Silverlight es un plugin, como lo es el Flash Player, y su precio es gratuito. IIS no lo necesitas para nada, porque es como almacenar un archivo .swf o .png (si mal no creo). Ahora bien, ¿el precio de Visual Studio para desarrollar las aplicaciones o animaciones que funcionen en Silverlight?, mirando el precio de Flex (810€ la versión con Charting, 520€ la versión normal) y el precio de Visual Studio (1.284€ para Visual Studio 2005 Professional Edition con Suscripción MSDN Premium, aunque hay otro producto que se llama igual pero que cuesta 2.675€), no sé que pensar sobre lo barato que es.
  • Soporte a lenguajes de terceros: gracias a la nueva Dynamic Language Runtime es posible usar Ruby, Python y EcmaScript para desarrollar aplicaciones Silverlight y dejar a un lado .NET. ¿Pero esto es como cuando te dicen que puedes crear ficheros Excel, pero que tienes que tener instalado el Excel?, ¿puedes pasar de .NET y también de Visual Studio o solo de .NET?.
  • Depuración multiplataforma y multinavegador: gracias a las características que ofrece Visual Studio.
  • Mejor entorno de desarrollo del planeta: bueno, esto va en gustos, y al autor le debe gustar mucho Visual Studio.
  • Soporte a mashups: muy buena utilidad, obtenida gracias al soporte a LINQ y LINQ-to-XML por parte de Silverlight y a que los datos son accesibles mediante RSS, POX, REST y JSON.
  • Protección anticopia: evitando así que los contenidos como vídeos se puedan copiar como ocurre en los vídeos Flash como los que ofrece Youtube. Hasta que venga uno y consiga copiarlos…
  • Rapidez: habrá un gran incremento en la rapidez en las aplicaciones basadas en Ajax que usen Silverlight.

Otro punto que cuestiono es el alarde que hace el autor de que solo ocupa 2Mb., pero eso es solo el Silverlight, y según he entendido es necesario .NET, por lo que a esos 2Mb hay que añadirle los 22Mb. del framework de .NET. Demasiado si lo comparamos con el tamaño del Flash Player que es el que ejecuta las aplicaciones Flex.

Lo siento, me ha sido incapaz no dar mi opinión, que quizás parezca anti-microsoft, pero he leído en varios sitios cosas parecidas al siguiente artículo, y aunque seguro que Silverlight aporta buenas cosas a la web, tampoco hay que pasarse.

Top 10 Reasons Silverlight Will Change the Web

Vía / dzone

Almacena la sesión del navegador en la BD con PHP

La mayoría de las aplicaciones web usan la sesión para almacenar información que podemos utilizar en todas las páginas que visitemos, así no será necesario pasarla por parámetro como muchas veces se hace (incorrectamente).
Normalmente la sesión se guarda en un fichero en el servidor, lo cual puede ser un problema, ya que si queremos usar varios servidores en cluster, la sesión no estaría disponible si en la siguiente página que visitamos, el servidor que atiende nuestra aplicación no es el mismo. Yo no soy experto en sistemas, pero si el sistema permite session-aware en el balanceo de carga, no nos encontraremos con este problema.
Si nos encontramos con ese problema y es necesario solucionarlo mediante programación, PHP nos permite gestionar las sesiones, indicando el modo de guardar y leer las sesiones. Para ello existe la función session_set_save_handler(), en la cual indicaremos los métodos para abrir, cerrar, leer, escribir, destruir y liberar sesiones.
En el artículo que referenciamos guardan la sesión en la base de datos, para lo cual habrá que crear una tabla que almacene el ID de la sesión, la información y la fecha de expiración. Las acciones de tratamiento de la sesión usarán esta tabla para almacenar y tratar la información de la sesión. Al abrir y cerrar la sesión no se debe hacer nada, leer leerá de la tabla según el ID dado y si no ha expirado, guardar insertará/modificará en la tabla guardando los datos, destruir borrará los datos de la tabla y liberar sesiones borrará de la tabla las sesiones que hayan caducado.
Storing PHP Sessions in a Database
Vía / PHPDeveloper.org

Guía de novedades de PHP 5.2.x

Aunque ya hace tiempo hablamos de las novedades que trae PHP 5.2.x, hoy vamos a mencionar una serie de artículos creados por IBM en la que se nos explica cada una de estas novedades.

Nuevo gestor de memoria

Aunque PHP ya gestiona por nosotros la memoria utilizada en los scripts, no quita que a veces sea necesario gestionar por nuestra cuenta un recurso tan preciado como la memoria.

En versiones anteriores ya podíamos liberar memoria usando la función unset(), pero en esta versión, PHP nos ofrece dos funciones nuevas con las que controlamos el uso de memoria: memory_get_usage() y memory_get_peak_usage(), ambas nos devuelve el uso de memoria, pero con la diferencia de que la segunda nos devuelve el pico de memoria usada y la primera el uso de memoria en ese momento.

Con estas funciones, cuando nos encontremos en un bloque de código que sepamos que gasta mucha memoria, podremos controlar el flujo de la ejecución dependiendo del uso de memoria, así poder evitar problemas de gasto de recursos o evitar errores. Incluso limitar el uso de memoria a scripts, por ejemplo, si queremos obtener en background los feeds de unos blogs para crearnos un planet, podemos evitar que el script utilice mucha memoria y parar cuando haya llegado a un tope.

Nueva extensión de filtro de entrada

Para evitar ataques por parte de usuarios y para mejorar nuestra seguridad, PHP 5.2 incluye dos tipos de filtros para tratar los datos que nos llegan por los formularios de entrada.

Los filtros son de dos tipos uno de tipo sanitizing (desinfectar), el cual elimina caracteres no deseados de un texto y lo devuelve sin estos, y el otro lógico, el cual hace comprobaciones sobre esos textos.

En ambos casos se usa la función filter_var(), pero dependiendo de si se usa el flag FILTER_SANITIZE_STRING o el FILTER_VALIDATE_INT, realizará cualquiera de los dos filtros.

Nueva extensión JSON

Ni que decir tiene que JSON es parte fundamental en las nuevas aplicaciones realizadas con Ajax, por eso PHP incluye dos funciones: json_encode() y json_decode(), la primera transforma datos de PHP en una estructura JSON y la segunda al revés, datos JSON en una matriz de PHP.

Nueva extensión ZIP

El uso de ficheros ZIP, para comprimir ficheros, puede sernos muy útil en muchos casos, ya no solo por comprimir el tamaño de los archivos, sino también porque agrupa en uno solo varios ficheros. La nueva extensión de PHP usa las funciones de la clase Ziparchive para leer y crear ficheros ZIP.

What’s new in PHP V5.2

Ejecuciones multi-hilo en PHP

Algo fuera de lo común, pero que nos puede ser útil alguna vez, es ejecutar en nuestro script PHP, tareas multi-threading.
Aunque PHP no está preparada para la ejecución de threads, el autor del artículo se crea una clase para tratar estas ejecuciones. La simulación de los hilos lo realiza mediante la funcion proc_open(), la cual ejecuta un comando y abre punteros de archivo para entrada/salida.
Uno de los problemas que veo es el tratamiento de errores, que aunque se obtienen mediante el buffer de salida de error, no creo que se tenga un buen control sobre estos.
Multi-threading strategies in PHP
Vía / PHPDeveloper.org

links for 2007-05-03

Las 10 mejores aplicaciones y servicios web gratuitos

Una lista de 10 aplicaciones o servicios web gratuitos que nos pueden ser de gran ayuda:

  • Google Analytics: nos analiza nuestra web y nos ofrece unas estadísticas muy completas.
  • MyBlogLog y BlogCatalog: especial para bloggers, un punto de inicio para darnos a conocer y crear una comunidad alrededor nuestro.
  • HitTail y 103Bees: similares entre sí, nos ofrecen en tiempo real un análisis de las visitas desde buscadores.
  • FeedBurner: maneja nuestros feeds, nos permite llevar un control sobre la gente que accede a ellos, a parte de descargarnos de un tráfico importante para nuestra web o blog.
  • Morgue File: un servicio de almacenamiento para imágenes que se puede usar o para fines comerciales o particulares. Yo casi me quedo con otros servicios de este mismo estilo.
  • OpenAds: servicio de publicidad que podemos instalar en nuestro servidor.
  • La suite de 37Signals: aunque no se trata de una suite para páginas web, sus aplicaciones nos permiten mejorar nuestra productividad: gestor de proyectos, gestor de contactos, chat agrupados y organizador de información y calendario.
  • WordPress: plataforma de blogs más conocida y extendida.
  • Overture Keyword Selector Tool: para SEO más avanzado, nos ofrece una lista de términos y palabras que Yahoo recibe en sus búsquedas.
  • Pew Internet Project: nos ofrece datos y estadísticas sobre el impacto de internet en las familias, comunidades, trabajo y otros grupos.

The Top Ten Free Website Tools and Services

Vía / Digg

links for 2007-05-02

links for 2007-05-01