Kotlin
Définition
Kotlin est un langage de programmation multiplateforme à typage statique développé par Jetbrains
- Licence : Apache 2.0
- Exécution : JVM, JavaScript, Native (LLVM)
- Créateur : JetBrains (dirigé par Dmitry Jemerov et Roman Elizarov)
- Première publication : 2011 ; officiellement adopté comme langage principal d’Android par Google en 2017
Fonctionnalités du langage
- Sécurité des nullités : Sécurité intégrée contre les nullités (types nullable :
String?, non-nullable :String) - Fonctions d’extension : Ajout de méthodes à des classes existantes sans héritage
- Coroutines : Concurrence légère sans enchaînement de callbacks
- Classes de données : Génération automatique de equals(), hashCode(), toString(), copy()
- Casts intelligents : Cast de type automatique après les vérifications
is - Interopérabilité : 100 % compatible avec Java, classes inline | | Kotlin 1.2 | 2017 | Kotlin/Native (expérimental) | | Kotlin 1.3 | 2018 | Coroutines (stable), classes inline | | Kotlin 1.5 | 2020 | Interfaces scellées, récepteurs de contexte | | Kotlin 1.6 | 2021 | classes inline (classes de valeur), classes inline | | Kotlin 1.9 | 2022 | classes inline (paramètres de type réifiés) | | Kotlin 2.0 | 2024 | Récepteurs de contexte, classes inline (réifiées), compilateur amélioré |
Écosystème Android
| Composant | Description |
|---|---|
| Android SDK | Développement Android officiel |
| Jetpack Compose | Toolkit UI déclaratif moderne |
| Ktor | Framework web asynchrone |
| Kotlin Multiplatform | Code partagé entre Android, iOS, desktop, web |
Cas d’utilisation
- Développement d’applications Android (langage principal)
- Développement côté serveur (Ktor, Spring Boot)
- Mobile multiplateforme (Kotlin Multiplatform)
- Applications desktop (Compose for Desktop)
- Développement web (Kotlin/JS)
Comparaison avec les langages apparentés
- **vs Java)
- kotlinlang.org
- GitHub