kompetanseguiden
Hva er Angular?
Hva er Angular – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva Angular er og hvordan det brukes, mens du i verktøyet øverst kan finne ut hvor og hvordan du kan lære det – basert på dine egne kriterier for læringen.
Tilbake til kompetanseguidens hovedside
Angular er et frontend-rammeverk for webapplikasjoner utviklet av Google. I motsetning til sin forløper, AngularJS, og React og Vue – som Angular gjerne nevnes i sammenheng med – er Angular basert på Typescript i stedet for Javascript.
Nils Petter Ellingsen er frontend-utvikler i Storebrand, og har brukt Angular i jobben i flere år. Vi har bedt ham om å fortelle litt om rammeverket.
Hva er det overordnede bruksområdet for Angular i 2020?
Først og fremst brukt til å lage webapper.
Hva er fordelen med Angular?Angular gir oss en passe «opinionated» (legger føringer for bruk, journ.anm.) verktøykasse med det meste vi trenger ut av boksen. Vi ønsket noe forutsigbart og noenlunde stabilt, og det føler jeg Angular har levert på.
Man får verktøy for å generere komponenter og testfiler, og god hjelp når man skal oppgradere versjoner, noe som ofte kan være kronglete.
Angular har også god støtte for delte biblioteker, noe som er til stor hjelp når vi har flere apper som trenger å bruke samme kode.
Hva er ulempene eller begrensningene?
Det er en ganske stor verktøykasse, jeg vil si at Angular passer best til litt større prosjekter som skal leve i noen år.
Noen ganger må man prøve og feile litt før man finner rett teknikk. Vi har nok gått opp stien et par ganger, f.eks. på hvordan vi best håndterer innlasting av data fra REST-API-ene.
Hva er typisk å utvikle med Angular, og hvilke teknologier er vanlig å bruke for å oppnå det?
For det meste webapper, men man kan også lage apper til mobil.
De fleste bruker VSCode som IDE da den spiller veldig bra med Typescript. Kommandolinjen er flittig brukt. NPM er også en viktig del, som med det meste i frontend disse dager.
Hva er kjente eksempler på populære programmer, nettsider eller funksjoner som er utviklet med Angular?
Google har flere store og komplekse apper, og du har nok besøkt en del nettsider som er bygget med Angular. I frontend endrer ting seg raskt, så ingen nevnt, ingen glemt.
Hvilke teknologier eller verktøy er det viktig å mestre for å utnytte potensialet i Angular?Det er en fordel å kjenne til reactive programming og Typescript. Typescript har vært en game-changer for oss, vi typer opp alt vi kan nå – noe som er til stor hjelp i utviklingen.
Ellers er bruk av kommandolinjen og NPM en viktig del av arbeidsflyten.
Hvilke rammeverk ligner, eller er nært knyttet til Angular?
Angular har lånt flere gode ideer fra Ember, spesielt dette med bakoverkompabilitet og bruk av kommandolinje-verktøy.
Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det en eventuelt en fordel å ha?
Læringskurven kan være bratt i starten, det kommer litt an på bakgrunnen du har.
Grunnleggende webutvikling (HTML, CSS, Javascript) bør være nok til å komme i gang, kjennskap til reactive programming er bra da Angular er tett integrert med denne måten å kode på.
Vi opplevde at Java-utviklere som også kodet frontend følte seg mer hjemme i Angular enn noe annet rammeverk
Kan du si noe om utviklingen og forhistorien til Angular?
Angular 1.x var jo noe for seg selv. Vi opplevde at Java-utviklere som også kodet frontend følte seg mer hjemme i Angular enn noe annet rammeverk, og det ble raskt veldig populært. Men som med mye i frontend, ble dette fort gammelt og kronglete.
Angular 2 (nå på versjon 9) var en komplett omskrivning og ikke bakoverkompatibelt, som kanskje høres brutalt ut – men jeg mener dette var en klok avgjørelse, man hadde malt seg litt inn i et hjørne på versjon 1.
Hvilke råd kan du gi til en som ønsker å lære seg Angular?
Ha tålmodighet, det er en ganske bratt læringskurve hvis man kaster seg over alt på en gang. Angular sin tutorial «Tour of heroes» var en grei måte å komme i gang på.
Det er alltid forskjellige måter å løse samme ting på, finn en som passer til det du bygger. Det er mange gode ressurser om Angular på nettet, så bruk Google flittig.
Ellers vil jeg avslutte med å si at rammeverk og biblioteker kommer og går, men weben består.