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.
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.)
Nos ingénieurs apprécient les fonctionnalités du langage Kotlin, et aujourd'hui, plus de 70 applications Google sont développées en Kotlin, y compris Maps, Home, Play, Drive et Messages. 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.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Android’s Kotlin-first approach\n\nAt Google I/O 2019, we announced that Android development will be\nincreasingly Kotlin-first, and we've stood by that commitment. Kotlin is an\nexpressive and concise programming language that reduces common code errors\nand easily integrates into existing apps. If you're looking to build an\nAndroid app, we recommend starting with Kotlin to take advantage of its\nbest-in-class features.\n\nIn an effort to support Android development using Kotlin, we co-founded the\n[Kotlin Foundation](https://kotlinlang.org/foundation/kotlin-foundation.html)\nand have ongoing investments in improving compiler performance and build\nspeed. To learn more about Android's commitment to being Kotlin-first, see\n[Android's commitment to Kotlin](https://android-developers.googleblog.com/2019/12/androids-commitment-to-kotlin.html).\n\nWhy is Android development Kotlin-first?\n----------------------------------------\n\nWe reviewed feedback that came directly from developers at conferences, our\nCustomer Advisory Board (CAB), Google Developer Experts (GDE), and through\nour developer research. Many developers already enjoy using Kotlin, and the\nrequest for more Kotlin support was clear. Here's what developers appreciate\nabout writing in Kotlin:\n\n- **Expressive and concise:** You can do more with less. Express your ideas and reduce the amount of boilerplate code. 67% of professional developers who use Kotlin say Kotlin has increased their productivity.\n- **Safer code:** Kotlin has many language features to help you avoid common programming mistakes such as null pointer exceptions. Android apps that contain Kotlin code are 20% less likely to crash.\n- **Interoperable:** Call Java-based code from Kotlin, or call Kotlin from Java-based code. Kotlin is 100% interoperable with the Java programming language, so you can have as little or as much of Kotlin in your project as you want.\n- **Structured Concurrency:** Kotlin coroutines make asynchronous code as easy to work with as blocking code. Coroutines dramatically simplify background task management for everything from network calls to accessing local data.\n\nWhat does Kotlin-first mean?\n----------------------------\n\nWhen building new Android development tools and content, such as Jetpack\nlibraries, samples, documentation, and training content, we will design\nthem with Kotlin users in mind while continuing to provide support for\nusing our APIs from the Java programming language.\n\n| | Java language | Kotlin |\n|------------------------------------------------------------|---------------|----------------------------------------------------------------------------------------------------------------------------------------|\n| Platform SDK support | Yes | Yes |\n| Android Studio support | Yes | Yes |\n| Lint | Yes | Yes |\n| Guided docs support | Yes | Yes |\n| API docs support | Yes | Yes |\n| AndroidX support | Yes | Yes |\n| AndroidX Kotlin-specific APIs (KTX, coroutines, and so on) | N/A | Yes |\n| Online training | Best effort | Yes |\n| Samples | Best effort | Yes |\n| Multi-platform projects | No | Yes |\n| Jetpack Compose | No | Yes |\n| Compiler plugin support | No | Yes - The [Kotlin Symbol Processing API](https://github.com/google/ksp) was created by Google to develop lightweight compiler plugins. |\n\nWe use Kotlin, too!\n-------------------\n\nOur engineers enjoy the language features Kotlin offers, and today over 70 of\nGoogle's apps are built using Kotlin. This includes apps like Maps, Home, Play,\nDrive, and Messages. One example of success comes from the\n[Google Home team](/stories/apps/google-home), where migrating new feature\ndevelopment to Kotlin resulted in a 33% reduction in codebase size and a 30%\nreduction in the number of NPE crashes.\n\nTo learn more about Kotlin on Android, see the\n[Kotlin on Android FAQ](/kotlin/faq)."]]