Développement Android : Kotlin gagnerait du terrain au détriment de Java
Et Realm prédit qu'il sera le plus utilisé fin 2018

Le , par Michael Guilloux, Chroniqueur Actualités
Kotlin connait une forte croissance pour le développement d’applications Android depuis le mois de mai, après que Google a annoncé son support officiel dans Android Studio. C’est ce que révèle le baromètre Realm, dans le cadre de son dernier rapport trimestriel.

Pour information, 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 s’explique donc aisément. D’abord 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. D’après Google, c'est un langage « expressif, concis, extensible, puissant et agréable à lire et écrire », et « il 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.

Mais, il semble que certains développeurs Android ont carrément décidé de passer de Java à Kotlin, d’après le rapport de Realm, basé sur des données collectées via le Web sur sa communauté mondiale de plus de 100 000 développeurs actifs. Pour le trimestre qui vient de s’écouler, la firme d’analyse note que l'écosystème Android a subi un changement rapide. Et le point le plus remarquable concerne la hausse en popularité de Kotlin au détriment de Java, pour le développement Android.

Parmi les développeurs Android utilisant soit Java ou Kotlin, 94,9 % utilisaient Java en septembre 2016 contre 5,1 % pour Kotlin. Un an plus tard, le ratio est passé à 85,7 % pour Java et à 14,3 % pour Kotlin, un changement assez important. Il faut aussi noter qu'au moment de l'annonce du support officiel de Kotlin dans Android Studio, à la conférence Google I/O, le langage était à 7,4 %. Il a donc presque doublé sa part en seulement quatre mois.


« Depuis que Google a donné sa bénédiction à Kotlin en le déclarant langage officiel sur Android, ce qui s'est passé en mai à la Google I/O, l'utilisation de Kotlin a commencé à exploser », a déclaré Paul Kopacki, vice-président du marketing chez Realm. « Nous pensons que d'ici la fin de l'année prochaine, Kotlin aura éclipsé Java pour le développement d'applications Android, » a-t-il ajouté. Il le dit en effet en se basant sur les prédictions de Real qui indiquent que Kotlin va se retrouver à 50,7 % de parts contre 49,3 % pour Java, en décembre 2018.


« Java (sur Android) est en train de mourir ». Selon Realm, « il n'y a pas simplement plus de développeurs Kotlin : ils basculent également leurs applications vers Kotlin. En fait, 20 % des applications construites avec Java avant Google I/O sont en train d'être réécrites en Kotlin », indique le rapport.

Source : Rapport Realm

Et vous ?

Utilisez-vous Kotlin ?
Que pensez-vous de ce langage par rapport à Java pour le développement Android ?

Voir aussi :

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 11/10/2017 à 16:51
La relation entre Jetbrains et Realm n'a bien entendu rien à voir avec le résultat de ce rapport

In fact, 20% of apps built with Java before Google I/O are now being built in Kotlin
Allez hop on sort un chiffre comme ca sans trop de source defois que ca passe.

Qu'une partie des nouvelles applications soient fait en Kotlin je conçois. je vois pas quelle société un temps soit peu rentable peu se permettre de réécrire une appli from scratch "juste" pour passer à un langage plus cool.

In short, Android developers without Kotlin skills are at risk of being seen as dinosaurs very soon.
on fait un peu flipper les dév mobile , pour les pousser sur les technos de nos copains Jetbrains , qui eux même vont pousser vers Realm plutôt que Firebase ...

Un joli lobbying naïvement relayé si vous voulez mon avis

Ps : Je remet pas en cause Kotlin qui semble effectivement intéressant.
Avatar de eclesia eclesia - Rédacteur https://www.developpez.com
le 11/10/2017 à 20:00
Apres :
- Groovy
- Fantom
- Fortress
- Clojure
- Ceylon
- Scala
Voici : Kotlin

On applaudi le nouveau futur remplacant auto-proclamé de Java.

il n'y a pas grand changement avec java, bon les nullables ont peut etre de l'avenir, le reste ... c'est plutot une question de préférences.
L'absence d'exception vérifié malgres un pseudo typage statique me fait classer Kotlin dans les languages de script.
Donc il n'entre pas en compétition avec Java.
Avatar de - https://www.developpez.com
le 12/10/2017 à 1:13
Utilisez-vous Kotlin ?
Non

Que pensez-vous de ce langage par rapport à Java pour le développement Android ?
Que ça n'apporte pas grand chose, c'est pas plus performant, ça compile pas plus vite, ça n'économise pas de ressources et que de convertir son code existant va rajouter du bug et que ça va faire perdre du temps.
Avatar de gbegreg gbegreg - Membre éprouvé https://www.developpez.com
le 12/10/2017 à 7:01
En plus de ce qui a été évoqué dans les autres commentaires, je trouve curieux que, d'après les tableaux fournis par Realm, Java + Kotlin = 100% (pile poil) des développeurs sous Android.
Quid de ceux qui utilisent des outils cross plateformes tels que Xamarin, Cordova, Delphi et autres ?
Avatar de Philippe Bastiani Philippe Bastiani - Membre éprouvé https://www.developpez.com
le 14/10/2017 à 15:03
Citation Envoyé par eclesia Voir le message
...
Dans la liste que tu donnes combien sont supposés supporter Android ? L'info dont il est question ici porte sur un Android et non pas sur la JVM !
Sur le fond, on peut supposer que c'est un effet d'annonce ni plus ni moins de la part de Realm.

L'avantage de Kotlin sur les autres langages Android est qu'il est officiellement supporté par Google.

Citation Envoyé par eclesia Voir le message
On applaudi le nouveau futur remplacant auto-proclamé de Java.
Kotlin n'a jamais été présenté comme un remplaçant à Java.
Le langage est à l'origine un développement interne chez JetBrain.

Citation Envoyé par eclesia Voir le message
il n'y a pas grand changement avec java, bon les nullables ont peut etre de l'avenir, le reste ... c'est plutot une question de préférences.
L'absence d'exception vérifié malgres un pseudo typage statique me fait classer Kotlin dans les languages de script.
Donc il n'entre pas en compétition avec Java.
Tu peux préciser ?

Les Checked exceptions sont quasiment spécifiques à Java. Une bonne idée à l'origine... mais largement abandonnée depuis (des frameworks comme Spring ne s'appuient plus sur les Checked exceptions).
Kotlin est statiquement typé : le mot clé dynamic n'est pas pour la JVM (pour rappel même Kotlin a aussi comme target JavaScriot et le natif).
L'inférence de type (à ne pas confondre avec le typage dynamique) est plus poussé que sur Java (quoi que...)... tu noteras au passage que Java s'engage aussi sur le voie de l'inférence de type...

A la différence de Scala (par exemple), Kotlin ne se veut pas novateur (donc tu n'y trouveras pas de fonctionnalités spécifiques): les gens de JetBrain sont pragmatiques et incorporent a Kotlin les fonctionnalités qui peuvent apporter un gain de productivité. C'est aussi une raison pour laquelle l'interropérabilité avec Java a été poussée: Kotlin ne se présente pas comme un concurrent à Java mais comme un compagnon... Libre à toi de pousser le curseur vers Kotlin ou Java dans tes devs...

La première chose que l'on constate en écrivant du Kotlin est la verbosité de Java. Après tu découvriras les Data class, les extensions de fonctions, les paramètres par défaut, l'opérateur elvis, la variance améliorée pour les generics... et tu finiras avec les coroutines !

Bref Kotlin n'est pas un langage de script quoi que tu en penses...
a+
Philippe
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 18/10/2017 à 9:45
Citation Envoyé par eclesia Voir le message
Apres :
- Groovy
- Fantom
- Fortress
- Clojure
- Ceylon
- Scala
Voici : Kotlin

On applaudi le nouveau futur remplacant auto-proclamé de Java.

il n'y a pas grand changement avec java, bon les nullables ont peut etre de l'avenir, le reste ... c'est plutot une question de préférences.
L'absence d'exception vérifié malgres un pseudo typage statique me fait classer Kotlin dans les languages de script.
Donc il n'entre pas en compétition avec Java.
Au contraire, je pense qu'il est en compétition frontale avec java contrairement aux autres langages de ta liste, déjà parce que google l'a adopté comme langage de première classe pour le dév Android ce qui donne la crédibilité et la confiance qui peut manquer à la plupart des autres.

Il fait aussi le choix de l'interopérabilité bidirectionnelle complète avec Java, il peut donc s'insérer facilement dans un projet existant qui a déjà un historique plutôt que de forcer à tout remettre à plat. Je pense que c'est ce qui fait la popularité de Typescript par rapport à des "rempaçants de JS" plus audacieux, on peut commencer léger sans tout foutre en l'air et sans renoncer à un écosystème existant.

A titre personnel, pour avoir utilisé Kotlin dans des projets non critiques en production, je trouve qu'il fait beaucoup de choses "justes". Elimination de la verbosité un peu excessive de java, meilleure sécurité contre les NPE et bonne lisibilité attestée par mes collègues qui n'avaient jamais vu de kotlin auparavant. Le code est concis et il se lit, c'est pas du ASCII art qui se compile, si vous lisez le code de la librairie standard, vous le comprendrez facilement. Ca a l'air de rien mais ceux qui ont essayé de lire le code de certaines API Scala comprendront.
Contacter le responsable de la rubrique Accueil