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.

martes, marzo 28, 2006

Primera aproximacion a Ruby

Bueno tanto escuchar sobre el Ruby on Rails; y al final decidi darle una chequeada.

Claro que para esto ni me voy a molestar en intentar ver el video ni comenzar un proyecto en 10 minutos. Tonterias.

Primero lo Primero; y esto es conocer el Lenguaje, Ruby.

Comenzare obviamente con la instalacion, dandole una chequeada a los requerimientos al rails dice que recomienda la ultima version estable; a esta fecha la 1.8.4

Observo que Ruby tiene un sistema de paquetes llamado gem (similar a pear de PHP), entonces comienzo la instalacion (para Linux obviamente) guiado de este tutorial

El lenguaje a primera vista se ve interesante. Por su filosofia "todo es objeto" (a lo Smalltalk) y el dinamismo que esta filosofia conlleva
lo convierten serio contendor a tomar en cuenta, tal hasta vez supere en uso a otros lenguajes de script como Python o PHP (solo especulaciones nada mas)

Nota: Luego publico paso a paso la instalacion en Linux desde los codigos fuentes;
con su script de rigor ;)

domingo, febrero 26, 2006

PDGO Php DataGrid Object

Aprovechando el fin de semana acabo de publicar mi granito de arena
para el software libre; pdgo (Php Datagrid Object) es una librería escrita en php5 que permite con unas cuantas líneas de código y un query, obtener un DataGrid con opciones de edición, inserción, borrado, vista, búsqueda, paginado, ordenación, importación y exportación de datos; todo lo que nos gusta a los vagos de programación
:-P.

Trabaja con Pear DB para el backend de la base de datos y con HTML quick para generar formularios dinámicos, también exporta datos a Excel con Pear SpreadSheet.
Queda bastante chamba por hacer así como publicar los tutoriales de rigor.
Por ahora es un alfa release y espero de sus comentarios y sugerencias para ir mejorando este programa.
Puedes chequearlo en sourceforge pdgo.sourceforge.net

jueves, febrero 23, 2006

De Ripley: Empresa estadounidense patenta las webs con AJAX

En el colmo de la ridiculez y estupidez del sistema de patentes norteamericanas; ahora se les ha ocurrido entregarle la PATENTE DE LA TECNOLOGÍA AJAX a la empresa Balthaser Online Inc; quien ha conseguido una patente de implementación de técnicas avanzadas de programación en la web, incluyendo técnicas dereivadas de Flash, Flex, Java, Ajax, y XAML. Ahora, cualquier diseñador que quiera incluir en un proyecto técnicas de la Web 2.0 tendrá que abonar un canon a esta empresa.
Esto demuestra que estas patentes (insultos a la razón) de software fueron creadas para beneficiar a los monopolios; aunque este sistema de patentes rige para los Estados Unidos; deberiamos horrorizarnos si llegamos a firmar el acuerdo definitivo del TLC por que entre otras cosas exige que respetemos las patentes de informatica de U.S.A.
Aunque es de seguro que muchas empresas observaran esta ley por arte previo; ya el solo hecho de haberles otorgado la patente de una teconología estándar a una empresa; pone de cuerpo entero que este sistema es de la peor calaña y lo que es peor uno de los pilares de su economía, que no contentos con imponerlo en su país quieren extenderlo a todo el mundo a través de artimañas y acuerdos abusivos.

domingo, febrero 19, 2006

Mas Waporware: PHP Datagrid

Dentro de mi listas de promesas waporware :-P agrego el compromiso de publicar en sourceforge el proyecto con el que me vanaglorié con algunos de mis amigos :-D y que lo desarrollé siguiendo la filosofía del vago "trabaja una vez descansa después".
El proyecto es basicamente una grilla de datos en PHP 5 para tareas CRUD (Create,Read,Update Delete) que comunmente es una tabla en una base de datos.
Mi proyecto es similar a phplens y aunque no tiene todas las opciones de esta, permite
hacer las tareas principales de mantenimiento de datos con solo unas lineas de programación ;-)

Actualización: Ya cree mi proyecto en SourceForge pdgo (PHP Data Grid Object) y en este fin de semana lanzo la primera release; versión alfa por supuesto :-)

viernes, febrero 17, 2006

Ajax Toolkit

Estoy comenzando a trabajar en un toolkit de componentes para Ajax (Web 2.0); ya que definitivamente pienso desarrollar proyectos con esta tecnología. El primer paso va tener que ser en recopilar un conjunto de librerías para el manejo de las peticiones y respuestas (XMLHttpRequest), Manipulación de los datos (Arrays y Objetos JavaScript, XML) y manipulación de los componentes (widgets) y en este caso DOM y CSS establecen el camino. Juega un papel importante también el tema del rendimiento y la colisión de librerias. Ya que lamentablemente no existe un conjunto de componentes gráficos estandar;como si lo hay en XUL por ejemplo.
Cabe recalcar que todo el juego de librerías pienso crearlo exclusivamente en JavaScript, de esta forma obtengo independencia respecto al backend que podría estar implementado en cualquier lenguaje de programación siempre y cuando genere y trabaje con procedimientos remotos de XML
Algunos links que me parecen interesante y que podrían ayudar para la aventura
Prototype
OpenRico

GMAIL; el mejor correo - chat Online

Vuelvo de tiempo y con la promesa de ahora si dedicarme a bloguear :-P
Estuve usando las opciones de gmail y me ha dejado bastante impresionado.
En primer lugar active el chat de gmail. Esto se logra por el momento cambiando el perfil de Idioma a English.
aqui una pequeña guía

En la parte izquierda se activa la lista de contactos y un botón verde para quienes esten en linea.
El chat activa un popup flotante con la persona que deseas hablar y que este usando su gmail en ese momento. Las conversaciones se guardan luego en la nueva opción del ícono de chat
Otra opcion interesante son los web links o mesanjes rss que se muestran en la cabecera del Inbox. Por defecto aparecen RSS de compañias gringas; pero esto se puede personalizar en la opción customize.
En la busqueda de Blogs se puede añadir mas webs. Si deseas añadir tu blog por ejemplo en la busqueda pon la direccion completa de tu blog y ubicará el RSS.