Hola comunidad, mi nombre es Nilmar Sánchez y este es mi artículo de estreno, sin más vayamos al grano.
Cuántas veces como desarrollador Web has querido hacer algo para el escritorio con los conocimientos que posees? Bueno creo que a muchos les ha pasado. Por estos deseos, sueños han nacido plataformas que nos permiten sin tener conocimiento del entorno desktop, crear que corran en él, utilizando tecnologías y lenguajes creados para la Web.
Ejemplos de este tipo de software hoy tenernos unos cuantos: AppJs, TideSDK, Adobe Air, entre otros. Plataformas que de forma simple ponen a nuestro servicio la posibilidad de creación de aplicaciones RIA embebidas en el escritorio. Es en este grupo donde clasifica CRIAX (Chromeless Rich Interner Applications by Qooxdoo), bueno ya ustedes dirán. CRIAX es una plataforma que permite la creación de aplicaciones de escritorio con tecnologías Web.
Producto de la fusión de 2 proyectos, Chromeless y Qooxdoo, pretende ser una alternativa libre, multiplataforma y sencilla para la creación de este tipo de aplicaciones. Entre sus principales características se pueden encontrar:
Interfaz:
- Paquetes de iconos listos para ser utilizados
- Configuración de temas
- Creación de interfaces tipo Qt o Swing
- Personalización de temas sin tener conocimientos de CSS o HTML
- Homogeneidad entre los distintos Sistemas Operativos
Persistencia:
- Interacción con SQLite
- Carga de datos a partir de Json
- Carga de datos a partir de YQL (Yahoo Query Languaje para web services)
Interacción con el sistema:
- Lectura, escritura de archivos
- Ejecución de comandos
- Clipboard
Toolchain:
- Generador de api
- Testrunner para los test
Arquitectura y diseño:
- POO (interfaces, herencia, mixin, clases abstractas, clases estáticas, clases singleton)
- Lenguaje Javascript
- Namespace
- Compresión y optimización de código final
- HMC (MVC Jerárquico)
- Fácil integración con librerías de 3
Otras:
- Contenedor de servicios (json)
- Generador de código (aun en desarrollo)
- ORM (mapeo json)
- Internacionalización
- Configuración de aplicación (json)
- Generador de pdf
- Autocarga de clases
Quizás muchas de estas características resulten familiares de las plataformas mencionadas anteriormente y otras sean totalmente nuevas en este tipo de software.
Bueno sin más dilación vayamos a los ejemplos prácticos, presentamos el esqueleto con el cual es creada una aplicación con CRIAX.
Esqueleto de aplicación en Windows
Esqueleto de aplicación en Linux
Al descargar el standalone (nombre del empaquetado a distribuir) y descompactar nos encontraremos con la siguiente estructura de directorios:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | firefoxmania/ browser_code/ resource/ persistence/ qx/ services/ script/ appinfo.json index.html chrome/ icons/ default/ chromeless/ content/ chromeless.xul components/ harness<strong></strong>.js defaults/ preferences/ prefs.js packages/ xulrunner/ application.ini chrome.manifest/ firefoxmania.exe gkmedias.dll harness-options.json mozcrt19.dll |
Próximamente se dará la opción de descarga de la plataforma, para versiones Linux (Ubuntu) y Windows, así como una serie de tutoriales simples de su uso.








Me parece una idea genial que tengamos algo así hecho en CUBA, hasta ahora solo habia visto algo parecido a esto con AIR. Aquí en la UCI que casi todo esta hecho para la web, cuando es una realidad que muchas de las personas que trabajan con computadoras no cuentan una red y no dominan el uso de las tecnologías web, esto sería una solución factible para desarrollar aplicaciones de escritorios con los conocimientos que más abundan.
Desde que Nilmar (el autor) me comentó acerca de este proyecto, me dí cuenta de que era un gran paso de avance para la Comunidad, La UCI y Cuba en general. Tengo fe en que saldrán muchos interesados en el desarrollo con CRIAX.
Me parece un proyecto muy bueno desde hace tiempo estaba buscando una herramienta como esta y que casualidad que la haya encontrado en un sitio cubano.. los felicito.. y espero que publiquen la plataforma muy pronto..
Quisiera que publicaran la documentación de CRIAX y que ademas publiquen algunos de estos softwares que permitan el trabajo de las aplicaciones Web en el escritorio .. como.. AppJs, TideSDK.
Genial, hace rato estaba buscando algo como esto, ahora mismo voy a revisar los ejemplos.
Espero impaciente que pongan la plataforma para descarga jejeje…
Esta bueno esto!!!. Estoy pensando en poder fucionar esto con BootStrap, es posible Nilmar?
Ummm, la posibilidad de fucionar CRIAX-SDK con BootStrap es algo complicada, pues al hacer uso del framework Qooxdoo para el diseño de las interfaces, la cosa se complica, quisiera decirte que el desarrollo UI en CRIAX, no se lleva a cabo con HTML o CSS, simplemente JS (las mismas propiedades CSS pero en Javascript).
Entonces es algo así como ExtJS?
En cierto sentido si, el framework Qooxdoo es muy parecido al Ext, aunque las diferencias son amplias, este es el que brinda soporte para la UI y la POO en CRIAX.
Que pasa que no publican nada más..
La publicacion de CRIAX-SDK ha tardado, debido a cambios imprevistos a última hora para dar la posibilidad de mostrar el potencia de la internacionalización de la aplicación.
Otra pregunta: es posible hacer peticiones AJAX across domain?
Al hacer uso de algunos modulos de Addons-SDK, si es posible hacer peticiones AJAX cross domain
Espero que publiquen el SDK .. pronto….. una pregunta.. CRIAX como tal trae soporte para CSS3 y HTML 5… por que la version de Prism que hay aqui .. no da soporte a estas tecnologias..
Si, CRIAX trae soporte para HTML5 y CSS3, se evidencia en el uso de las UI que construye, pero cabe aclarar que para el desarrollo de las mismas no se necesitan practicamente conocimientos de HTML o CSS, pues su construccion se lleva a cabo a traves de JS (las mismas propiedades CSS pero en Javascript.
OK>> Pues solo espero que publiquen el SDK completo pronto.. y que ademas Nilmar realizes algunos tutoriales y manueles para el trabajo con CRIAX ya que promete ser una herramienta muy potente..