XOne le proporciona un entorno de pila completo liviano en la parte superior de Node.js para desarrollar hermosas aplicaciones para cada uso (basado en HTML5 y JavaScript) y permite la integración óptima de una base de código universal en una amplia gama de sistemas (por ejemplo, dispositivos móviles, tabletas, escritorios, entornos de navegador).
Xone obtendrá algunos cambios importantes. Esto se requería para abrir capacidades para las próximas funciones que estamos trabajando ahora como Xone Native . El plan es lanzar una arquitectura final hasta V.1.0.0 y luego también para hacerse con la mayoría de los cambios de ruptura.

asyncpaintpromisequeuestackasaprun (instancia de corredor de pseudo hilo)APP.CONTROLLER[name] → new Controller(name) o Controller.new(name)APP.VIEW[name] → new View(name) o View.new(name)APP.EVENT[query] → new Event(query) o Event.new(query)APP.ROUTE[route] → new Route(route) o Route.new(route)APP.MAPPER[name] → ahora es una parte de vista, modelo y/o ruta (consulte: Ver asignaciones , asignaciones de modelos , asignaciones de carga útil )APP.MODEL[name] → new Model(name) o Model.new(name)APP.WORKER[name] → new Worker(name) o Worker.new(name)APP.HANDLER → Usted es libre de usar cualquier estilo (como antes)APP.HELPER → Usted es libre de usar cualquier estilo (como antes)APP.SETTING.get(key) → Setting.get(key)APP.PLUGIN.Filesystem → FilesystemCORE.* → Util.{Package}.* (Por ejemplo, Util.Array.merge )
Esas características se desaprobarán por ahora (sin apoyo):
Básicamente, XOne tiene una interfaz de alto nivel fácil de aprender sin obligarlo a implementar cualquier código de bajo nivel de "criado" como lo haría con Angular o React. Eso también conserva una gran flexibilidad a su base de código para las próximas tecnologías, puertos o cualquier otro cambio importante.
Xone básicamente está disponible en 3 versiones diferentes:
xone create| Características de forma predeterminada | Proyecto XOne (entorno) | Xone Bundle (independiente) | Biblioteca Xone (independiente) |
|---|---|---|---|
| Final de archivos del proyecto | pequeñísimo | pequeño | normal |
| Biblioteca | |||
| Marco MVC | |||
| Render el motor | |||
| Pruebas unitarias | - | - | |
| Herramientas de depuración | - | ||
| Entornos | - | - | |
| Configuración global de aplicaciones | - | ||
| Proyecto de compilación/compilación | - | ||
| Administrar plataformas | - | - | |
| Plantillas dinámicas (html> json) | - | - | |
| Gestión de dependencia | - | - | |
| Base de código inicial | - | - | |
| Herramientas de CLI | - | - | |
| Modo avanzado del compilador de cierre de soporte | - | ||
| Extracción del código muerto | - | ||
| No está estrictamente obligado por convenciones | - | ||
| No requiere Node.js | - | ||
| Usar como una biblioteca independiente (como jQuery/Underscore) | - | ||
| Usar como marco (como Bootstrap/Angular) | - | ||
| Usar como un entorno de desarrollo (como sencha/meteor) | - | - |
> npm install -g xoneNota: Para hacer que la CLI XOne esté disponible a nivel mundial, debe instalar XOne como un módulo NPM global (también además de cualquier instalación local si desea mantener la mayoría de los años posible). También puede usar versiones personalizadas locales de XOne, así como usar la CLI sin ninguna instalación global (lea más).
Nota: El proyecto XOne Binarios generalmente debe instalarse a través de "Xone Create" o "Xone Install" y viene con su propia estructura de carpeta predefinida (seguida de algunas convenciones). Puede elegir una de las dos versiones independientes opcionalmente para omitir la mayor cantidad de convenciones como sea posible (por ejemplo, XOne actúa como un complemento JavaScript externo).
Alternativamente, en la raíz de su proyecto, puede usar la aplicación de acceso directo CLI local para XOne , por ejemplo, por ejemplo:
my_project > app buildNota: Las opciones crean e instalan ambas no están disponibles en la aplicación de acceso directo.
En una máquina Linux puede usar:
sudo npm install -g xoneSi el identificador global "XOne" no está registrado correctamente, pruebe una de estas líneas:
hash xone
hash -rAlternativamente, puede usar el retraso de CLI local como:
bash xone buildCree un nuevo proyecto dentro del espacio de trabajo del directorio/my_project :
workspace > xone create my_projectFunciona, pero generalmente no se recomienda usar espacios en blanco en un nombre de carpeta de proyecto:
workspace > xone create " my project "Leer más
Para actualizar XOne de un proyecto ya existente, básicamente necesita 2 pasos :
> npm install -g xoneworkspace/my_project > xone installNota: ¡Esto no sobrescribirá ninguno de los archivos de su proyecto! Solo los proyectos de los archivos de la biblioteca XOne ubicados en App/lib/xone/ se actualizan.
Leer más
Fuentes no compiladas ubicadas en: Workspace/my_project/app/*
my_project > xone buildConstrucción de producción ubicada en: Workspace/my_project/public/www/*
Nota: Recomendamos utilizar compilaciones de producción para cualquier lanzamiento externo/público y usar las fuentes solo para desarrollar, pruebas y que otros propósitos internos. Para omitir la integración de compilación de XOne, debe usar la versión independiente.
my_project > xone serverAbra su webrowser preferido y goto 'http: // localhost/app/' o 'http: // localhost/public/www/'
Opcionalmente puede pasar el host y el puerto personalizados:
my_project > xone server localhost 8080Abra su Webrowser preferido y goto 'http: // localhost: 8080'
Abra App/Index.html de fuentes o público/www/index.html a partir de la compilación de producción en su navegador preferido.
Use compilaciones de producción ubicadas en el espacio de trabajo/my_project/public/* para avanzar a sus proyectos basados en Cordova o cargar a un servidor web.
XOne proporciona inyecciones de plataforma personalizadas para realizar compilaciones de producción específicas de la plataforma. Por lo tanto, todas esas compilaciones solo incluyen el código y las dependencias necesarias para su plataforma relacionada.
Mostrar plataformas definidas actualmente:
my_project > xone platformRealizar compilación específica de la plataforma:
my_project > xone compile androidLos archivos compilados permanecen en: Workspace/my_project/app/*
Realizar compilaciones específicas de la plataforma:
my_project > xone build androidDestino de compilación: Workspace/my_project/public/android/*
Puede agregar plataformas personalizadas ilimitadas, por ejemplo, crear una plataforma 'WebApp':
my_project > xone platform add webapp
my_project > xone build webappDestino de compilación: Workspace/my_project/public/webapp/*
my_project > xone build bundleDestino de compilación: Workspace/my_project/app/lib/xone/dist/xone.bundle.js
my_project > xone build libDestino de compilación: Workspace/my_project/app/lib/xone/dist/xone.lib.js
my_project > xone build lib min ./app/js/Destino de compilación: Workspace/my_project/app/js/xone.lib.min.js
Nota: El orden de los parámetros aprobados no se puede cambiar en realidad.
<!DOCTYPE html >
< html >
< head >
< meta charset =" UTF-8 " >
</ head >
< body >
<!-- END_OF_BODY -->
<!-- LOAD XONE: -->
< script src =" js/xone.lib.min.js " > </ script >
<!-- YOUR APP CODE: -->
< script src =" js/app.js " > </ script >
</ body >
</ html > Xone Build usa el compilador de cierre de Google. Todas las bibliotecas XOne también admiten la compilación en "modo avanzado" . Las propiedades de compilación se pueden configurar en xone.json . El compilador de cierre también proporciona un sistema de gestión de dependencia simple (proporcionar/requerir) que debe utilizar para mejorar la eliminación del código muerto.
Nota: En realidad, XOne admite 2 versiones diferentes del compilador de cierre: 1. Requiere Java, 2. Requiere JavaScript (nodo). Se recomienda tener un Java (JRE) instalado correctamente en su máquina para desbloquear algunos beneficios de la versión Java del compilador de cierre. Para cambiar el tipo de compilador, necesita cambiar el valor del
closure_compiler_lib_typede"js"en"jar"enxone.jsonen consecuencia.
Nota: Si tiene menos experiencia con el compilador de cierre, puede establecer opcionalmente el nivel de compilación en "simple" en el campo
closure_compiler_leveldentro del archivo de configuración XOne.
| Características de forma predeterminada | Compilador de cierre (Java) | Compilador de cierre (JavaScript) |
|---|---|---|
| Gestión de dependencia | ||
| Dependencias de clasificación automática | - | |
| Dependencias "estrictas" (punto de entrada) | - | |
| Compilación de "impresión bonita" | - | |
| Construir rendimiento | Normal | Lento |
| Relación de compresión | Mejor | Bien |
| Consumo de memoria | Normal | Extremo |
my_project > xone docsLos documentos se generarán en 'Docs/API/' .
Los entornos predeterminados son:
Cambiar el entorno en app/manifest.js :
"env" : " development " ,
"platform" : " www "O simplemente agregar parámetros a la URL:
http://localhost:9000/? env =test& platform =android& debug =trueNota: También puede anular cualquier atributo
CONFIGpasando los parámetros de URL respectivamente.
Mostrar entornos definidos actualmente:
my_project > xone envAgregar entornos personalizados:
my_project > xone env add offlineDestino de compilación: Workspace/my_project/app/config/offline.js