Mostrando las entradas más recientes con la etiqueta desarrollo Mostrar las entradas más antiguas
Mostrando las entradas más recientes con la etiqueta desarrollo Mostrar las entradas más antiguas

jueves 10 de septiembre de 2009

Comet

Actualmente estoy trabajando en un proyecto que entre muchos requerimientos tecnológicos está el de refrescar la pantalla del browser sin interacción del usuario, esto se puede obtener de manera mas o menos sencilla con una técnica llamada Comet, este termino lo acuño Alex Russell quién es creador del Dojo Toolkit, también es conocida como Reverse Ajax, HTTP Server Push, entre otros nombres.

Esta técnica se basa en una mezcla de tecnologías y estándares tales como JavaScript, JSON y Java Servlets. La idea general es abrir una sesión y suscribirse a un Servlet manteniendo de alguna manera suspendida esa conexión esperando que suceda algún evento en el servidor y avisar al browser de dicho evento, como se puede observar en el siguiente diagrama, el cuál es una versión minimalista del que se muestra en el artículo original de Alex Russell:

Comet hosted by Ember


Existen en la red diferentes implementaciones que soportan este modelo tales como CometD que es un proyecto de la Dojo Foundation, DWR, que es una de las implementaciones con mas tiempo en el mercado, los famosos continuations de Jetty y los Future Response Servlet y Abstract Asynchronous Servlet de Oracle Web Logic.

Mucha de estas son implementaciones que están acopladas a los servidores para los que fueron desarrolladas o a un a las librerías de JavaScript propias

También existe una implementación de Jean Francois Arcand, uno de los principales desarrolladores de Grizzly llamada Atmosphere, que pretende ser una implementación cross-application-server, la cual al parecer es bastante sencilla de aplicar a proyectos legacy como nuevos.

Cabe destacar que todos estos frameworks pueden ser parcial o totalmente reemplazados por el suspendable request que es parte de la especificación Servlet 3.0, ya que esta será la manera estándar de llevar a cabo el modelo Comet.

Sin embargo tomando en cuenta que falta algún tiempo para que esta especificación salga a la luz y se generalice su uso, mientras esto sucede podemos hacer uso de los frameworks mencionados anteriormente.

Una de las preguntas que viene de inmediato a nuestras cabezas es: ¿Cuál es el mejor framework?, la respuesta correcta no existe, todos tienen ventajas y desventajas, sin embargo tenemos que evaluar cual se adecua mejor a nuestras necesidades, por ahora para mi las implementaciones de Oracle y Atmosphere son las mas se ajustan al proyecto antes mencionado, por lo cual son en las que estaré profundizando un poco mas en artículos posteriores ;).

jueves 25 de septiembre de 2008

Como comienzo a desarrollar en Mac?

Muchos desarrolladores que conozco están migrando al mundo
Mac y frecuentemente nos preguntan a las personas que llevamos tiempo
programando en esta plataforma como comenzar.

Hoy Daniel Jalknut publicó en su blog un artículo con las siguientes
recomendaciones:
When newcomers to programming on the Mac ask me for advice about getting started with Cocoa, I usually boil it down to three steps, depending on the amount of time and money they are prepared to put into the task:
  1. If you’re the slightest bit curious, buy Mark Dalrymple and Scott Knaster’s affordable book, Learn Objective-C on the Macintosh. It’s great that this book not only starts from the very beginning, but is available as an easy electronic download, for instant gratification.
  2. If you’re convinced you’re in for the long haul, but prefer to learn at your own pace and in your spare time, pick up Aaron Hillegass’s Cocoa Programming for Mac OS X.
  3. If it’s time to put the pedal to the metal, and you want to minimize the chances of failing as you learn the basics of this art, drop everything and enroll in the Objective-C and Cocoa Bootcamp class at Big Nerd Ranch.
Personalmente yo agregaría dos libros más:
  1. Become an Xcoder
  2. Cocoa Programing
Ambos son libros electrónicos que también ayudaran a ampliar sus habilidades como Cocoa Developers.