17

Introducción a CRIAX-SDK

22Ene
en CRIAX-SDK, Herramientas, Javascript, SDK

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.

Un acercamiento al escritorio desde la Web

Un acercamiento al escritorio desde la 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
Esqueleto de Aplicación en Windows

Esqueleto de Aplicación en Windows

Esqueleto de aplicacin en Linux

Esqueleto de Aplicación en Linux

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

0 MB

Esqueleto de aplicación en Linux

0 MB

Al descargar el standalone (nombre del empaquetado a distribuir) y descompactar nos encontraremos con la siguiente estructura de directorios:

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.

17 Comentarios

  1. Abraham dice:

    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.

  2. Erick dice:

    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.

  3. Janiel dice:

    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..

  4. Janiel dice:

    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.

  5. Sirius dice:

    Genial, hace rato estaba buscando algo como esto, ahora mismo voy a revisar los ejemplos.

  6. Alberto Manuel dice:

    Esta bueno esto!!!. Estoy pensando en poder fucionar esto con BootStrap, es posible Nilmar?

    • Nilmar Sanchez Muguercia dice:

      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).

  7. LOLGUR dice:

    Que pasa que no publican nada más..

    • Nilmar dice:

      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.

  8. Alberto Manuel dice:

    Otra pregunta: es posible hacer peticiones AJAX across domain?

  9. Janiel dice:

    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..

    • Nilmar Sanchez Muguercia dice:

      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.

  10. Janiel dice:

    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..

Dejar un comentario a Abraham