Kotlin of Java voor een nieuwe app?

Kotlin is een nieuwkomer op de markt van ontwikkeltalen en maakt sinds haar introductie furore als de taal die alles kan wat Java kan, maar dan beter. Is deze nieuweling zo goed als gezegd wordt, en wat zou dit betekenen voor de toekomst van Android-ontwikkeling?

Afbeelding Webuildapps
Let op: dit artikel dateert uit 2018. Inmiddels gebruiken we Kotlin voor al onze Android apps.

Java

Java is één van de populairste programmeertalen. De taal is al 22 jaar op de markt, wat voor een programmeertaal ontzettend lang is, en was tot de introductie van Kotlin de enige echte taal voor Android. Java 1.0 kwam in 1996 uit en werd snel populair. Enkele van de belangrijkste uitgangspunten tijdens de ontwikkeling van Java waren dat de taal simpel, robuust, veilig, en efficiënt moest zijn. Eén van de grootste voordelen van Java is dat programma's geschreven in Java draaien op een Java Virtual Machine (JVM). Eenvoudig uitgelegd betekent dit dat Java onafhankelijk is, en dus op elk platform (Windows, Linux, etc.) kan draaien.

De meest recente versie van de taal is Java 10, uitgekomen in maart van dit jaar. Volgens Oracle draaien meer dan drie miljard apparaten applicaties die ontwikkeld zijn met Java. Sinds Kotlin rond mei 2016 haar intrede deed neemt het marktaandeel van Java af terwijl die van Kotlin grote stappen zet. Java is de facto nog altijd de standaard maar lijkt inmiddels over haar piek heen.

Kotlin

Kotlin werd in 2011 geïntroduceerd door JetBrains, de ontwikkelaars van IntelliJ IDEA, PhpStorm en Android Studio, populaire IDEs. Ze maakten Kotlin met productiviteit als voornaamste uitgangspunt. Het kan samenwerken met Java: je kan dus in je huidige Java- of Androidproject met Kotlin aan de slag. Java code kan eenvoudig geconverteerd worden naar Kotlin en andersom. In dit blog van JetBrains, gepubliceerd in 2011, leggen ze uit waarom ze Kotlin nodig hebben: om productiever te worden, meer te verkopen, en omdat het leuk is. Ook geven ze aan te weten dat het jaren zal duren voordat ze hun doelen zullen bereiken. Uiteindelijk bereikte Kotlin een 1.0 versie in begin 2016. Kotlin was altijd bedoeld als een verbeterde versie van Java, niet als iets compleet nieuws.

Tijdens GoogleIO 2017 werd Kotlin als officiële ontwikkeltaal voor Android aangekondigd. Sommige bedrijven hadden Kotlin lang voor die tijd al in gebruik genomen. Kotlin is pragmatisch en beknopt en wordt nu ook officieel ondersteund in Android Studio 3.0. Geen kopzorgen wat compatibiliteit betreft dus. Kotlin groeit sinds haar introductie rap en wordt door velen geroemd als taal van de toekomst voor het ontwikkelen van Android apps. In onderstaande afbeelding doen Kotlin en Java hetzelfde:

Afbeelding Webuildapps

De belangrijkste verschillen

Kotlin brengt het aantal regels dat je nodig hebt om te coderen flink naar beneden. Logica die in Java veel regels vereist kan je in Kotlin een stuk efficiënter oplossen. Benieuwd hoe dit er in de praktijk uitziet? Hier is een voorbeeld waarin één regel Kotlin hetzelfde doet als 51 regels Java. Minder code is efficiënter, leuker voor ontwikkelaars, en vermindert de kans op bugs. Benieuwd naar een uitgebreide lijst van de voordelen van Kotlin? Dit artikel is voor jou. Onderaan het artikel staan nog meer artikelen over Kotlin. Op de officiële website van Kotlin is ook uiteengezet wat de taal allemaal wel en niet kan.

Vergeleken met Java zijn er nog niet veel tutorials zijn die je de fijne kneepjes van Kotlin leren. Java daarentegen heeft tutorials voor alles wat je kan bedenken. Dit is een kwestie van tijd: Kotlin is pas 2 jaar live en Java al 22, er zijn dus minder ontwikkelaars met kennis van Kotlin. Om te leren hoe Android in elkaar zit en wat er allemaal achter de schermen speelt zal je (nog wel) wat tijd met Java moeten doorbrengen. Ditzelfde speelt bij de documentatie: voor Java is er veel documentatie (al komt Kotlin in rap tempo in de buurt), en op StackOverflow is zo’n beetje elk vraag omtrent Java gesteld en beantwoordt. Voor Kotlin kan het nog wel eens zoeken zijn, en soms is er geen antwoord beschikbaar.

Taal van de toekomst

De opkomst van Kotlin doet ons denken aan de opkomst van Swift: in 2014 werd Swift aangekondigd als een betere ontwikkeltaal voor iOS. De meeste ontwikkelaars gebruikten toen nog Objective-C. Vandaag de dag is Swift de meest gebruikte ontwikkeltaal voor iOS. Wij verwachten dat Kotlin hetzelfde zal doen voor Android.

Wij gebruiken ondertussen Kotlin voor de ontwikkeling van onze Android apps. Ons advies aan ontwikkelaars: leer Kotlin, maar begin met Java als programmeren je totaal nieuw is. Als je de basis van Java onder de knie hebt pik je Kotlin ook sneller op en zal je de voordelen meer waarderen. Ben jij voor een bedrijf op zoek naar een ontwikkelaar? De kans is groot dat de app minder tijd (en dus geld!) in beslag neemt wanneer deze in Kotlin geschreven wordt. In het begin van deze blog vraag ik of deze nieuwe taal zo goed is als gezegd wordt. Het antwoord is een volmondig ja.

Nieuwsgierig geworden? Breng een bezoek aan de officiële Kotlin website om meer te leren over de taal. Voor een goed inhoudelijk advies kan je contact met ons opnemen. App ontwikkelaar Webuildapps helpt je graag tot de beste keuze(s) te komen.

Gepubliceerd op 9 augustus 2018

Ook interessant om te lezen

Heb je advies nodig?

Samen inventariseren we jouw casus, de mogelijkheden, budget en tijdlijnen. Maak een afspraak voor een kennismaking.