Mener Javascript-utvikling har blitt «dependency-rodeo»

– 2019 burde preges av større bevissthet rundt kostnadene ved «npm install», sier Kodemaker.

Utviklerne Nils Magnus Larsgård, Finn Johnsen, Magnus Rundberget, Stein Tore Tøsse, Alf Kristian Støyle og Odin Standal i Kodemaker oppsummerer året som gikk, og spår litt om året som kommer. 📸: Kodemaker
Utviklerne Nils Magnus Larsgård, Finn Johnsen, Magnus Rundberget, Stein Tore Tøsse, Alf Kristian Støyle og Odin Standal i Kodemaker oppsummerer året som gikk, og spår litt om året som kommer. 📸: KodemakerVis mer

Vi har allerede hørt hva store konsulentselskaper som Bouvet, og digre selskaper som Sparebank 1, tror om 2019. Men hva med de mindre konsulenthusene?

I serien vår «kodeåret» har vi derfor denne uka fått Kodemaker til å oppsummerer året, og spå litt om året vi nå er inne i.

Kodemaker består av 24 konsulenter i Oslo sentrum, som tidligere blant annet har forklart kode24 hva i alle dager funksjonell programmering egentlig handler om.

- Vi fokuserer på teknologier som holder vann, og følger ikke alltid strømmen når det kommer til teknologivalg, mener utviklergjengen Nils Magnus Larsgård, Finn Johnsen, Magnus Rundberget, Stein Tore Tøsse, Alf Kristian Støyle og Odin Standal i Kodemaker.

I tillegg til funksjonell programmering er de blant annet opptatt av å unngå massevis av avhengigheter i koden sin. Og de håper spesielt Javascript-utviklere vil tenke litt ekstra nøye over dette i året som kommer.

Hvilke nye teknologier begynte Kodemaker å bruke i 2018? ✨

Bransjen vår er generelt altfor trendbasert og det er lett å la seg rive med. Nye forlokkende rammeverk og biblioteker popper opp som paddehatter på godt og vondt. Vi tror ikke at det er sunt å kaste seg over trender fordi det er nytt eller populært, uten at man har vurdert nedsiden av det man får med på kjøpet.

Det verste eksempelet er kanskje den dependency-rodeoen som preger Javascript-verdenen. Man drar ukritisk inn nye avhengigheter, og plutselig har man sikkerhetshull på grunn av noen avhengigheter man ikke hadde helt kontroll på. Avhengigheter som skulle gjøre livet lettere, blir fort til teknisk gjeld om man ikke holder tungen rett i munnen.

I 2018 la vi merke til to teknologier som virkelig begynte å skinne: Kotlin og Kubernetes. Flere av prosjektene der Kodemaker er involvert har vært preget av disse to.

Vi har jo sett Kotlin en stund allerede, men det var først i 2018 at språket fikk ordentlig medvind, og trenden ser ikke ut til å snu.

Kubernetes har gjort flere av prosjektene våre enklere med tanke på deployment og skalering. Vi har brukt dette både som en «managed service» på Azure, satt det opp selv på AWS samt hos kunder som kjører dette i en «private cloud».

Hvilke teknologier sluttet dere å bruke i løpet av 2018? 💩

Vi skulle ønske at ting som SOAP, Maven og XML var på denne listen; selv om det er på vei ut, så tar det lang tid.

Java 8 er naturlig nok på vei ut med det nye release-regiment som Oracle legger opp til med Java.

Det ble laget færre løsninger basert på self-hosting, on-premise og «rett på jernet», nå som cloud-løsninger tar over.

Og detaljerte estimater er definitivt ut. Det er lenge siden vi har gjort det, og vi savner det ikke. Vi burde egentlig sprette champagne for å ha sluttet å sløse vekk tid på sånt!

Hvilke teknologier tror dere kommer til prege backend-utvikling i 2019? ⚙️

Vi tror på fortsatt vekst på cloud-teknologier som Kubernetes. Selv om Kubernetes har vært populært i 2018 er det fortsatt mange kunder som sitter på gjerdet og venter på at det skal bli enklere å ta i bruk.

At Microsoft etablerer datasentre i Norge vil kunne få offentlige kunder til å seriøst vurdere å lage løsninger på AKS (Azure Managed Kubernetes), uten å bekymre seg over at sensitive data forlater landegrensen.

Kubernetes er et bra produkt, men vi tror ikke at dette er et sluttført produkt for hvordan man deployer tjenester. Det kreves fremdeles mye tid, kunnskap og energi å være en effektiv utvikler som også tar devops-rollen. Det er fortsatt rom for store forbedringer når det kommer til brukervennlighet og standardisering, for å for eksempel kunne flytte mellom ulike tilbydere av Kubernetes.

«Microsoft har lenge vært uglesett i Java-miljøet, men nå begynner de å gjøre positive ting.»

Vi ser spennende ting fra fra et uventet hold; nemlig Microsoft. De har lenge vært uglesett i Java-miljøet, men nå begynner de å gjøre positive ting som løfter øyebryn. Open-sourcing av .NET, bidrag til Linux, Typescript, oppkjøp av GitHub, Visual Studio Code for å nevne noe. Disse tingene gjør at mange utviklere som har vært negative til «en gammel skurk» nå mykner opp.

Når det kommer til programmeringsspråk så ser vi nok at Kotlin fortsetter fremgangen sin også blant backend-utviklere. Etter at Kotlin ble offisielt språk i Android (i tillegg til Java) så er det ikke lenger kun for entusiaster.

Vi er glade i funksjonell programmering, og håper at folk vil få øynene mer opp for at Kotlin i kombinasjon med funksjonelle bibliotek som Arrow gjør at man kan skrive vakker funksjonell kode. Nye prosjekter vil i større grad velge Kotlin på grunn av bedre lesbarhet og vedlikeholdbarhet.

Vi har også hatt noen prosjekter med Python på backenden der det har vært behov for bildeprosessering. Det frister absolutt til gjentagelse, så vi håper at vi får skrive mer Python i året som kommer.

Hvilke teknologier tror dere kommer til prege frontend-utvikling i 2019? 🎨

Typescript kommer til å bli mer populært etterhvert som flere innser fordelene med et sterkt typet språk når det kommer til forvaltning av store kodebaser. React kommer ganske sikkert med noen nyheter og deprecations som tvinger folk til å tilpasse kode-basen sin nok en gang.

Elm er et spennende språk vi har fulgt med på i et par år nå. Det virker å vokse organisk og mange har hørt om det. Det er flere og flere som tar det i bruk i produksjon, men andelen i forhold til JavaScript er fortsatt veldig liten. Vi tror nok ikke det kommer til å prege frontend i 2019, men vi har tro på at det kommer til å fortsette å vokse i utbredelse. Elm er et sterkt typet funksjonelt språk som «bare virker». Det er en utrolig deilig følelse å oppleve som utvikler.

Vi har flere prosjekter der vi bruker ClojureScript, og håper at flere vil få øynene opp for hvor produktivt og robust dette er. Det er ikke et språk som kommer til å bli like populært som Javascript og Typescript, men du verden så produktiv man er når man har fått dette inn i fingrene.

Vi synes at frontend i 2019 burde preges av økt fokus på modellering og å eie egen kode. Det burde preges av større fokus på sikkerhet og stabilitet. Det burde preges av større bevissthet rundt kostnadene ved «npm install», generert kode og massive rammeverk.

Hva tror Kodemaker blir bransjens største utfordringer i 2019? 🔥

Mangel på flinke, erfarne folk er bransjens største problem. Markedet skriker etter kompetanse innenfor programmering og spesielt etter folk som både har erfaring og evner å sette seg inn i alt det nye som dukker opp.

Vi kommer fremdeles til å se det samme som vi har sett de siste tiårene: store prosjekter som feiler brutalt med store budsjettoverskridelser. Bransjen har en slak lærekurve når det gjelder å forstå at små prosjekter er veien å gå for å få til store ting på en effektiv måte.

Store prosjekter er dessverre en gullgruve for enkelte store konsulentselskaper, men en kilde til frustrasjon og unødvendig pengebruk for mange kunder der de offentlige kundene er overrepresentert.