L'approche Kotlin-first d'Android

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Lors de la conférence Google I/O 2019, nous avons annoncé que le développement d'Android allait être de plus en plus axé sur Kotlin, et nous avons tenu cet engagement. Kotlin est un langage de programmation expressif et concis qui réduit les erreurs de code courantes et s'intègre facilement aux applications existantes. Si vous souhaitez créer une application Android, nous vous recommandons de commencer par Kotlin pour bénéficier de ses fonctionnalités de pointe.

Afin de soutenir le développement Android en Kotlin, nous avons participé à la création de la Kotlin Fondation, et nous réalisons des investissements continus pour améliorer les performances du compilateur et la vitesse de compilation. Pour en savoir plus sur notre engagement à ce qu'Android soit axé sur Kotlin, consultez la page Engagement à rendre Android Kotlin-first.

logos Android et Kotlin

Pourquoi le développement Android est-il Kotlin-first ?

Nous avons pris en compte nos enquêtes destinées aux développeurs et les commentaires recueillis auprès d'eux lors de nos conférences, ainsi que l'avis de notre comité consultatif des clients (CAB, Customer Advisory Board) et des experts Google Developers (GDE). De nombreux développeurs ont déjà plaisir à utiliser Kotlin, et la demande d'une meilleure prise en charge de Kotlin était claire. Voici ce que les développeurs apprécient lorsqu'ils écrivent en Kotlin :

  • Expressivité et concision : vous pouvez en faire plus avec moins. Exprimez vos idées et réduisez la quantité de code récurrent. 67 % des développeurs professionnels qui utilisent Kotlin déclarent avoir augmenté leur productivité grâce à Kotlin.
  • Code plus sécurisé : Kotlin propose de nombreuses fonctionnalités de langage pour vous aider à éviter les erreurs de programmation courantes telles que les exceptions de pointeur nul. Les applications Android qui contiennent du code Kotlin sont 20 % moins susceptibles de planter.
  • Interopérabilité : appelez du code Java à partir de Kotlin et vice-versa. Kotlin est totalement interopérable avec le langage de programmation Java. Vous pouvez donc utiliser autant de portions de code Kotlin que vous le souhaitez dans votre projet.
  • Simultanéité structurée : les coroutines Kotlin rendent le code asynchrone aussi facile à utiliser que le code bloquant. Elles simplifient considérablement la gestion des tâches en arrière-plan, qu'il s'agisse d'appels réseau ou d'accès aux données locales.

Que signifie Kotlin-first ?

Cela signifie que nous concevons les nouveaux outils et contenus de développement Android (bibliothèques Jetpack, exemples, documentation, contenus de formation, etc.) en priorité pour les utilisateurs Kotlin tout en veillant à ce que nos API puissent continuer à être utilisées à partir du langage de programmation Java.

Java Kotlin
Compatibilité avec la plate-forme du SDK Oui Oui
Compatibilité avec Android Studio Oui Oui
Lint Oui Oui
Compatibilité avec la documentation guidée Oui Oui
Compatibilité avec la documentation de l'API Oui Oui
Compatibilité avec AndroidX Oui Oui
API AndroidX spécifiques à Kotlin (KTX, coroutines, etc.) N/A Oui
Formation en ligne Meilleur résultat Oui
Exemples Meilleur résultat Oui
Projets multiplates-formes Non Oui
Jetpack Compose Non Oui
Compatibilité avec le plug-in de compilation Non Oui. L'API Kotlin Symbol Processing a été créée par Google pour développer des plug-ins de compilation légers.

Nous aussi, nous utilisons Kotlin

Nos ingénieurs apprécient les fonctionnalités du langage Kotlin, et aujourd'hui, plus de 70 applications Google (y compris Maps, Home, Play, Drive et Messages) sont développées en Kotlin. Google Home offre un exemple de réussite : la migration du développement de nouvelles fonctionnalités vers Kotlin a permis de réduire de 33 % la taille du codebase et de 30 % le nombre de plantages causés par des exceptions de pointeur nul.

Pour plus d'informations concernant Kotlin sur Android, consultez les questions fréquentes relatives à Kotlin sur Android.