Aurelia og Angular er populære JavaScript-klientrammer, der giver dig mulighed for at bygge moderne applikationer til web, mobil og desktop. De giver moderne funktioner som databinding, udvidelig HTML, SPA, Routing, UI-komposition osv. til at bygge komplekse apps.

I dette blogindlæg har jeg forsøgt at sammenligne Aurelia og Angular og fremhæve fordelene ved Aurelia over angular sammen med fordele og ulemper ved begge.

Aurelia er ubemærket, let at lære og forstå på grund af dens “konvention frem for konfiguration”-filosofi, du skal blot følge nogle enkle konventioner uden sådanne konfigurationer, som det er nødvendigt med Angular. Dens syntaks er let at huske og gør det muligt at bygge komponenter i Typescript og i vanilla JavaScript.

Aurelia og Angular er begge baseret på Components-tilgangen og ligner hinanden på mange måder. Angular er grundlæggende støttet af it-giganten Google, mens Aurelia er udviklet af Rob Eisenberg og hans team, Eisenberg har tidligere været ansat på Googles Angular 2-team, han forlod det samme på grund af uenighed og besluttede at bygge en “diskret” platform med tilslutning til webstandarder.

Dette er en af fordelene ved Aurelia. Dens “konvention frem for konfiguration”-tilgang er det, der gør den uoptrækkende. Du behøver ikke bekymre dig om framework-ting, du kan primært fokusere på din applikationslogik.
I Aurelia behøver du, hvis du opretter en komponent, ikke nogen decorator til at annotere en komponent, du behøver ikke bekymre dig om metadataspecifikation, du skal bare følge de enkle konventioner, og Aurelia vil gøre mange ting af sig selv.

Lad os se et eksempel. For at oprette en grundlæggende komponent til at udskrive “Hello World!”, kan din komponent Typescript-kode være:

HTML-skabelon:

Standardvælgeren for din komponent er <hello></hello>, og dens HTML-skabelon identificeres ved hjælp af filnavnskonventionen.

Den samme komponent i Angular

Typescript-kode:

HTML-skabelon:

I Angular skal du også erklære komponent i deklarationsafsnittet i ngModulet.

Komponentoprettelse synes at være enklere i Aurelia, er det ikke?

Bindingssyntaks

Aurelias syntaks er nemmere at lære og huske.

Værdibindingssyntaks: attribute.command=”expression”

e.f.eks. <input value.bind=”firstName”>

Event binding syntaks: event.command=”expression”

f.eks. <knapklik.trigger=”sayHello()”>Say Hello</button>

Klassebinding:

f.eks. <div class.bind=”isActive ? ‘active’ : ””></div>

Angular’s binding syntax

Værdibinding: I angular ngModel-direktivet bruges til at binde input, Bemærk her “ngModel” er case-sensitive .

f.eks. <input =”firstName” >

Event binding: Dette er noget simpelt (event)=”expression”

f.eks. <button (click)=”sayHello()”>Say Hello</button>

Class binding: Den har syntaksen =”some-condition”

f.eks. =”hero === selectedHero”

Routing og navigation

Routingkonfigurationen er grundlæggende ens i begge frameworks, men med én vigtig forskel. I Angular defineres ruter for et modul centralt i en enkelt config, som definerer stier og de routable komponenter sammen med alle underruter, dette gør det enormt og komplekst.

Hvorimod du i Aurelia kan definere de overordnede ruter på ét sted og sætte underrutekonfigurationen i børnekomponenten, dette skjuler den indre kompleksitet og gør komponenterne fuldt indkapslet.

Sprogunderstøttelse

Aurelia giver dig brede muligheder for at vælge mellem ES5, ES 2015, ES 2016, ES.Next og Typescript til at skrive din JavaScript-kode.

Hvorimod Angular kun begrænser brugeren til at skrive kode i Typescript.

Standardoverholdelse

Aurelia er behørigt i overensstemmelse med eksisterende standarder og også med nye webstandarder.
Angular er langt bagefter i dette tilfælde, som påpeget af fællesskabet, at det afviger fra standarderne. F.eks. er HTML ikke stregfølsom, men Angular har vedtaget syntaks, der har stregfølsomhed som ngFor, ngModel, som ikke kan håndteres nativt af browseren.

Økosystem og kommerciel opbakning

Angular er støttet af it-giganten Google, har et bredt økosystem og støtte fra fællesskabet. Aurelia er noget bagud i dette tilfælde, det er økosystem er mindre, og tredjepartskomponenter er ikke bredt tilgængelige.

Men dets økosystem vokser løbende, og det er ved at blive en populær ramme på grund af den nemme udvikling af det, standardoverholdelse og enkelhed.

Dokumentation

Både Angular og Aurelia har rig dokumentation og tutorials, du kan lære rammens grundprincipper blot ved at følge de tutorials, der findes på deres websteder.
Et negativt punkt ved Angular er, at det har en “stejl indlæringskurve”, Angular-teamet opdaterer løbende deres framework, og disse opdateringer er meget hyppige, så du er nødt til at blive ved med at lære og tilpasse de nødvendige ændringer.

Konklusion

Aurelia og Angular er begge kraftfulde frameworks, Angular er mere berømt på grund af sin kommercielle opbakning fra Google og bredere støtte fra fællesskabet.

Hvorimod Aurelia er enklere, diskret og mere standardkonform, dens “konvention over konfiguration” politik gør udviklingen nemmere og hurtigere.

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.