Article mis à jour le 14 octobre 2022 | Publié le 23 octobre 2017
A l’issue de la Google I/O 2017, Google a présenté un tout nouveau langage de programmation pour les applications Android : Kotlin. Doit-on s’attendre à une révolution du développement Android ?
Qu’est-ce que Kotlin ?
Un nouveau langage Android remplis de nouvelles fonctionnalités : il est maintenant le langage de programmation secondaire d’Android. Notons que contrairement à certaines rumeurs, Kotlin ne remplace pas Java, il est annoncé comme un complément à celui-ci. Ce langage de programmation n’a pas été développé par Google, mais par JetBrains : une société de programmation russe basée à Saint-Petersbourg qui n’est autre que la créatrice de l’IDE WebStorm.
Qu’apporte Kotlin ?
Kotlin comporte la plupart des fonctionnalités que l’on trouve chez Java. Cependant, il y plus de 15 fonctions exclusives :
- Lambda expressions & Inline functions
- Primary constructors
- Operator overloading
- Extension fuctions
- First-class delegation
- Companion objects
- Null-Safety
- Type inference for variable and property types
- Data classes
- Smart casts
- Singletons
- Separate interfaces for read-only mutable collections
- String templates
- Declaration-site variance & type projections
- Coroutines
- Properties
- Range expressions
Un renouvellement qui s’avérait nécessaire
Le code Java imposé par Google limitait beaucoup trop le travail des développeurs : ce langage forçait les développeurs à être plus technique dans leur travail, plutôt que de penser à l’UX/UI de celui-ci. L’utilisation de Koltlin est une « libération » pour les développeurs qui attendent la sortie de JAVA 8, une mise à jour pleine de promesses qui tarde à venir. Cependant, tous les développeurs ne sont pas prêts à opter pour Kotlin : Etant donné que ce langage n’est pas officialisé par Google, il peut être risqué d’utiliser Kotlin pour sa base de code.
Quelques exemples de code
Afficher « Hello World » :
When :
Vous pouvez également trouver d’autres exemples de code sur le site officiel de Kotlin.