Farid Marzouki is specialist in mobiele applicaties. Als Elmos-consultant werkt hij al enkele jaren mee aan de mobile banking-app van Argenta. Als developer kent hij als geen ander de nood van applicaties om op verschillende toestellen te kunnen draaien. Zo verdiepte hij zich in de wereld van Kotlin.
Wij laten onze Kotlin-expert aan het woord:
Het leven van een programmeur veranderde de laatste decennia drastisch. Vroeger kwamen je eindgebruikers op slechts één manier in contact met de vrucht van je harde werk: via een desktopcomputer, in de meerderheid van de gevallen dan ook nog een Windows-machine en, in het slechtste geval, een Mac. Sinds de komst van het internet en de smartphone zijn die dagen voorbij, want met die komst kwam er een complete jungle aan nieuwe front end-toepassingen bij.
Voor bedrijven was dit eigenlijk geen prettig nieuws. Om al hun klanten te bereiken, moesten ze met verschillende van die front end-platformen aan de slag gaan, want klant A gebruikt een PC-programma, klant B een iPhone, klant C een Android-gsm en klant D wil een webapplicatie. Het hoeft niet gezegd: zo’n aanpak is tijdrovend en brengt een grotere ontwikkelingskost met zich mee. Veel toepassingen mogen dan wel hetzelfde einddoel hebben, om alle functionaliteit te garanderen was je gedwongen om met verschillende programmeertalen te werken.
Er zijn al oplossingen voor dit probleem bedacht. Een van de meest succesvolle is allicht Java, met zijn Java Virtual Machine. Hiermee werd het mogelijk om met één programmeertaal software te schrijven voor een brede waaier aan toestellen. Een brede waaier? Ja, maar niet allemaal. Java kan bijvoorbeeld niet ingezet worden om software te bouwen voor webbrowsers of iPhones. Twee platformen die de laatste jaren erg belangrijk zijn geworden.
En toen was er Kotlin
Alles kan beter en dat was ook waarom het van oorsprong Tsjechische bedrijf Jetbrains Kotlin ontwikkelde. Kotlin is een programmeertaal die Java in de schaduw moet zetten. Jetbrains wilde dit in de eerste plaats bereiken door Kotlin een stuk rijker en eenvoudiger te maken dan Java. Daar zijn ze trouwens ook in geslaagd. Er zijn ook heel wat features die ervoor zorgen dat Kotlin een bijzonder aantrekkelijk alternatief is voor Java-programmeurs. Kotlin heeft bijvoorbeeld een zeer hoge interoperabiliteit met Java, wat meebrengt dat de overgang van de ene naar de andere taal zeer geleidelijk kan verlopen en dat ze broederlijk naast elkaar kunnen samenleven.
Maar een van de voornaamste redenen waarom Kotlin aan een steile opmars bezig is, is wel de keuze van Google om van Kotlin de officiële taal te maken voor het ontwikkelen van Android-applicaties. Daardoor vinden steeds meer programmeurs hun weg naar Kotlin. Dat heeft er op zijn beurt voor gezorgd dat andere populaire Java-libraries Kotlin zijn beginnen ondersteunen. Met de beslissing van bijvoorbeeld Spring om zich achter Kotlin te scharen, lijkt het erop dat Kotlin snel de hele backend-wereld zal veroveren.
Op compilatieniveau
Zoals ik al zei: het was de bedoeling van Jetbrains om van Kotlin een betere taal te maken dan Java. Dat wil uiteraard ook zeggen dat ze hun software compatibel wilden maken met zo veel mogelijk apparaten. Ze kozen ervoor om, op compilatieniveau, de vertaalslag te maken naar drie grote families: eerst en vooral natuurlijk naar JVM zelf, maar daarnaast ook naar native en Javascript.
Hiermee worden de grote, ontbrekende spelers in het Java-ecosysteem weer verwelkomd. Want dit betekent dat Kotlin code kan draaien op iOS en Javascript. Op die manier kan het Kotlin-Multiplatform voldoen aan zijn grote ambitie: de business-logica van applicaties wordt gemeenschappelijk gehouden, terwijl de UI wordt geschreven in een specifieke taal voor elk platform. Eureka! Omdat de performantie van de runtime dezelfde is als die van de platformspecifieke taal, is het Kotlin-Multiplatform meteen ook een serieuze kandidaat voor mobiele ontwikkeling.
Must have
Kotlin slaagt er dus in op een eenvoudige en performante manier het beste van verschillende werelden te verenigen. De verwachting is dan ook dat dit snel een populaire oplossing zal worden in de ontwikkelaars-gemeenschap en bij bedrijven. Met het Kotlin-Multiplatform kunnen ze immers sneller én goedkoper hun apps tot bij hun klanten brengen. Zodra de configuratievoorbeelden en libraries beschikbaar zullen zijn, zal het multiplatform allicht ook snel doorbreken binnen de wereld van de mobiele applicaties.
En Kotlin heeft nog meer troeven, omdat het ook bijvoorbeeld de ontwikkeling voor webapplicaties en de backend mogelijk maakt. En dit alles door slim gebruik te maken van de succesformules van Java. Kotlin heeft dus alles in huis om te slagen als programmeertaal en wordt de komende jaren een must have voor veel ontwikkelaars.
Meer weten over Kotlin? Neem een kijkje op: https://kotlinlang.org