Voor ontwikkelaars voelt het soms alsof we nog steeds in 2007 zitten, toen de eerste iPhone net uitkwam. Want als je iets interessants met een mobiele applicatie probeert te doen, kom je een frustrerende realiteit tegen: de ervaring die mobiel kan bieden is grotendeels bepaald door de webtechnologieën van vóór het mobiele tijdperk.

Brede vaardigheden vereist

Dus als we het hebben over het bouwen van apps, hebben we het eigenlijk over applicaties die verbinden met servertechnologieën. Dat betekent dat je te maken hebt met een stack die is ontworpen voor pc's die bekabelde verbindingen gebruiken. De wereld is voor een groot deel veel meer dan draden en grote schermen op bureaus geworden, maar mobiele ontwikkelaars moeten veel compromissen maken om bruikbare ervaringen te kunnen bieden op de nieuwe hardwareplatforms.

Om nuttige serverside code te schrijven, heb je een hoop domeinspecifieke vaardigheden nodig. Als een developer een app bouwt en verbinding legt met een server, stroomt data niet automagisch naar handige kolommen en rijen. Voor je je eerste request kunt maken, moet je servers hebben ingericht en uitgerold. Toegegeven, dat gaat nu makkelijker dan ooit, maar het kan nog steeds behoorlijk wat tijd kosten.

Lees ook: Serverless computing, welke problemen lost het op?

Tech van vóór mobiel

Daarna moet de server de data van het formaat waarin het wordt aangeleverd (waarschijnlijk JSON) extraheren en verwerken in een database die doorgaans iets als SQL begrijpt, waarna er opdrachten op kunnen worden toegepast. Dat gaat allemaal in een serverside-taal, wat natuurlijk iets anders is dan Swift of Android Java die je gebruikt voor de mobiele app zelf.

Een simpele mobiele app heeft daarom een serverside-team nodig en meestal gaat het dan om werk om de twee kanten van je stack (mobiel en server) met elkaar te kunnen laten praten. Mobiele teams moeten samen kunnen werken met een serverside-stack en begrip hebben van technologie die is ontwikkeld in het tijdperk van vóór mobiel.

Serverside onzichtbaar maken

Er is een oplossing voor bedacht: serverless ontwikkelen. Ik heb Realm opgericht om serverless naar mobiele ontwikkelaars te brengen. De architectuur abstraheert alle serverside delen van de infrastructuur en frameworks, zodat applicatiebouwers zich bezig kunnen houden met de applicatiecode die vanzelf reageert op gewijzigde data. De server is er nog steeds, maar het werk om er productief mee te worden is verdwenen.

De manier waarop wij dat doen draait om onze eigen database die mobiele data automatisch synchroniseert met minimale wijzigingen in de datamodellen en controllers. Ontwikkelaars gaan naar hun dashboard om een functie aan te maken om te communiceren met de database en schrijven JavaScript die reageert op datawijzigingen van client-apps.

Geen serverkennis nodig

Nou hoor ik je denken: hoe is dat anders dan normaal serverside ontwikkelen? Het voornaamste verschil is dat een mobiele ontwikkelaar geen specifieke kennis en vaardigheden over het opzetten en configureren van servers en datamodellen nodig heeft. Je hoeft je niet bezig te houden met DevOps. Je hoeft niets te weten over Postgres, Redis en al die andere servertechnologieën om een mobiele app te bouwen.

Lees ook: 8 tenenkrommende app-ergernissen

In plaats van het leren van een nieuwe taal en framework, zoals Django of rails, schrijf je enkel JavaScript en het platform zorgt voor alle interacties. In plaats van dat je je bezighoudt met middleware en url-routing, verwerkt het platform de data in het juiste formaat. Je werkt dus direct met de data, zonder RESTful endpoints waar je requests op afvuurt.

Geen DevOps

Je schrijft uiteindelijk minder mobiele code. In plaats van netwerk- en data-iteratiecode ben je verantwoordelijk voor het model en de data die je daarmee genereert. Je legt daarmee de focus op het werk dat de app daadwerkelijk onderscheidt van anderen in plaats van de gedeelde basis die simpelweg vereist is om de applicatie werkend te krijgen. Geen serverside-ontwikkeling en DevOps meer nodig dus.

Lees ook: [urlx=http://webwereld.nl/development/101796-microservices-orchestration-bij-developer-platform-jexia]Microservices orchestration bij developer platform Jexia[/urlx]

Features als deelfuncties, datasybnchronisatie en lokale verwerking kunnen duur en lastig zijn om te ontwikkelen. Met een serverless, mobile-first-strategie kunnen ontwikkelaars platforms als die van ons gebruiken om next-gen features te kunnen leveren voor een fractie van de resources die we inzetten om de apps die we eigenlijk willen te bouwen.

Alexander Stigsen is oprichter en CEO van mobiel ontwikkelingsbedrijf Realm.