Danske udviklere satser på fremstormende Swift til web-backend

En compileret runtime skrevet i Swift som backend til en webapplikation har færre fejl og ser ud til at kunne give 50 gange bedre ydelse, fortæller teknisk direktør Casper Rasmussen fra Nodes. Illustration: Bjørn Rosenquist
Apples programmeringssprog kan være et friskt pust til webapplikationer med større sikkerhed og bedre ydelse end PHP, Ruby og flere andre webframeworks.

Version 3.0 af Apples Swift-programmeringssprog er lige på trapperne, og det er ikke nødvendigvis kun udviklere af apps til Apples forskellige enheder, det kan komme til gode. Også webudviklere kan have grund til at kigge nærmere på Swift.

Det mener i hvert fald det danske udviklingshus Nodes, der hovedsageligt udvikler mobilapps til erhvervslivet, men også arbejder med backend-delen, og der er Swift blevet interessant, efter Apple gjorde Swift tilgængelig på Linux samtidig med, at sproget blev open source.

»Vi var med på Swift fra dag ét. Det var lidt en 'bumpy' tur i begyndelsen, men det udvikledes meget hurtigt, og fra Swift 2.0 var det stabilt. Vi var glade for, at vi var med tidligt og fik erfaringen,« fortæller teknisk direktør Casper Rasmussen fra Nodes til Version2.

Ligesom andre udviklingshuse i samme branche så arbejder udviklerne med flere forskellige programmeringssprog og platforme, men med version 3.0 af Swift åbnede der sig muligheden for at samle kompetencerne, hvis backend til applikationerne kunne skrives i Swift.

Med åbningen af Swift blev flere projekter sat i søen. Blandt gik IBM i gang med Kitura, ligesom to andre webframeworks Perfect og Vapor blev påbegyndt. Det var sidstnævnte, som fangede opmærksomheden hos Casper Rasmussen.

»Vi fandt i februar de her to udviklere på Github, som var gået i gang med et webframework, der var inspireret af Laravel, og de havde fået et ret stort community bag sig. Vi spurgte dem, hvad der skulle til for, at Vapor var klar, når Swift 3.0 blev frigivet. De svarede, at så skulle de gå på fuld tid. Så vi lavede en investering i dem,« fortæller Casper Rasmussen.

Investeringen i Vapor-projektet gav altså udviklerne tid til at koncentrere sig om projektet. De to er dog ikke alene, men får dagligt commits fra 20-30 udviklere, der også følger projektet og bidrager på frivillig basis.

»Der er også noget employer-branding i at gå ind i projektet. Dem, der sidder og bidrager ved siden af deres almindelige arbejde, er folk, vi virkelig gerne vil kigge på som vores næste medarbejdere,« forklarer Casper Rasmussen.

'Corporate' Vapor har ikke været tanken

Selvom Nodes altså er med til at betale for, at Vapor 1.0 kan blive klar, når Apple efter alt at dømme frigiver den færdige version af Swift 3.0 i september, så har det været en vigtig pointe at bevare det åbne community omkring Vapor.

»Det har aldrig været meningen, at der skulle gå 'corporate' i det. Det skal stadig have lækkerheden af et community og tiltrække talenterne i et open source-projekt,« siger Casper Rasmussen.

Den primære interesse i Vapor er dog de tekniske fordele, der vil ligge i at kunne skrive serverdelen af en applikation i Swift. Swift udmærker sig ved at være et sprog, der skal compiles, og det indeholder en række sikkerhedsfunktioner i compileren, som er helt fraværende i mere almindelige websprog som PHP.

Læs også: 5 programmeringssprog jeg gerne ville lære - hvis jeg havde tid

»De gængse websprog har heller ikke en runtime. Det vil vi få med Swift, og vi har set nogle crazy benchmarks med hastigheder, der er 50-60 gange hurtigere. Med en runtime kan vi også bedre udnytte ressourcerne på serveren bedre og skal ikke starte applikationen forfra som med et script,« forklarer Casper Rasmussen.

Noget tilsvarende tilbydes også af andre platforme som eksempelvis Java og .Net, men de lider ifølge Casper Rasmussen af, at de er nødt til at tage hensyn til hen ved 20 års historik og er langt tungere. Node.js er nyere, men Javascript var oprindeligt ikke tænkt som et sprog til serverside og er mindre strict.

Da Swift er startet fra en frisk og i designet har kunnet trække på de gode erfaringer, gør det koden kompakt, men samtidig giver det mulighed for at lave mange af de ting, man kan i andre sprog, på en sikker måde.

Læs også: Her er læsernes 20 bud på programmeringssprog, de gerne vil lære

Swift er ikke alene på det felt, men er en del af en tendens de senere år, hvor programmeringssprog og compilere, der hjælper udvikleren med at undgå sikkerhedsproblemer, har fået større opmærksomhed uden for datalogiforskningen.

Konsolidering omkring Swift i gang

For et udviklingshus som Nodes vil et webframework i Swift også give mulighed for at strømline udviklingsarbejdet. Selskabet udvikler apps til flere platforme, og det betyder, at det er nødvendigt med kompetencer inden for ikke bare Swift men også Javascript, Java, C#, PHP og flere andre sprog.

»Vi vil gerne kunne smelte vore teams sammen og mødes i Swift,« siger Casper Rasmussen.

Det er en målsætning, der hidtil bedst har kunnet lade sig gøre, hvis man valgte Microsofts platform, men selvom det kan samle udviklingen på .Net, så har det også været en anden sfære af udviklere og en anden driftsplatform end de fleste udviklere til iOS og web er vant til.

Læs også: Udvikler tvivler på løfte om ny App Store: Rige udviklerhuse vil få de bedste søgeplaceringer

Opbakningen til Vapor og begejstringen for Swift er ikke ensbetydende med, at de andre sprog og platforme er ude af billedet for Nodes, men det er frigivelsen af den første færdige version af Vapor, Casper Rasmussen ser frem til lige nu.

»Det kan blive et stort hop af den slags, vi ikke ser så tit, hvis vi kan opnå 60 gange forbedring af ydelsen. Webframeworks og de tilhørende sprog har haltet rigtig meget i forhold til, hvad der er sket med sprog til mobil-apps, så det er rigtig sjovt at være med til at skabe sådan et spring,« siger Casper Rasmussen.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (4)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Troels Henriksen

I artiklen skrives:

De gængse websprog har heller ikke en runtime.

Hvad i alverden menes der her? At programmer skrevet i gængse websprog afvikles øjeblikkeligt? Hvis der menes "runtime environment", så forstår jeg heller ikke. Ret mange websprog er fortolkede, hvilket nødvendigvis indebærer et pænt stort køretidsmiljø, og selv de oversatte sprog som Go har typisk automatisk spildopsamling. Hvis man skal være helt præcis (og det skal man!) så har selv C et meget lille køretidsmiljø, i form af standardbiblioteket.

  • 5
  • 0
Casper Rasmussen

Hej Troels.

Det der menes er at fx PHP booter op hver gang. Med Laravel er det flere hundrede filer i pipelinen før requestet lander i din controller. Requestet ender med en levering af html / json / xml. Hvorefter alt bliver flushed igen.

Nu er det ikke mange websites som er lavet i c eller Go. Men som artiklen skriver, er der flere som har en runtime.

Udover en runtime giver performance, i man kan bruge hukommelsen langt bedre mellem requests. Giver det også mulighed for at lytte til fx websockets, som er fremtiden for web-udvikling.

Du skal være mere end velkommen til at kigge forbi den 6. sep, hvor vi kan gå lidt mere i detaljer.
https://www.nodes.dk/event-the-technology-used-to-create-awesome-apps-pa...

  • 0
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize