kompetanseguiden
Hva er Javascript?
Hva er Javascript – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva Javascript 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
Javascript er et av de mest brukte programmeringsspråkene i verden, og er sammen med HTML og CSS en av grunnsteinene i web- og frontend-utvikling. Etter at plattformen Node.js ble utviklet, kan Javascript også brukes til backend-utvikling.
Magnus Skalsveen er konsulent i Netlight og Javascript-lærer hos AW Academy, og omtaler Javascript som levebrødet sitt. Vi har bedt om å fortelle litt om språket.
Hva er det overordnede bruksområdet for Javascript i 2020?
Jeg vil påstå at Javascript kan brukes til det meste. Selv har jeg jobbet med det i alt fra simple nettsider til bankapplikasjoner. I sistnevnte tilfelle er det gjerne backend-systemer som ligger nære, eller har egen, frontend.
Takket være en enorm underskog av verktøy og rammeverk kan man bruke Javascript til å bygge apper, desktop-applikasjoner, API-er og selvfølgelig nettsider.
Hva er fordelen med Javascript?
Den største fordelen er nok at det går fort å komme i gang, enten man er helt ny eller kan det godt. Å sette opp en ny Javascript-applikasjon og komme i gang med å prototyp eller å bygge går veldig fort.
Delvis fordi språket i seg selv er relativt rett frem. Men også fordi det finnes et stort miljø rundt som lager pakker og rammeverk som gjør det enkelt å abstrahere bort kode og gjenbruke andres arbeid.
En annen fordel, avhengig av øynene som ser, er at man ikke trenger å kompilere koden for å kjøre den.
Hva er ulempene eller begrensningene?
Javascript er et språk det går fort å komme i gang med, men det tar lang tid å mestre. Det bærer også preg av at det ble designet og bygd på kort tid. Siden Javascript må kjøre i en Javascript-motor, så kan også ytelsen variere.
En del vil kanskje trekke frem at Javascript er utdypet som en ulempe. Typescript forsøker å adressere denne ulempen, og har på kort tid blitt veldig populært.
Hva er typisk å utvikle med Javascript, og hvilke teknologier er vanlig å bruke for å oppnå det?
Tradisjonelt har Javascript vært brukt mest for å skape interaktive nettsider og single page applications. Men over det siste tiåret har det gradvis også flyttet inn i våre backends, takket være Node.js.
React Native og lignende rammeverk har også gjort det mulig å lage (tilsynelatende) native apper for mobile plattformer.
De store frontend-rammeverkene i Javascript for tiden er Angular, React og Vue. I tillegg brukes en haug med forskjellig pakker for å håndtere dataflyt og kommunikasjon, samt for å bygge brukergrensesnitt.
På backend-siden brukes rammeverk som Express og Sequalize sammen med Javascript for å bygge API-er og ORM-er. Generelt er det så mange rammeverk i sirkulasjon at den største utfordringen fort kan bli å finne rett rammeverk blant mange mulige. Men det er også noe av det som gjør Javascript gøy. Det finnes alltid en ny måte å få jobben gjort på.
Jeg tror det er vanskelig å finne nettsider som ikke er utviklet med Javascript
Hva er kjente eksempler på populære programmer, nettsider eller funksjoner som er utviklet med Javascript?
Jeg tror det er vanskelig å finne nettsider som ikke er utviklet med Javascript. Det er nok regelen, snarere enn unntaket i disse dager.
I tillegg til dette er apper som Facebook og Instagram delvis bygget med Javascript (React Native). Andre verktøy vi kjenner fra hverdagen, som Slack sin desktop-app er bygget i Javascript. I tillegg er det en skog av API-er der ute, både åpne og lukkede, som kjører Javascript-kode i bakkant.
Hvilke teknologier eller verktøy er det viktig å mestre for å utnytte potensialet i Javascript?
– Det viktigste er nok å bli kjent med NPM/Yarn, som lar en bruke open source-pakker. Deretter handler det i stor grad om hva man ønsker å gjøre. HTML- og CSS-kunnskap skader sjelden, samme med litt kjennskap til hosting/cloud.
Hvilke språk ligner, eller er nært knyttet til Javascript?
Språket ligner på de fleste andre språk med C-dialekt. Kanskje aller mest på PHP, som i likhet med Javascript er utdypet. Men både Java-, C- og C#-utviklere vil nok også kjenne seg igjen fort.
Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det en eventuelt en fordel å ha?
Vanskelighetsgraden er ikke spesielt høy, men læringskurven er lang. Det tar litt tid å bli komfortabel og fortrolig med språket, kanskje spesielt grunnet at det mangler kompilatorer som setter tydelige rammer for hva man får og ikke får gjøre.
Samtidig tror jeg det er nesten umulig å bli utlært. Det kommer nye rammeverk hele tiden, og språket utvikles stadig.
Kan du si noe om utviklingen og forhistorien til Javascript?
Språket ble opprinnelig laget av Brendan Eich for Netscape i 1995. Den første versjonen ble bygget på omtrent 2 uker.
Noen år senere ble Javascript standardisert under navnet ECMAScript. Og det er vel i stor grad ECMAScript 3 som er forløperen til det vi kjenner som Javascript i dag. Med ES3 kom muligheten for å hente innhold fra servere asynkront (AJAX). AJAX skjøt fart med ES5 og jQuery rundt 2010, og derfra har det bare gått en vei popularitetsmessig.
Utviklingen av språket går fort. Både for selve spesifikasjonen, og for nye og eksisterende rammeverk som bruker Javascript. Såpass fort at det kan være krevende å henge med til tider. Støtte i nettlesere begrenset lenge en del, men takket være rammeverk som Babel.js, og at de fleste nettlesere i dag automatisk oppdateres, så er ikke dette et like stort problem lenger.
Hvilke råd kan du gi til en som ønsker å lære seg Javascript?
Det finnes mengder av bra innhold for å lære og dypdykke på nettet. Siden Javascript typisk er et frontend- eller frontend-nært språk, så tror jeg det viktigste er å finne et prosjekt man brenner for, og deretter bygge del for del for å se det realisert.
Det er i hvert fall sånn jeg har lært meg Javascript.