Qooxdoo VS JSEXT

Evaluation

las utilidades de uso de bases de datos en un servidor.

QOOXDOO QOOXDOO es un framework de aplicación de Ajax. Permite usar JavaScript orientado a objetos y no se necesita saber HTML, CSS o DOM. Incluye una cadena de herramientas de desarrollo independientes de la plataforma, un kit de herramientas GUI y una capa de comunicación cliente-servidor avanzada. Es soportado en casi todos los browsers modernos (Firefox, Internet Explorer, Opera, WebKit/Safari) Firefox 1.5, 2.0, 3.0 Internet Explorer 6, 7 Opera 8, 9 WebKit/Safari 3.0 No necesita plugins (ni ActiveX, Java, Flash ni Silverlight)

Orientacion a Objetos En cuanto a orientación a objetos, el framework esta basado enteramente en clases (Actualmente 350 clases) Aparte de clases regulares ofrece clases abstractas y estaticas o clases singleton. Contiene constructores y destructores. Herencias simples y plimorfismo. Interfaces parecidas a Java.

Modelos de programación alterna Java/Eclipse: Eclipse Rich Ajax Platform (RAP) Java: qooxdoo Web Toolkit (QWT) PHP/Visual: Borland/CodeGear "Delphi For PHP" ASP.NET: ASP.NET RIA AJAX Framework XML: XML-basada en GUI

GUI Toolkit A pesar de ser un framework de JavaScript, qooxdoo permite usar herramientas GUI como QT o SWT para usar interfaces de usuario avanzadas pero fáciles de implementar. Se puede usar drag & drop La configuración de temas de apariencia, colores, bordes, fuentes e iconos son fáciles de configurar y tienen soporte de cambio durante su ejecución.

Comunicación Hay dos formas de comunicación cliente-servidor soportadas: 1.Llamadas de bajo nivel de Ajax (Low-level AJAX calls) y, 2.Llamadas remotas de alto nivel (Higher-level Remote Procedure Calls (RPC)) 2.1.RPC (Remote Procedure Call) 2.2.RPC Servers: Java, PHP, Perl, Python 2.3.RPC Server Writer Guide, donde 1. el sistema Ajax es completamente basado en eventos al igual que qooxdoo. Actualmente soporta comunicación por XMLHttp, Iframes o Script. Los argumentos del constructor para las peticiones son: URL: cualquier http/https/file URL valida Method: POST y GET. Respuesta mimetype: La clase de mimetype que se espera como respuesta. Los Mimetypes soportados son: application/xml text/plain text/html text/javascript application/json.

2. RPC (Remote Procedure Call) Provee herramientas de servidor para proyectos en Java, PHP y Perl. Tambien se incluye una librería para PHYTON. El setup del servidor de acuerdo al lenguaje se encuentra en la dirección http://qooxdoo.org/documentation/0.8/rpc Phyton: http://qooxdoo.org/documentation/0.8/rpc_python Java: http://qooxdoo.org/documentation/0.8/rpc_java PHP: http://qooxdoo.org/documentation/0.8/rpc_php Perl: http://qooxdoo.org/documentation/0.8/rpc_perl

JSON Con excepción del formato de objetos Javascript tipo Date, todas las comunicaciones entre el cliente y el servidor, están formateadas como JSON, que se documentan en la página http://json.org. JSON (JavaScript Object Notation) es un formato liviano de intercambio de información. Está basado en JavaScript. Es un formto de texto que como lenguaje es completamente independiente pero usa convenciones que son familiares para programadores en C, C++, C#, Java, JavaScript, Perl, Python y hacen de JSON un lenguaje ideal para el intercambio de información. Tips de Buenas prácticas se encuentran en : http://qooxdoo.org/documentation/0.8/enterprise_application_development

El demo de la aplicación con ejemplos se encuentra en línea en la dirección: http://demo.qooxdoo.org/current/demobrowser/#animation~Login.html Pros: Construir el GUI se puede hacer casi todo sin javascript

no se necesitan conocimientos de HTML El desarrollo del GUI es el mismo del Swing o SWT Incluye soporte de singleton Corre todos los servlet como el Tomcat 5.5 Es un framework de javascript/ajax que tiene la idea de simplificar la programación Permite programar en lenguajes como Phyton a través del framwork Qt.

Contras: El proyecto es reciente lo cual hace que sea inestable y haya poca documentación.

Ext JS El JSEXT es un framework al igual que qooxdoo para escribir programas en JavaScript y se usa en tres escenarios: Lenguaje script para propósitos generales Lenguaje de server-side para sitios web Como framework para código JavaScript corriendo en navagadores web. Este framework se usa para server scriptas, web servers y web clients. Se basa en el interprete de Mozilla e integra librerías de C con código JavaScript. El código puede ser ejecutado en el servidor, en un browser o en ambos y en este caso, JSEXT automáticamente pasa los argumentos y retorna valores ente servidor y cliente con código JSON al igual que qooxdoo. Algunas de sus características son: Herramientas para incluir sin esfuerzo las librerías existentes escritas en C Soporte para fastcgi (librería que espera requerimientos entrantes) que conecta a Apache, IIS y lighttpd. Soporte de CGI Soporte de MySQL, SQLite, FTP, SMTP y HTTP Soporta AJAX, JSON, SOAP y WSDL Las nuevas versiones soportan PostgresSQL, Sessions, procesadores x86_64, zlib y bifields en Apis de C Soporta LINUX y Windows Soporta lenguajes como Perl, PHP, Python y Ruby El vinculo con Ajax es para hacer mas scripts en el cliente. La única alternativa es JavaScript, ya que es el único lenguaje que todos los navegadores entienden lo cual trae muchos beneficios entre el servidor y el cliente. El framwork es compatible con la mayoría de los browsers conocidos: Windows® Internet Explorer® 6 y superior Mozilla Firefox version 1.5 y superior (PCy Macintosh). Versiones de Apple Safari 2 y superior Versiones de Opera 9 y superior (PC y Mac). En cuanto al los controles GUI, el JSEXT incluye diversos controles o widgets basados en GUI para usar en las aplicaciones web que pueden comunicarse con un servidor web usando AJAX. Otras características incluyen una clase selectiva DOM que permite que las operaciones sean ejecutadas en los elementos contenidos en la pagina, los data stores pueden ser usados para manejar la información, y las clases para crear y administrar información en formatos JSON y XML. La integración de Ext JS con otros Web server frameworks es posible con servidores PHP, Java, .NET, Ruby on Rails y Coldfusion. Las herramientas de desarrollo permiten integrar el framework ExtJS en bastantes ambientes de desarrollo incluyendo Eclipse, Aptana, y Komodo. Demos del framework: http://extjs.com/products/extjs/ Pros: Tiene muy buena suite de UI que contienen de todo. Muy buenos widgets de todos los frameworks de JavaScript disponibles Demo: http://extpaste.com/ Buena documentación de los API. http://extjs.com/deploy/dev/docs/

OpTrWiki: Tryton/QooxdooVsJsext (last edited 2009-04-14 17:05:37 by DiegoArangoOrtiz)