karriere
Møkk lei PHP og SQL: Nå lager Johannes (23) en moderne webapp nesten uten å kode
– Som å bygge lego.
– Da jeg fikk høre om ideen sa jeg: "Ja, dette kan jeg lage på to-tre måneder. Det blir en fin sideinntekt til studiene", sier Johannes Berggren, teknisk sjef i oppstarten Learnlink.
To år, og ett altoppslukende prosjekt senere, konstaterer han at han den gang var svært naiv.
Learnlink er en anbudstjeneste som kobler studenter sammen med grunnskole- og videregående-elever som trenger privatundervisning. Webapplikasjonen har allerede rukket å formidle 7000 undervisningstimer.
Brukte klassisk LAMP-stakk
– Foreløpig kjører webappen på en slags fungerende førsteversjon. Jeg valgte å gjøre jobben i PHP. Språket er forsåvidt greit til det formålet. Det finnes enorme mengder tilgjengelig hyllevare man kan ta fra.
Han installerte det populære publiseringssystemet Joomla, med en plugin som gir en ferdig løsning for formidlingstjenester som Learnlink. Den tar seg blant annet av anbudene og kommunikasjonen mellom brukerne. Det hele kjøres på en Linux-server med Apache. Data blir lagret ved hjelp av MySQL. Altså en klassisk LAMP-stack (Linux, Apache, MySQL og PHP) koblet til betalingstjenesten Stripe.
Forsøkte å outsource
I starten satte han ut deler av arbeidet til India. En av fordelene med en såpass gammel stack var at det ble lettere å finne billige, utenlandske, utviklere som kunne lage deler av webappen. Men utsettingen av tjenester ble kortvarig.
– Det kostet vel i grunn mer enn det smakte, og krevde veldig mye administrasjon.
Etter et år med ulike utviklere på prosjektet ble koden vanskeligere å endre og vedlikeholde. Han beskriver det som en «ball med gaffateip». Ikke var han særlig begeistret for database-løsningen heller.
– Ingen liker SQL
– Mulig jeg får kjeft for denne påstanden, men jeg sier det uansett: Ingen liker å skrive SQL-setninger.
– Det er kjedelig, og tar moroa ut av programmeringen. Hvorfor skal ikke databasen kunne snakke direkte med språket man bruker på frontenden? sier Johannes Berggren.
Han bestemte seg til slutt for å starte fra bunnen av. Filosofien var å kode minst mulig selv.
– Det er begrenset hva én person eller et lite utviklerteam kan gjøre. Det vanlige er å lage skisser og se hva man ønsker av funksjonalitet. Deretter bruker du tid på å tilpasse og skreddersy. Vi gjør det omvendt: Vi ser hva som finnes av ferdige løsninger, og tilpasser oss i størst mulig grad til det som finnes.
Firebase, Vue og Quasar
Svaret ble en ny stack der Google Firebase tok seg av hele serverside- og databasejobben, mens han selv konsentrerte seg om Vue.js på tjenestesiden.
– Vue er på full fart fremover, og kombinerer det beste fra Angular, React og Aurelia. Da vi bestemte oss for å starte fra scratch, ville vi ikke gjøre det med gammel teknologi.
Firebase leverer en rekke standard serverside-funksjoner, hvor man kun trenger å koble seg på tjenestens API.
I utgangspunktet kan slike backend as a service-løsninger erstatte behovet for serverside-programmering, spesielt i små og mindre komplekse løsninger hvor man har mindre behov for skreddersydde funksjoner.
Backend as a service-løsninger er forøvrig noe det jobbes med i Norge også. Tidligere i år snakket vi med det norske selskapet Syncano, som allerede har fått 60 millioner i investormidler.
«Fiks ferdig» brukergrensesnitt
For å lage brukergrensesnittet, samt gjøre siden responsiv bruker han Quasar - Vue sitt svar på Bootstrap.
Node.js - Javascript for serversiden - benyttes også, men kun for å holde klientsiden så ren som mulig ved å kommunisere med tredjeparts-APIer som Stripe og Facebook.
– Det var som en helt annen verden å gå fra gammel stack til ny. Det føles som å bygge med lego. Alt er mer fleksibelt og mye morsommere.
– Firebase er genialt. Det koster så og si ingenting, og tar seg av hele backenden og hosting. Nå kan heller Google ta seg av skalering og sikkerhet, så slipper jeg å tenke på det, konstaterer han.
– Med nyere teknologi blir det også lettere å rekruttere gode utviklere. Det er merkbart hvor mye mer oppmerksomhet man får på rekrutterings-messene om man kan skilte med ny og spennende teknologi, forklarer Berggren.