Accueil > Mobile > Intégrer Kotlin dans une application Android

Intégrer Kotlin dans une application Android

Aujourd’hui je vous propose de sortir des sentiers battus et d’expérimenter un langage encore peu connu : Kotlin. Développé par JetBrains, qui développe entre autre IntelliJ IDEA, ce langage est « compatible JVM ». Cela veut dire qu’on peut l’utiliser pour écrire des applications Java, soit en se passant totalement de Java, soit en mélangeant les deux langages. Le code Kotlin peut aussi être compilé en Javascript, mais ce n’est pas le propos.

Sans rentrer dans les détails, Kotlin apporte par rapport à Java 7 les choses suivantes :

  • des éléments de programmation fonctionnelle
  • plus de sécurité statique : les NullPointerExceptions sont impossibles grâce à un astucieux système de typage
  • un système de propriétés qui permet notamment de se débarrasser des getters/setters de Java
  • etc., je vous invite à jeter un oeil au comparatif Java/Kotlin

Pour être complet, je précise qu’il existe d’autres langages compatibles JVM, les plus connus étant Scala et Groovy, qui sont aussi des langages dits « fonctionnels ». Là où Kotlin sort du lot, c’est qu’il peut s’intégrer assez facilement dans un projet Android, car son runtime est très léger, mais aussi parce-qu’il s’intègre bien à Android Studio (en même temps l’IDE est conçu par JetBrains, donc c’est la moindre des choses). Ce n’est pas aussi simple pour ses concurrents : avec Scala, certains semblent y arriver, pour ma part cela n’a jamais fonctionné. Quant à Groovy, cela fait plutôt partie du domaine de l’expérimental mais les concepteurs du langage semblent s’y intéresser, donc ce sera peut-être possible un jour.

Je tiens à préciser que Java 8 apporte aussi des éléments de programmation fonctionnelle, mais malheureusement le SDK Android a longtemps fonctionné sur Java 6 et vient tout juste de passer à Java 7. D’où la recherche d’alternatives.

Comment intégrer Kotlin dans mon projet Android ?

Si c’est un projet Gradle, cet article explique très bien comment faire. Cela se corse quand il s’agit d’un projet Maven, car il existe une incompatibilité entre les plugins Maven pour Android et Kotlin : en effet le plugin Android ajoute au classpath un répertoire qui n’existe (généralement) pas, ce qui ne plait pas du tout au plugin Kotlin. Finalement ce problème peut être contourné rapidement car il s’agit juste de faire créer par Maven le répertoire en question lors du process de build.

Ceci fait, il ne reste plus qu’à installer le plugin Kotlin pour Android Studio, et le tour est joué.

Exemple en Java :

et l’équivalent en Kotlin :

Il est difficile de résumer la puissance d’un langage en deux captures d’écran, je vous invite donc à essayer par vous même la démo en ligne de Kotlin.

Si vous voulez tester par vous-même ou intégrer Kotlin dans votre propre projet Android, je vous invite à récuperer sur GitHub mon projet « Hello World » :

https://github.com/clemp6r/hello-android-kotlin

Categories: Mobile Tags:


+ huit = 13