Aurelia é uma coleção de módulos de JavaScript modernos, que, quando usados em conjunto, funcionam como uma poderosa plataforma para criar aplicativos de navegador, desktop e móveis, todos de código aberto e construídos em padrões de web aberto.
Ao invés de ser uma estrutura monolítica, o framework é dividido em uma coleção de módulos orientados a recursos. Exemplos de módulos de recursos incluem metadados, injeção de dependência, binding, templating, roteador e muito mais. Cada módulo é escrito usando ECMAScript (aka JavaScript) ou TypeScript (um superconjunto estrito de JavaScript que adiciona verificação de tipo de compilação). Muitos desses módulos podem ser usados individualmente em qualquer tipo de projeto de JavaScript, incluindo Node.js.
Criação de aplicativos
Os módulos de Aurelia podem ser usados para muitas finalidades, mas seu verdadeiro poder reside em usá-los juntos como uma plataforma de aplicativos de front-end. Se o seu objetivo final é criar experiências ricas e envolventes para seus clientes, encontrando ou excedendo o que é encontrado em aplicações nativas modernas, a Aurelia oferece os meios.
Através de seu rico modelo de componentes, composição dinâmica de UI, roteamento e extenso conjunto de plugins, a Aurelia fornece um conjunto abrangente de recursos e ferramentas para criar qualquer experiência de front-end que você possa imaginar, seja você visando o navegador, celular ou desktop.
Você pode achar que o Aurelia tenha um modelo de licenciamento caro ou seja de origem fechada, mas isso não é verdade. Ele é grátis e seu código é Open Source sob a licença MIT, uma licença muito permissiva usada por muitos projetos populares da web hoje.
Tanto os kits de inicialização e documentação do Aurelia estão disponíveis sob a licença Creative Commons. Também possui um Contrato de Licença de Colaborador (CLA) para aqueles que desejam se juntar à equipe principal trabalhando na Aurelia. Em última análise, isso significa que você pode usar Aurelia sem medo de repercussões legais e podemos construí-lo com a mesma confiança.
Benefícios técnicos
Existem muitas vantagens técnicas para usar a Aurelia. Neste artigo, você encontrará uma lista de pontos que pensamos serem interessantes. Em conjunto, hoje não existe outra estrutura de SPA que possa combinar Aurelia.
JavaScript moderno:
- Totalmente escrito em ES2015 + baseado em padrões e TypeScript.
- Compatível com a tecnologia JavaScript que virão nas futuras especificações do ECMAScript.
- Suporte total tanto para Babel como para TypeScript.
DOM moderno
- Aproveita as mais modernas API de DOM.
- Bare “ao uso de metal” do DOM; nenhum invólucro de DOM para garantir o máximo desempenho e eficiência de memória.
- Polvilhe automaticamente o DOM, quando apropriado, para suportar navegadores mais antigos.
Ferramentas modernas
- Suporta ferramentas de construção modernas através da Aurelia CLI e Webpack, out-of-the-box.
- Funciona bem com poderosas ferramentas de teste como Karma e Protractor.
- Fornece um painel de depuração personalizado do Chrome, bem como um plugin do Código VS.
Qualidade do código
- O código-fonte é coberto por um extenso conjunto de testes unitários.
- Toda a fonte é totalmente equipada para o estilo e a consistência do uso de recursos em todas as partes.
- Os arquivos d.ts do TypeScript e a documentação completa da API são fornecidos para todas as bibliotecas.
Veja mais no site deles: http://aurelia.io/
E para exemplos: http://aurelia.io/docs/overview/technical-benefits