Aurelia e Angular são frameworks de cliente JavaScript populares que lhe permitem construir aplicações modernas para a web, móveis e desktop. Eles fornecem recursos modernos como data binding, HTML extensível, SPA, Routing, UI Composition, etc para construir aplicativos complexos.

Neste post de blog eu tentei comparar Aurelia e Angular, destacando as vantagens do Aurelia sobre o angular juntamente com os prós e contras de ambos.

>

>

>

>

>>

>

>

>>

>

>

>

Aurelia é discreto, fácil de aprender e compreender devido à sua filosofia “convenção sobre configuração”, basta seguir algumas convenções simples sem as configurações que são necessárias no caso do Angular. Sua sintaxe é fácil de lembrar e permite que você construa componentes em Typescript e também em vanilla JavaScript.

Aurelia e Angular, ambos são baseados na abordagem de Componentes e são semelhantes em muitos aspectos. Angular é basicamente apoiado pelo gigante de TI Google enquanto Aurelia é desenvolvido por Rob Eisenberg e sua equipe, Eisenberg já foi funcionário da equipe Angular 2 do Google, ele deixou o mesmo devido a alguma discordância e decidiu construir uma plataforma “discreta” com aderência aos padrões web.

Esta é uma das vantagens do Aurelia. A sua abordagem “convenção sobre a configuração” é o que a torna discreta. Você não precisa se preocupar com coisas do framework, você pode se concentrar principalmente na lógica da sua aplicação.
No Aurelia, se você está criando um componente, você não precisa de nenhum decorador para anotar um componente, você não precisa se preocupar com a especificação dos metadados, basta seguir as convenções simples e o Aurelia fará muitas coisas sozinho.

Vejamos um exemplo. Para criar um componente básico para imprimir o “Hello World!”, o código dos seus componentes Typescript pode ser:

Modelo HTML:

>

O seletor padrão para o seu componente é <hello></hello> e o seu template HTML é identificado pela convenção de nomes de arquivos.

O mesmo componente em Angular

Código do TIPO:

Modelo HTML:

>>

Em Angular, você também precisa declarar componente na seção de declaração do ngModule.

>

>

>

A criação de componentes parece ser mais simples em Aurelia, não é ?

Sintaxe de ligação

A sintaxe do Aurelia é mais fácil de aprender e lembrar.

Sintaxe de ligação do valor: attribute.command=”expressão”

e.g. <input value.bind=”firstName”>

Event binding syntax: event.command=”expression”

e.g. < clique de botão.trigger=”sayHello()”>Say Hello</button>

Class binding:

e.g. <div class.bind=”isActive ? active’ : ””></div>

Sintaxe de encadernação do Angular

Encadernação de valor: Na diretiva angular ngModel é usada para entradas de ligação, Note aqui que “ngModel” é sensível a maiúsculas e minúsculas .

>

e.g. <input =”firstName” >

Event binding: Isto é um pouco simples (evento)=”expressão”

e.g. <button (click)=”sayHello()”>Say Hello</button>

Ligação de classe: Tem sintaxe =”some-condition”

e.g. =”hero ==== selectedHero”

Roteamento e Navegação

Configuração do roteiro é basicamente similar em ambas as estruturas, mas com uma diferença importante. Em Angular, as rotas para um módulo são definidas centralmente em uma única configuração que define caminhos e os componentes roteáveis juntamente com todos os subrotinas, isto o torna enorme e complexo.

Onde em Aurelia você pode definir as rotas dos pais em um só lugar e colocar a configuração de subrotinas no componente filho, isto esconde a complexidade interna e torna os componentes totalmente encapsulados.

Suporte linguístico

Aurelia oferece-lhe amplas escolhas para escolher entre ES5, ES 2015, ES 2016, ES.Next e Typescript para escrever o seu código JavaScript.

Ondeas Angular restringe o utilizador a escrever código apenas em Typescript.

Conformidade com padrões

Aurelia está devidamente em conformidade com os padrões existentes e também com padrões Web emergentes.
Angular está muito atrasado neste caso, tal como salientado pela comunidade que se está a desviar dos padrões. Por exemplo, HTML não é sensível a casos, mas Angular adotou uma sintaxe que tem sensibilidade a casos como ngFor, ngModel que não pode ser manuseado nativamente pelo navegador.

Ecosistema e Suporte Comercial

Angular é apoiado pelo gigante de TI Google, tem um amplo ecossistema e suporte da comunidade. O Aurelia está um pouco atrasado neste caso seu ecossistema é menor e componentes de terceiros não estão amplamente disponíveis.

Mas seu ecossistema está crescendo continuamente e está emergindo como uma estrutura popular devido à facilidade de desenvolvimento por ele, conformidade padrão e simplicidade.

Documentação

Both Angular e Aurelia têm rica documentação e tutoriais, você pode aprender o básico da estrutura apenas seguindo os tutoriais fornecidos em seus sites.
Um ponto negativo do Angular é que tem “curva de aprendizagem íngreme”, a equipa Angular está continuamente a actualizar o seu framework e estas actualizações são muito frequentes pelo que tem de continuar a aprender e adaptar as alterações necessárias.

Conclusão

Aurelia e Angular são ambos frameworks poderosos, Angular tem melhor fama devido ao seu suporte comercial pelo Google e suporte da comunidade em geral.

Quando o Aurelia é mais simples, discreto e mais compatível com o padrão, sua política de “convenção sobre configuração” torna o desenvolvimento mais fácil e rápido.

Articles

Deixe uma resposta

O seu endereço de email não será publicado.