O Xone fornece um ambiente de pilha completa leve sobre o Node.js para desenvolver aplicativos bonitos para todos os usos (com base em HTML5 e JavaScript) e permitem a integração ideal de uma base de código universal em uma ampla gama de sistemas (por exemplo, dispositivos móveis, tablets, desktops, ambientes de navegador).
Xone receberá algumas mudanças importantes. Isso foi obrigado a abrir recursos para os próximos recursos que estamos trabalhando agora como Xone Native . O plano é liberar uma arquitetura final até v.1.0.0 e depois também ser feita com a maioria das mudanças de ruptura.

asyncpaintpromisequeuestackasaprun (Pseudo Thread Runner Instância)APP.CONTROLLER[name] → new Controller(name) ou Controller.new(name)APP.VIEW[name] → new View(name) ou View.new(name)APP.EVENT[query] → new Event(query) ou Event.new(query)APP.ROUTE[route] → new Route(route) ou Route.new(route)APP.MAPPER[name] → agora é parte da visão, modelo e/ou rota (consulte: Veja mapeamentos , mapeamentos de modelos , mapeamentos de carga útil )APP.MODEL[name] → new Model(name) ou Model.new(name)APP.WORKER[name] → new Worker(name) ou Worker.new(name)APP.HANDLER → Você é livre para usar qualquer estilo (como antes)APP.HELPER → você é livre para usar qualquer estilo (como antes)APP.SETTING.get(key) → Setting.get(key)APP.PLUGIN.Filesystem → FilesystemCORE.* → Util.{Package}.* (Por Util.Array.merge
Esses recursos ficarão preteridos por enquanto (sem suporte):
Basicamente, o Xone tem uma interface de alto nível fácil de aprender sem forçar você a implementar qualquer código de baixo nível "estrutura-framewropti", como você faria com o Angular ou React. Isso também preserva uma enorme flexibilidade à sua base de código para as próximas tecnologias, portas ou quaisquer outras alterações importantes.
Xone basicamente está disponível em 3 versões diferentes:
xone create| Recursos por padrão | Xone Project (Ambiente) | Pacote Xone (independente) | Biblioteca Xone (independente) |
|---|---|---|---|
| Final de projeto final | Menor | pequeno | normal |
| Biblioteca Core | |||
| MVC Framework | |||
| Motor de renderização | |||
| Testes de unidade | - | - | |
| Ferramentas de depuração | - | ||
| Ambientes | - | - | |
| Configuração global de aplicativos | - | ||
| Projeto de construção/compilação | - | ||
| Gerenciar plataformas | - | - | |
| Modelos dinâmicos (html> json) | - | - | |
| Gerenciamento de dependência | - | - | |
| Base de código inicial | - | - | |
| Ferramentas da CLI | - | - | |
| Modo avançado do compilador de fechamento de suporte | - | ||
| Remoção de código morto | - | ||
| Não está estritamente ligado por convenções | - | ||
| Não requer node.js | - | ||
| Use como uma biblioteca independente (como jQuery/sublinhado) | - | ||
| Use como uma estrutura (como bootstrap/angular) | - | ||
| Use como um ambiente de desenvolvimento (como Sencha/Meteor) | - | - |
> npm install -g xoneNOTA: Para disponibilizar o XONE CLI globalmente, você deve instalar o Xone como um módulo Global NPM (além de qualquer instalação local, se desejar manter o máximo possível). Você também pode usar versões personalizadas locais do Xone, além de usar a CLI sem instalações globais (leia -se mais adiante).
NOTA: Os binários do projeto XONE normalmente precisam ser instalados via "Xone Create" ou "Xone Install" e vem com sua própria estrutura de pasta predefinida (seguida por algumas convenções). Você pode escolher uma das duas versões independentes opcionalmente para pular o maior número possível de convenções (por exemplo, Xone age como um plug-in JavaScript externo).
Como alternativa, na raiz do seu projeto, você pode usar o aplicativo de atalho da CLI local em vez de Xone , por exemplo:
my_project > app buildNota: As opções criam e instalam ambos não estão disponíveis no aplicativo de atalho.
Em uma máquina Linux que você pode usar:
sudo npm install -g xoneSe o identificador global "XONE" não estiver registrado corretamente, tente corretamente uma dessas linhas:
hash xone
hash -rComo alternativa, você pode usar o fallback da cli local como:
bash xone buildCrie um novo projeto dentro da área de trabalho do diretório/my_project :
workspace > xone create my_projectTrabalhos, mas geralmente não é recomendável usar os espaços em branco em um nome de pasta de projeto:
workspace > xone create " my project "Leia mais adiante
Para atualizar o Xone de um projeto já existente, você basicamente precisa de 2 etapas :
> npm install -g xoneworkspace/my_project > xone installNota: Isso não substituirá nenhum dos seus arquivos do seu projeto! Somente projetos XONE Biblioteca Arquivos localizados no app/lib/xone/ são atualizados.
Leia mais adiante
Fontes não compiladas localizadas em: Workspace/my_project/app/*
my_project > xone buildConstrução de produção localizada em: Workspace/my_project/public/www/*
NOTA: Recomendamos usar as compilações de produção para qualquer liberação externa/pública e usar as fontes apenas para desenvolvimento, teste e que outros propósitos internos. Para pular a integração de construção do Xone, você deve usar a versão independente.
my_project > xone serverAbra seu webrowser preferido e vaso 'http: // localhost/app/' ou 'http: // localhost/public/www/'
Opcionalmente, você pode passar pelo host e porta personalizados:
my_project > xone server localhost 8080Abra seu webrowser preferido e vaso 'http: // localhost: 8080'
Open App/Index.html de fontes ou público/www/index.html da produção de produção no seu navegador preferido.
Use a produção construídas localizadas no espaço de trabalho/my_project/public/* para avançar em seus projetos baseados em Cordova ou fazer upload para um servidor da web.
O Xone fornece injeções de plataforma personalizadas para executar construções de produção específicas da plataforma. Portanto, todas essas compilações incluem apenas o código e as dependências necessários para sua plataforma relacionada.
Mostrar plataformas atualmente definidas:
my_project > xone platformExecute compilação específica da plataforma:
my_project > xone compile androidOs arquivos compilados permanecem em: Workspace/my_project/app/*
Execute construções específicas da plataforma:
my_project > xone build androidDestino de construção: espaço de trabalho/my_project/public/android/*
Você pode adicionar plataformas personalizadas ilimitadas, por exemplo, criar uma plataforma 'webApp':
my_project > xone platform add webapp
my_project > xone build webappDestino de construção: espaço de trabalho/my_project/public/webapp/*
my_project > xone build bundleDestino de construção: espaço de trabalho/my_project/app/lib/xone/dist/xone.bundle.js
my_project > xone build libDestino de construção: espaço de trabalho/my_project/app/lib/xone/dist/xone.lib.js
my_project > xone build lib min ./app/js/Destino de construção: Workspace/my_project/app/js/xone.lib.min.js
Nota: A ordem dos parâmetros passados não pode ser alterada na verdade.
<!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 > A Xone Built usa o compilador de fechamento do Google. Todas as bibliotecas Xone também suportam compilação no "Modo Avançado" . As propriedades de construção podem ser configuradas no xone.json . O compilador de fechamento também fornece um sistema simples de gerenciamento de dependência (fornece/requer) que você deve usar para melhorar a remoção do código morto.
Nota: Na verdade, o Xone suporta 2 versões diferentes do compilador de fechamento: 1. Requer java, 2. Requer JavaScript (nó). É recomendável ter um Java (JRE) instalado corretamente em sua máquina para desbloquear alguns benefícios da versão Java do compilador de fechamento. Para alterar o tipo do compilador, você precisa alterar o valor do campo
closure_compiler_lib_typede"js"para"jar"emxone.jsonde acordo.
NOTA: Se você tiver menos experiência com o compilador de fechamento, poderá opcionalmente definir o nível de compilação como "simples" no campo
closure_compiler_leveldentro do arquivo de configuração XONE.
| Recursos por padrão | Compilador de fechamento (Java) | Compilador de fechamento (JavaScript) |
|---|---|---|
| Gerenciamento de dependência | ||
| Dependências de classificação automática | - | |
| Dependências "rigorosas" (ponto de entrada) | - | |
| Compilação "Pretty Print" | - | |
| Construir desempenho | Normal | Lento |
| Taxa de compressão | Melhor | Bom |
| Consumo de memória | Normal | Extremo |
my_project > xone docsOs documentos serão gerados em 'docs/api/' .
Os ambientes padrão são:
Alterar o ambiente no app/manifest.js :
"env" : " development " ,
"platform" : " www "Ou apenas adicionando parâmetros ao URL:
http://localhost:9000/? env =test& platform =android& debug =trueNOTA: Você também pode substituir qualquer atributo
CONFIGpassando os parâmetros da URL, respectivamente.
Mostrar ambientes atualmente definidos:
my_project > xone envAdicionar ambientes personalizados:
my_project > xone env add offlineDestino de construção: Workspace/my_project/app/config/offline.js