Aurelia și Angular sunt cadre client JavaScript populare care vă permit să construiți aplicații moderne pentru web, mobil și desktop. Acestea oferă caracteristici moderne, cum ar fi data binding, HTML extensibil, SPA, Routing, UI Composition, etc. pentru a construi aplicații complexe.
În această postare pe blog am încercat să compar Aurelia și Angular, subliniind avantajele Aurelia față de angular împreună cu avantajele și dezavantajele ambelor.
Aurelia este discret, ușor de învățat și de înțeles datorită filozofiei sale „convention over configuration”, trebuie doar să urmați câteva convenții simple, fără astfel de configurații, așa cum sunt necesare în cazul Angular. Sintaxa sa este ușor de reținut și vă permite să construiți componente atât în Typescript, cât și în vanilla JavaScript.
Aurelia și Angular, ambele se bazează pe abordarea Components și sunt similare în multe privințe. În principiu, Angular este susținut de gigantul IT Google, în timp ce Aurelia este dezvoltat de Rob Eisenberg și echipa sa, Eisenberg a fost anterior angajat al echipei Angular 2 de la Google, a părăsit aceeași echipă din cauza unor neînțelegeri și a decis să construiască o platformă „discretă” cu aderență la standardele web.
Acesta este unul dintre avantajele Aurelia. Abordarea sa „convenție în locul configurației” este ceea ce o face discretă. Nu trebuie să vă faceți griji cu privire la lucrurile legate de cadru, vă puteți concentra în primul rând pe logica aplicației.
În Aurelia, dacă creați o componentă, nu aveți nevoie de niciun decorator pentru a adnota o componentă, nu trebuie să vă faceți griji cu privire la specificarea metadatelor, trebuie doar să urmați convențiile simple și Aurelia va face o mulțime de lucruri de la sine.
Să vedem un exemplu. Pentru a crea o componentă de bază care să tipărească „Hello World!”, Codul Typescript al componentelor dvs. poate fi:
Șablon HTML:
Selectorul implicit pentru componenta dvs. este <hello></hello>, iar șablonul său HTML este identificat prin convenția privind numele de fișier.
Aceeași componentă în Angular
Codul typescript:
Șablon HTML:
În Angular, trebuie, de asemenea, să declarați componenta în secțiunea declaration a ngModule.
Crearea de componente pare a fi mai simplă în Aurelia, nu-i așa ?
Sintaxa de legare
Sintaxa din Aurelia este mai ușor de învățat și de reținut.
Sintaxa de legare a valorilor: attribute.command=”expression”
e.g. <input value.bind=”firstName”>
Sintaxa de legare a evenimentelor: event.command=”expression”
e.g. <button click.trigger=”sayHello()”>Say Hello</buton>
Class binding:
e.g. <div class.bind=”isActive ? ‘active’ : ””></div>
Sintaxa de legare a lui Angular
Legătură de valoare: În angular, directiva ngModel este utilizată pentru legarea intrărilor, Rețineți că aici „ngModel” face distincție între majuscule și minuscule.
e.g. <input =”firstName” >
Legătură de eveniment: Aceasta este oarecum simplă (event)=”expresie”
e.g. <buton (click)=”sayHello()”>Say Hello</button>
Class binding: Are sintaxa =”some-condition”
e.g. =”hero === selectedHero”
Routing și navigare
Configurarea rutelor este în principiu similară în ambele framework-uri, dar cu o diferență importantă. În Angular, rutele pentru un modul sunt definite la nivel central într-o singură configurație care definește căile și componentele care pot fi rutate împreună cu toate subrutinele, ceea ce o face imensă și complexă.
În timp ce în Aurelia puteți defini rutele părintești într-un singur loc și puteți pune configurația subrutinelor în componenta copil, acest lucru ascunde complexitatea interioară și face ca componentele să fie complet încapsulate.
Suportul de limbaj
Aurelia vă oferă opțiuni largi pentru a alege între ES5, ES 2015, ES 2016, ES.Next și Typescript pentru a vă scrie codul JavaScript.
În timp ce Angular restricționează utilizatorul să scrie codul doar în Typescript.
Conformitate cu standardele
Aurelia respectă în mod corespunzător standardele existente și, de asemenea, standardele web emergente.
Angular este mult în urmă în acest caz, după cum a subliniat comunitatea că se abate de la standarde. De exemplu, HTML nu face distincție între majuscule și minuscule, dar Angular a adoptat o sintaxă care face distincție între majuscule și minuscule, cum ar fi ngFor, ngModel, care nu pot fi gestionate nativ de către browser.
Ecosistem și susținere comercială
Angular este susținut de gigantul IT Google, are un ecosistem larg și sprijin din partea comunității. Aurelia este oarecum în urmă în acest caz, ecosistemul său este mai mic și componentele terțe nu sunt disponibile pe scară largă.
Dar ecosistemul său este în continuă creștere și se profilează ca un framework popular datorită ușurinței de dezvoltare de către acesta, conformității cu standardele și simplității.
Documentație
Atât Angular cât și Aurelia au o documentație și tutoriale bogate, puteți învăța elementele de bază ale framework-ului doar urmând tutorialele furnizate pe site-urile lor.
Un punct negativ al Angular este că are o „curbă de învățare abruptă”, echipa Angular își actualizează în permanență cadrul și aceste actualizări sunt foarte frecvente, astfel încât trebuie să continuați să învățați și să adaptați modificările necesare.
Concluzie
Aurelia și Angular sunt ambele framework-uri puternice, Angular are o faimă mai bună datorită susținerii sale comerciale de către Google și a sprijinului mai larg din partea comunității.
În timp ce Aurelia este mai simplu, discret și mai compatibil cu standardele, politica sa de „convenție în locul configurației” face dezvoltarea mai ușoară și mai rapidă.
.