Som softwareudvikler har du et stort antal valg. For mig er verden som en stor skole: hvad lærer jeg nu?
En ramme, der i øjeblikket får stor popularitet, er Angular. Versionsnumrene stiger, og samfundet vokser altid.

Men hvorfor skal du bruge AngularJS? Er det let for webapp-udvikling?
Angular er en webramme til front-end-udvikling, der tilbyder alle de generelle fordele ved rammer.
AngularJS framework forenkler gentagne opgaver eller fjerner dem helt. Det betyder, at funktionalitet er tilgængelig hurtigt og på samme måde, er indkapslet og kan genbruges.
Hvad er fordelene ved webudvikling med AngularJS?
arkitektur
Angular bruger et hierarki af komponenter til sin arkitektur. Derfor er kernen i enhver applikation et komponenttræ. Komponenter administrerer altid en del af visningen og kan indeholde andre komponenter.
Komponenterne opbevares i MVC-arkitektur. Denne arkitektur har den største fordel, at forbindelsen mellem logik og visning sker på et defineret tidspunkt og sted. Med en ramme som Angular reduceres dette kaos ved at adskille visning og data.
Vinkel gør det muligt at spotte dataene på et tidligt tidspunkt og definere grænseflader i tæt samarbejde med back-end-udviklingsafdelingen. Når databasen (og web-API) er i gang, kan frontend'en bruges hurtigt.
Hvis du ikke bruger en ramme, er visning og logik ofte udefineret sammenflettet. Man har så ofte en fornemmelse af, at det er bedre at omskrive hele projektet, fordi man nu kender specifikationerne ... indtil den næste nødvendige ændring er foretaget.
Imidlertid er Angular ikke kun begrænset til komponenter, men med flere tjenester giver det mulighed for at integrere enhver funktionalitet, der er løsrevet fra en visning. Tjenester her er enkle TypeScript-klasser, der kan hentes i komponenterne via dit eget afhængighedsindsprøjtningssystem, hvis det kræves. Et godt eksempel på service er en datatjeneste, der regulerer anmodningen om web-API'er og outputdata til komponenterne.
Sessionslagring ville også være en tjeneste. Selvfølgelig kan selve funktionaliteten også implementeres i en komponent, men datafunktionalitet bruges sandsynligvis på tværs af komponenter - ledetråden: Vinklet sikrer god kode gennem den ekstremt enkle brug af afhængighedsinjektionen: udvikleren skriver en tjeneste og forbliver sikret, at korrekt forekomst af tjenesten er tilgængelig i komponenten. Magi!
Funktionalitet
Vinklet leveres med mange standardfunktioner. Frem for alt er jeg altid forbløffet over, hvor let data vises i visningen ved hjælp af logikken.
Med automatisk "binding" fra visning til logik (målretningshændelser), fra logik til visning (målretning mod DOM-egenskaber) eller tovejsbinding (begge tilsluttede metoder) skaber Angular en meget enkel og effektiv måde at overføre dynamiske data til en HTML-skabelon Skærm. Visning af et variabelt datafelt i en overskrift kan gøres med et enkelt udtryk i skabelonen.
Jeg er en {{adjektiv}} tekst
Hvis variablen 'adjektiv' ændres i klassen, sikrer Angular automatisk, at DOM-elementet opdateres.
Med et sådant udtryk er det bare let at håndtere hele brugergrænsefladen og håndtering af begivenheder med en indgang:
Det er tilstrækkeligt at oprette en variabel kaldet 'myInput'. Angular bruger et sofistikeret ændringsdetekteringssystem til at opfange begivenheden for brugerindgangen (brugeren indtaster) og også for at vise dataene i indgangen, for eksempel hvis 'myInput' er forud tildelt fra databasen.
Angular kender sit domæne godt og sikrer, at http-kommunikation (med web-API'er) er tilgængelig så let som muligt. Alle standard http-opkald og forskellige parameterindstillinger er mulige med det medfølgende http-modul, så jeg ikke tænker på en anmodning, der ikke kunne udløses med det.
Derudover bruger Angular biblioteket 'rxJS', der i modsætning til løfter arbejder med observerbare. Uden at gå for langt her er denne tilgang mere moderne og mere omfattende end løfter.
Teknologi stak
Angular kommer med sin egen CLI. Som en professionel front-end-udvikler er dette et af de vigtigste værktøjer i mit arbejde. Med CLI (Command Line Interface) har Angular-teamet bygget en applikation, der gør det muligt at bruge enkle kommandoer til at oprette en applikation, tilføje komponenter eller tjenester, starte applikationen, teste den og køre den under forskellige miljøer.
CLI er et kraftfuldt værktøj til udvikleren (og jeg er meget taknemmelig for det). Vinkel er baseret på NodeJS-stakken, hvilket betyder, at når udvikling af Angularjs-applikationer, starter du normalt din egen webserver lokalt, som kompilerer og outputter kildefilerne. Selvfølgelig har alt en live-synkronisering: hvis du ændrer kildefilerne, genkender Angular-CLI dette og opdaterer build. Specifikt betyder dette: ændre, gemme, se - meget nyttigt i frontend-verdenen.
For at styre udviklings- og projektafhængigheder bruges webpack ofte, som administrerer nodepakker (npm). Det er meget nemt at downloade, opdatere og installere nye pakker - installation af en applikation udføres med en enkelt kommando.
Derudover tilbyder npm et enormt antal pakker, fra individuelle komponenter med præfabrikeret funktionalitet til hele CSS-rammer (bootstrap, materiale). Angular i sig selv er også sin egen npm-pakke.
Typescript bruges på den logiske side til at skrive selve Angular-applikationen - et sprog, der transpileres til Javascript, og som gælder for følgende: Hvert Javascript-udtryk er et gyldigt Typescript-udtryk (men ikke omvendt).
Tilpasningsevne
Skaberne af Angular har taget stor omhu for at gøre implementeringen og strukturen af Angular altid tilpasningsdygtig. For eksempel gennem såkaldte afhængighedsindsprøjtning kan såkaldte udbydere levere deres egne metoder til, hvordan komponenter og tjenester leveres.
Når jeg bruger nogle andre rammer, har jeg ofte bemærket, at visse instruktioner eller udsagn implementeres (og skal implementeres) igen og igen. I Angular er kun ansøgningens startpunkt obligatorisk. For hver komponent er der kun links til skabelonen & CSS-filen og det krævede navn - resten er en reel Typescript-klasse (uden arv). Men hvis du skriver en tjeneste, er du helt fri til at implementere den. Ligeledes har skabeloner og CSS bedste praksis og konventioner, men med ringe eller ingen tvang.
Community
Sidst men ikke mindst, en af de bedste ting ved Angular: det er forbandet populært.
Sikker på, at Angular ikke er perfekt, ligesom Google ikke er perfekt, men ligesom Google er Angular bare for forbandet almindeligt. Og det har nogle fordele.
På den ene side er der en enorm mængde hjælp til problemer, der opstår under udviklingen. Selvstudier, ressourcer, bøger eller Stack Overflow-poster samt workshops og møder.
På den anden side sikres det med stor popularitet, at Angular fortsat vil blive udviklet. Google gør dette ikke for velgørenhed, men selvfølgelig for at få magt. Hvis brugen af Angular falder til under en bestemt værdi, er det ikke længere værd at videreudvikle projektet. Og vi ved alle, hvor hurtigt seje teknologier synker ned på Internettet, fordi ingen bruger dem mere.
Konklusion
Personligt må jeg sige, at jeg nyder at udvikle applikationer med Angular. Jeg håber, at du endelig har fundet svaret på dit spørgsmål “AngularJS - er det let for webapp-udvikling?”. Meget er endnu ikke nævnt i denne artikel, for eksempel den fremragende mulighed for automatiseret test (Jasmine, Karma, Protractor), eller at du let kan udvikle platforme-apps (Android, iOS) med Angular, men det ville gå ud over omfanget.
Jeg kan kun anbefale alle at prøve Angular og lege med det.