Google lance Android KTX, un ensemble d'extensions pour le développement Android avec Kotlin
Disponible en préversion

Le , par Michael Guilloux, Chroniqueur Actualités
Avez-vous déjà envisagé d'utiliser Kotlin dans vos projets Android ?
En mai 2017, Google a dévoilé la première préversion d'Android Studio 3.0 avec le support officiel de Kotlin. Pour ceux qui ne sont pas familiers au monde Android, Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage statique qui permet de compiler pour la machine virtuelle Java et JavaScript. Il est développé par une équipe de programmeurs chez JetBrains, la même entreprise qui a développé l’EDI IntelliJ IDEA, sur lequel est basé Android Studio.

Pour l’équipe Android de Google, cette décision pourrait donc s'expliquer par le support EDI pour Kotlin : Android Studio est basé sur IntelliJ IDEA de JetBrains et l'équipe JetBrains travaille depuis des années pour s'assurer que Kotlin fonctionne parfaitement avec IntelliJ IDEA. Google héritera donc de tout leur travail pour supporter Kotlin dans Android Studio. Mais au-delà de cet aspect, Kotlin présente bien d’autres avantages. Google trouve par exemple que c'est un langage « expressif, concis, extensible, puissant et agréable à lire et écrire », et qui a « des fonctionnalités de sécurité intéressantes en termes de nullabilité et d'immutabilité » qui s'alignent avec ses investissements pour rendre les applications sûres et performantes par défaut. Plus important encore, Kotlin est interopérable avec les langages officiels pour le développement Android (Java, C++) et le runtime Android. Il fonctionne avec le langage Java de manière transparente, de sorte qu'il est facile pour les développeurs qui aiment le langage Java de continuer à l'utiliser, mais aussi d'ajouter progressivement du code Kotlin et de tirer parti des bibliothèques Kotlin.


Le support officiel de Kotlin a contribué à l'adoption croissante du langage, et certains soutiennent même que des développeurs Android auraient carrément décidé de passer de Java à Kotlin. Que cela soit une réalité ou pas, la nouvelle initiative de Google va certainement permettre à Kotlin de gagner encore plus de terrain. Google vient en effet d'annoncer la sortie en préversion d'Android KTX, un ensemble d'extensions pour le développement Android avec Kotlin. Il s'agit d'un « ensemble d'extensions conçues pour rendre l'écriture de code Kotlin pour Android plus concise, idiomatique et agréable », expliquent les ingénieurs de Google, dans un billet sur le blog dédié aux développeurs Android. « Android KTX fournit une couche API sympa à la fois sur le framework Android et Android Support Library pour rendre l'écriture de votre code Kotlin plus naturelle », ont-ils ajouté.


Google affirme qu'il y a de nombreuses situations où Android KTX peut simplifier votre code, et a fourni quelques exemples pour le montrer. Pour commencer à utiliser Android KTX dans vos projets Android Kotlin, il suffit d'ajouter ce qui suit au fichier build.gradle de votre module d'application :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
repositories {
    google()
}
 
dependencies {
    // Android KTX for framework API
    implementation 'androidx.core:core-ktx:0.1'
    ...
}
Ensuite, après la synchronisation de votre projet, les extensions vont apparaître automatiquement dans la liste d'autocomplétion de l'EDI.

Vous remarquerez également qu'Android KTX utilise des noms de paquets commençant par androidx. Il s'agit d'un nouveau préfixe de nom de paquet que Google va utiliser dans les futures versions d'Android Support Library. Cette distinction entre android.* et androidx.*, selon Google, vise à aider à savoir quelles API sont regroupées avec la plateforme, et lesquelles sont des bibliothèques statiques pour les développeurs d'applications qui fonctionnent sur différentes versions d'Android.

Google avertit que les API sont susceptibles de changer pendant la période de préversion. Si vous décidez d'utiliser Android KTX dans vos projets, vous devriez donc vous attendre à des changements avant la sortie de la version stable.

Source : Blog Android

Et vous ?

Que pensez-vous d'Android KTX et de l'attention particulière que Google accorde à Kotlin ?
Cela va-t-il favoriser le développement Android avec Kotlin au détriment de Java ?

Voir aussi :

Kotlin 1.2 est disponible : cette nouvelle version permet de partager le code entre la JVM et JavaScript et améliore de 25 % les temps de compilation
Développement Android : Kotlin gagnerait du terrain au détriment de Java, et Realm prédit qu'il sera le plus utilisé fin 2018
Google I/O : le langage de programmation Kotlin officiellement supporté pour le développement Android, à partir d'Android Studio 3.0


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de grunk grunk - Modérateur https://www.developpez.com
le 06/02/2018 à 8:33
Je suis sans doute un peu conspirationniste mais j'arrive pas à m'enlever de l'idée que Google pousse Kotlin en l'échange de l'utilisation de AS. En gros on vous laisse utiliser AS gratos mais en échange vous faites un peu de forcing pour nous sur Kotlin.

Je remet pas en cause la qualité du langage , mais ca me dérangerait qu'à terme Kotlin deviennent une obligation pour le dev android.
Avatar de micka132 micka132 - Membre expert https://www.developpez.com
le 06/02/2018 à 9:09
Citation Envoyé par grunk Voir le message
Je remet pas en cause la qualité du langage , mais ca me dérangerait qu'à terme Kotlin deviennent une obligation pour le dev android.
Comment tu veux qu'il devienne obligatoire? Le langage officiel, oui peut etre, mais obligatoire c'est impossible...meme Apple ne sait pas faire
Avatar de Kearz Kearz - Membre expert https://www.developpez.com
le 06/02/2018 à 9:58
Citation Envoyé par grunk Voir le message
Je suis sans doute un peu conspirationniste mais j'arrive pas à m'enlever de l'idée que Google pousse Kotlin en l'échange de l'utilisation de AS. En gros on vous laisse utiliser AS gratos mais en échange vous faites un peu de forcing pour nous sur Kotlin.

Je remet pas en cause la qualité du langage , mais ca me dérangerait qu'à terme Kotlin deviennent une obligation pour le dev android.
C'est leur droit de pousser un langage, ça me semble bien. ça sera plus simple a faire évoluer que java et donc ça offrira des libertés à l'avenir.
Avatar de Voïvode Voïvode - Membre émérite https://www.developpez.com
le 06/02/2018 à 12:53
@grunk

Kotlin est trop dépendant de la JVM et de la bibliothèque Java. On peut (pourra) compiler Kotlin en autre chose que du bytecode, mais ce n'est intéressant que dans des scénarios bien spécifiques, car cela prive de nombreuses bibliothèques.

Kotlin est un vent de fraicheur sur la syntaxe. Je pense que c'est la jambe qui manquait à l'écosystème Java :
  • d'une part, on a une syntaxe traditionnelle qui évolue lentement, mais qui a le mérite d'être un standard établi depuis des années,
  • d'autre part, on a une syntaxe moderne qui évolue plus vite.
Avatar de blazo blazo - Membre à l'essai https://www.developpez.com
le 06/02/2018 à 15:47
Justement un compilateur est en phase de dèveloppement pour remplacer la jvm.
Avatar de ClaudeBg ClaudeBg - Membre éprouvé https://www.developpez.com
le 06/02/2018 à 18:56
Personnellement, je vois mal l'intérêt de s'accrocher au langage Java: En passant du développement Windows sous C# au développement Android sous Java j'ai eu l'impression de revenir 10 ans en arrière. Avec Kotlin on retrouve enfin un langage pratique et du niveau du C#.

Ne pas passer à Kotlin pour un nouveau projet c'est juste de l'inertie (compréhensible) et de la réticence à changer ses habitudes, parce que, franchement, Java ne présente pas le moindre avantage. Et quand on commence à utiliser Kotlin, on se demande comment on a pu se manger la syntaxe de Java et toute la lourdeur de la "machinerie" qu'on doit gérer "manuellement": Suffit de voir la construction d'un singleton, d'une classe qui ne contient que des propriétés, des runnables, et autres joyeusetés. Et je passe sur les fabuleuses méthodes d'extension infix et Cie.

Et les compilateurs en code natif arrivent, avec même la possibilité de compiler pour les iphones.

Non, plus je réfléchis et plus je suis convaincu que le seul argument en faveur de Java, c'est que le développeur connaît déjà ce langage et n'a pas envie d'en apprendre un autre. C'est une raison valable, mais c'est la seule.

En ce qui concerne KTX, je ne connais pas, je vais regarder, mais Kotlin est un langage qui permet de se construire aisément des fonctionnalités supplémentaires puissantes et réutilisables, jusqu'à pratiquement pouvoir reconstruire un langage dans le langage, ce qui est très pratique pour certaines applications spécifiques. Du coup, je ne m'étonne pas du tout de voir arriver ce genre de projet. Je dirais même qu'il est "naturel" pour ce langage de construire des librairies de fonctionnalités.
Avatar de Voïvode Voïvode - Membre émérite https://www.developpez.com
le 06/02/2018 à 20:26
Citation Envoyé par blazo Voir le message
Justement un compilateur est en phase de dèveloppement pour remplacer la jvm.
Difficile de remplacer une technologie comme la JVM (épaulée par une bibliothèque immense) avec un simple compilateur, fut-il basé sur LLVM. Kotlin/Native répondra à des besoins bien spécifiques (avec une bibliothèque restreinte) sans vraiment devenir une plateforme à part entière.

JetBrains bosse là-dessus parce que ça leur permet d'occuper un vide immédiatement que Java n'est pas encore vraiment capable de combler. Si l'AOT devient compatible avec davantage de plateformes que Linux en 64 bits, l'intérêt de Kotlin/Native sera amoindri.
Contacter le responsable de la rubrique Accueil