jueves, noviembre 16, 2006

Fameworks en JavaScript y Ajax (II)

Siguiendo con la segunda parte de los frameworks para el desarrollo en Ajax y JavaScript voy a comentar acerca de los frameworks implementados en un lenguaje de Servidor, y que luego generarán automáticamente código en Ajax.
De todos los frameworks; destacan principalmente aquellos que están hechos en Java; pues son, los mas completos y elaborados; miencionaré los principales y al final, describiré algunos frameworks en otros lenguajes.

Frameworks hechos en Java

Google Web Toolkit a.k.a GWT, este framework se destaca por ser el toolkit oficial de Google y que ha sido empleado para la creación de Gmail y Google Maps, el desarrollo con estas librerías se hace usando 100% el lenguaje Java; y luego, al ser compilado, generará el código en HMTL, Java y JavaScript; cuenta además con un sistema de componentes, que permite su extensibilidad y desarrollo por parte de la comunuidad. GWT cuenta actualmente con una herramienta visual (de pago) como plugin de eclipse.

Open Laszlo Es un framework de tecnologías RIA, que genera en el front end GUIs en Flash o DHTML; es la alternativa OpenSource a Flex de Adobe, pero además de generar flash; también puede generar Ajax. Cuenta con un lenguaje propio (LZX), para la creacion de interfaces y que luego al compilar generará el front end final.
Cuenta además con un IDE opensource, para eclipse IDEforLaszlo

ZK Es un framework que usan como lenguaje de marcado ZUL (variante de XUL), y para el scripting usa codigo Java; cuenta con una amplia variedad de widgets y es de fácil uso.

DWR A diferencia de los anteriores frameworks DWR solo cubre la parte de comunicación remota entre JavaScript y Java (similar a JSON), la diferencia relevante respecto a este; es que DWR genera automáticamente código JavaScript desde los métodos públicos de un Java Bean, y crea objetos Java que son pasados desde objetos JavaScript como argumentos de los métodos públicos del Bean; cuenta además con mecanismos de seguridad; es una opción muy interesante si se quiere integrar con frameworks de javascript descritos en la primera parte de este post.

ECHO2 Es otro framework que cuenta con multiples widgets para el desarrollo en Ajax y cuenta ademas con plugin para eclipse (de pago) para la edición visual.

Rialto; aunque lo mencione en el anterior artículo como un framework de javascript; Rialto cuenta además con extensiones para trabajar con Taglibs y JSF y además con otros lenguajes de servidor como PHP, .Net y Python

Frameworks y/o Librerías en otros lenguajes de servidor
Frameworks para PHP:
Sajax y Xajax, similares a DWR pero mas limitados. soportan solo funciones de PHP
PEAR HTML_Ajax; de la misma línea de DWR soporta clases, pero es solo de una dirección; la mayor parte de librerías existente en PHP son de este tipo.
PRADO experimental; Prado es un sistema de componentes gráficos para PHP5, similar a Asp.Net cuenta con extensiones experimentales para Ajax.
Otros frameworks con características Ajax son Symfony, CakePHP

Fameworks para .NET
Atlas, es la implementación oficial de Microsoft para .NET, tiene integración con ASP.Net, C#, VB (aqui la única gran pregunta de siempre; es si es compatible con otros browsers diferentes a I.E.)
MagicAjax, Conjunto de Widgets para usar con Asp.Net

Otros Lenguajes
RubyOnRails, el framework por excelencia para Ruby, viene integrado con scriptaculous y tiene clases en Ruby que generan el código en Ajax.

Turbogears y Django; frameworks para Python con características y funciones para soportar Ajax

Bueno para terminar, una recomendación muy importante a parte de la decisión de usar tal o cual framework; de nada te sirve hacer los mejores efectos o pintar bonitas interfaces si no se domina JavaScript; el pilar de Ajax y de la Web 2.0, es este lenguaje, tenganlo muy en cuenta.
En los futuros posts ire agregando pequeños tutoriales de JavaScript y Ajax.
Saludos a todos y esta vez prometo blogear mas seguido (va en serio :P).

Fameworks en JavaScript y Ajax (I)

Vuelvo, después de un largo tiempo de silencio .......
Les comento que me estoy dedicando a programar en Ajax y en el tiempo que he estado investigando, encontré algunos frameworks interesantes, que les puede servir de ayuda para sus proyectos.
Voy a clasificar los frameworks en 2 partes: aquellos que son enteramente hechos en JavaScript (ese lenguaje que muchos creen es solo para menus y validaciones); que son los que prefiero; y no dependen de una implementación en el servidor, y aquellos que están implementados en un lenguaje de servidor (java, php, etc) y que después generan Ajax automáticamente; en esta primera parte explicaré sobre los frameworks en JavaScript.

Fameworks Ligeros en JavaScript

DojoToolkit: Hoy por hoy el toolkit mas completo existente para la web 2.0, Dojo es una fundación similar a lo que sería eclipse, y ya tiene varios miembros ; entre ellos IBM y SUN.
Dojo Cuenta con un juego completo de widgets y elementos de layout tal como se pueden ver en los demos de la página oficial. Una de las características interesantes de dojo es su estructura modular y la posibilidad de generar dojos "personalizados" a través de un script compilador para Ant (aqui requiere Java), cuenta con herramienta de test y depuración de scripts.
Otra característica por demás interesante es que dojo cuenta dentro de sus modulos una extensión para el desarrollo gráfico (gfx), que entre otras cosas permite que; usando los componentes de dojo gfx, se generen elementos gráficos vectoriales en SVG (estándar soportado por firefox,opera,konqueror,safari) o VML (cuasi estándar soportado solo por ya saben quien: Internet Exploited).
www.xdraw.org es la web de referencia para el modulo gfx.
Si piensas usar Ajax para un proyecto mediano y grande este es; a mi opinion, el mejor framework en javascript.

Prototype y Scriptaculous El primero es una libreria que añade funcionalidades interesantes para trabajar con DOM y Ajax asi como artificios en Javascript; a diferencia de dojo es pequeño y sirve de base para otras librerias extendidas como scriptaculous y openrico.
Scriptaculous añade muchas funcionalidades como animaciones y drag and drop; mientras open rico cuenta con acordeones y tablas. Los métodos abreviados para manipular DOM y otras funciones, han hecho de prototype la librería mas popular para usar con JavaScript y Ajax.

Yahoo! UI Library (YUI) En la misma línea de DojoToolkit (y principal competencia); YUI es un framework muy completo mantenido por Yahoo, es muy modular y cuenta con una creciente comunidad.

Otras librerías también interesantes (en la línea de prototype y scriptaculous) son
Mootols y Mochikit (frameworks ligeros).

Un Framework alternativo a Prototype es JQUERY, esta librería; al igual que prototype, cuenta con atajos de códigos, incluso más elaborados que prototype y permite trabaja con CSS y Xpath.

Frameworks Pesados (Juego de Herramientas tipo R.I.A.)
Estos frameworks se caracterizan por tener un todo integrado, de
una colección de widgets y librerías y a diferencia de Dojo no son tan modulares.
Estos frameworks son pensados como capas de presentación completas para una aplicación determinada.

RIALTO es un framework que puede usarse con JavaScript puro o con una tecnología de servidor; cuenta con múltiples widgets y entorno para creación de widgets llamado Rialto Studio.

OpenLink Ajax Toolkit a.k.a. OAT un framework, que cuenta con un diseñador de formularios en linea y un E-R para la base de datos tiene módulo de Web-Dav para guardar los archivos generados.


En el siguiente artículo explicaré sobre los frameworks hechos en un lenguaje de servidor y que generan código de Ajax.