Slik bygger norske utviklere API-er

Vi spurte utviklerne i kode24-klubben, og fikk alle svar under solen.

API-er har blitt selve grunnstenen i moderne webutvikling. Alle tjenester trenger data, og de trenger å utveksle dem på enkle måter.

Når det er sagt finnes det rimelig mange veier til Rom.

Da vi spurte kode24-klubben hvilke språk og rammeverk de ville bruke til å bygge et fiktivt API innså vi nemlig at nær sagt hvert eneste språk under solen har et tilhørende API-rammeverk.

Du kan høre om svarene i kode24-timen her:

Og lese svarene fra klubben her:

#1. JavaScript

Den soleklart mest foreslåtte løsningen blant utviklerne i kode24-klubben er å bruke det JavaScript-baserte kjøremiljøet Node.js til å bygge API.

Når det er sagt er det flere forskjellige rammeverk som foreslås, hvorav veteranen innen Node.js-rammeverk Express.js ikke uventet er en gjenganger. Rammeverket så sin første utgivelse helt tilbake i 2010 og er fortsatt populær i kodemiljøet. Express brukes av store online-tjenester som PayPal og Uber.

- Node.js med Express. Knex og Objection for databaser, og automatisk caching med Redis bakt inn i modellene, skriver Carl Mathisen.

«Kjapt igang? Node.js, express.»

- Jeg er kjedelig og velger Node.js, Express, JWT, MongoDB/PostgreSQL og viktigst av alt et godt gjennomtenkt API-design. Her støtter jeg meg på: https://jsonapi.org/, forteller Øistein Sørensen.

- Kjapt igang? Node.js, express som deployes som cloud funksjoner i firebase, skriver Johannes Dvorak Lagos.

Men selv om mange fortsatt sverger til Express finnes det utfordrere.

- TypeScript med NestJS, TypeOrm, passport.io sin JWT, mongodb, Angular frontend, skriver Peter Schjem og drar frem NestJS, et rammeverk som har blitt veldig populært de siste årene, spesielt i Angular-miljøet, fordi rammeverket følger mange av de samme konvensjonene.

Enkelte har også begynt å eksperimentere med Node-utfordrene Deno, som er det nye prosjektet fra Node.js-skaper Ryan Dahl.

Allerede i 2012 annonserte han at han skulle trekke seg fra Node-prosjektet og i 2018 annonserte han Deno under foredraget "10 ting jeg angrer på med Node.js".

- Høres ut som et "hobby-/på gøy-prosjekt", så da ville jeg brukt anledningen til å lære meg noe nytt, som for eksempel Deno, skriver Trond Blomholm Kvamme.

#2. PHP

PHP har siden tidlig på 2000-tallet vært en av de aller mest populære scripte-språkene brukt til webutvikling. LAMP-stacken, bestående av; Linux, Apache, MySQL og PHP var foretrukket av open-source-prosjekter i årevis, slik som WordPress. I 2013 var PHP i bruk på over 240 millioner websider - 39 prosent av alle sider i testen - i en undersøkelse utført av Netcraft.

Mange utviklere har riktignok vendt ryggen mot PHP, mye takket vært web-prosjekter som er strandet på gamle versjoner. php.net rapporterte denne måneden at halvparten av alle PHP-baserte sider på nettet kjører en utgått versjon av språket.

Flere norske utviklere sverger likevel fortsatt til språket:

- PHP med Slim framework og MySQL. Kanskje Norges mest forhatte språk, men det funker bra og går kjapt. Slipper også 350 npm pakker, skriver Thomas Johansen Kvael.

«Som Pythonbruker tror jeg at jeg ville prøvd meg på fastapi.»

#3. Python

Python ser ut til å ha blitt et veldig trendy språk de siste årene. Både norske universiteter har omfavnet det Nederlandske-scriptespråket, og nettbutikker som Kolonial.no tar i bruk Python-rammeverket Django.

Flere norske utviklere lar seg også friste av Django.

- Django med Django Rest Framework, forteller Iver Jordal.

Men Django er ikke det eneste valget for Python-fans som vil bygge API-er.

- Som Python-bruker tror jeg at jeg ville prøvd meg på fastapi. Det har fått mye skryt som både raskere og enklere enn flask. Sammen med Sqlalchemy så kan det brukes mot det meste av SQL-databaser, skriver Bendik Laukeland Knapstad.

#3. C# og .net

Microsoft-baserte utviklere har også sine foretrukne språk og rammeverk for å bygge web-tjenester, og det ser ut som en spesifik kombinasjon norske utviklere foretrekker.

- C# og .NET Core + CosmosDb, skriver Mats Magnem.

- C# og .net core. Kjapt bygget, kimer det fra Dag Håkon Baardsen.

.NET Core er forøvrig open-source, kryssplattform og støtter både Linux og Mac Os i tillegg til Windows. Rammeverket utvikles av Microsoft og gis ut under MIT-lisensen.

#4. Go

Flere klubb-medlemmer drar frem det Google-skapte språket Go. Språket dukket først opp i 2009, og ser ut til å ha fått fotfeste blant flere norske backendutviklere.

«Kjapt og enkelt: Golang.»

- Jeg ville skrevet et REST-API i Go. Standardbiblioteket har alt som trengs. Eventuelt testet ut gRPC-Web for gøy, skriver Petter Jacobsen.

- Kjapt og enkelt: Golang med innebygde biblioteker, skriver Kai H T Mortensen-Langhaug.

#5. Java

De siste årene har tusenvis av norske utviklere fosset ut fra norske universiteter med Java i snippsekken. Språket og rammeverkene rundt brukes av drøssevis av norske tjenester på nett, slik som Fiken.

Blant klubb-medlemmer virker det dog ikke å være like populært. Kun én utvikler nevner språket.

- Java backend, gjerne spring boot, spring framework for mvc, OAuth2 for autentisering og autorisasjon, spytte ut hva frontend ønsker, om det er json/XML/whatnot, skriver Frank Karlstrøm.

#6. Funksjonelle språk

Det er et miljø for funksjonelle språk i Norge, bare spør Christian Johansen og Magnar Sveen i Kodemaker!

Og selv om vi i kode24-redaksjonen ofte har slitt med å forstå helt hva dette kode-paradigmet går ut på, stopper det ikke norske utviklere fra å omfavne funksjonelle språk og rammeverk.

- Haskell med Snap for noe enkelt, Haskell med Servant for et stort API, skriver Finn Espen Gundersen.

- Jeg velger stort sett alltid å kjøre API-er i Elixir med Phoenix rammeverket. Utrolig kjapt å sette opp et velfungerende, trygt, API, forteller Petter Høgmo Kaspersen.