Technologies Natives

Pourquoi utiliser Kotlin sur son projet Android ?

En 2019, lors de sa conférence annuelle I/O, Google annonce officiellement "Android is now Kotlin First" et donne consigne aux développeurs d'utiliser ce langage plutôt que Java. Deux ans plus tard, où en sommes-nous ? Quelles sont les raisons d'utiliser Kotlin sur son projet Android ?

| Kotlin devient le langage préféré de Google pour Android

google_kotlin_announce

Source: Developer Keynote (Google I/O '17)

Le support par Android Studio : on ne peut pas rêver mieux ! ?

Kotlin est un langage développé par JetBrains. L'éditeur promeut l'utilisation de Kotlin en apportant un excellent support dans ses IDEs. Rien d'étonnant, en attirant les nouveaux développeurs dans la communauté Kotlin, JetBrains génère davantage de licences payantes ?

JetBrains apporte à Google et Android Studio LE meilleur plugin Kotlin du marché.

Une communauté Kotlin de plus en plus grande ?

Deux ans après l'adoption de Kotlin par Google, +50% du top 1000 des apps du Google Play Store utilisent du code Kotlin ! Cela ne veut pas dire qu'elles sont 100% écrites en Kotlin - on peut avoir une application mixte Java ET Kotlin. Cependant, la communauté grandit et JetBrains et Google apportent un énorme soutien aux communautés locales via Kotlin-everywhere.

A Paris, le prochain rendez-vous Kotlin Everywhere aura lieu le 19 octobre ! Si vous êtes intéressés par Kotlin, c'est LE rendez-vous annuel à ne pas manquer : https://everywhere.kotlin.paris/

En apportant une aide financière aux organisateurs de meetups afin de créer des conférences autour de Kotlin et de ses usages, et en encourageant leurs experts à voyager partout dans le monde pour y faire des talks, JetBrains et Google souhaitent bel-et-bien booster l'adoption du language.

top20_201906

Source: RedMonk Language Rankings over time : June 2019

Mission réussie, Kotlin est le 4ème langage des tendances sur le dernier rapport Stack Overflow et apparaît pour la première fois au classement des langages RedMonk en 2019.

Voilà pour les considérations business, mais qu'en est-il de la technique ?

Moins de code, une meilleure qualité, moins de bugs ?

Pour l'app BUX par exemple, un fichier Kotlin est 28% moins volumineux qu'un fichier Java. Moins de code, plus idiomatique = moins de bug, moins de maintenance, moins de lignes à tester et typer.

| Le plus important donc: nous écrivons moins de code.

Plus idiomatique, Kotlin apporte une meilleure Dev-eXperience. Quelques concepts clés - extensions functions, immutability, null-safety - font de l'utilisation de ce langage un vrai plaisir.

AndroidX, JetPack et les Coroutines ?

Google a réécrit la plupart de ses APIs Android dans ses librairies préfixées par ++code>androidx++/code>. Ces librairies font parties de la suite Android JetPack et apportent un support en premier lieu à Kotlin... dont les Coroutines Kotlin ! Les Coroutines permettent de faire passer en arrière plan les tâches "bloquantes" qui ralentiraient le thread UI principal. Les nouvelles API d'AndroidX ouvrent les portes à une syntaxe très facile d'utilisation pour réaliser des tâches de fond, et ce de façon optimisée.

Bonus: nous pouvons refactoriser le code Java au fur et à mesure

Il n'est pas nécessaire d'attendre votre prochain projet pour utiliser Kotlin. Vous pouvez utiliser Kotlin sur les nouvelles fonctionnalités de votre app initialement codée en Java. C'est la démarche employée par Tinder, Airbnb et Deezer. Fichier par fichier, réécrivez vos fonctionnalités en Kotlin et faîtes-le test : vous pourrez poursuivre ou revenir sur vos pas. Pour vous entraîner, un CodeLab Google est disponible.

Vous utilisez Kotlin pour faire vos Apps Android ? Voyez-vous d'autres avantages majeurs ? Laissez un commentaire, je suis très intéressé de savoir quels usages vous faîtes de Kotlin dans vos apps Android ??

En attendant, nous nous rencontrerons peut-être au prochain Kotlin Everywhere ? https://everywhere.kotlin.paris/

Tu veux rester informé des dernières actualités et innovation tech ? Lis le dernier numéro du BAM Innovation Lab sur les app clips, et abonne-toi pour rester à jour !

Développeur mobile ?

Rejoins nos équipes