Android : Kotlin est désormais le langage préféré et recommandé par Google
Vers la fin de Java pour le développement Android ?

86PARTAGES

20  0 
Hier, lors de la première journée de l'édition 2019 de sa conférence Google I/O dédiée aux développeurs, le géant de la recherche en ligne a annoncé que le langage de programmation Kotlin est désormais son langage préféré pour les développeurs d'applications Android. « Le développement d’Android deviendra de plus en plus Kotlin-first », a écrit Google dans un billet de blog. « De nombreuses nouvelles API Jetpack et fonctionnalités seront d'abord proposées pour Kotlin. Si vous commencez un nouveau projet, vous devriez l’écrire en Kotlin », poursuit Google en expliquant que « le code écrit en Kotlin signifie souvent beaucoup moins de code pour vous - moins de code à taper, tester et maintenir. »

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, l'éditeur d'IntelliJ IDEA, l'environnement de développement intégré pour Java et sur lequel est basé Android Studio, l’EDI officiel pour développer les applications Android.

Pour ceux qui le suivent ou l'utilisent déjà, sa dernière mise à jour (Kotlin 1.3.30) a été publiée le mois dernier avec notamment des améliorations pour Kotlin/Native qui utilise LLVM pour compiler les sources Kotlin en données binaires autonomes (aucune machine virtuelle n’est nécessaire) pour différents systèmes d’exploitation et architectures CPU, y compris iOS, Linux, Windows, Mac, et même WebAssembly et les systèmes embarqués tels que STM32.

Le support officiel de Kotlin pour le développement Android a été annoncé à la conférence Google I/O 2017. Pour l’équipe Android de Google, cette décision de supporter Kotlin s’expliquait 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, « Kotlin 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.


Le plus important d’après Google, c’est que Kotlin est interopérable avec les langages officiels pour le développement Android (Java, C++) et le runtime Android. La firme a expliqué par exemple que Kotlin 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. En outre, l'adoption de Kotlin sur Android augmentait régulièrement au fil des années, et d’après Google, avec un enthousiasme croissant parmi les développeurs ; une des raisons pour lesquelles la société a voulu accueillir Kotlin en tant que langage officiel sur Android pour assurer à ces derniers un meilleur support de Kotlin. Ce qui a été fait à partir d'Android Studio 3.0.

Le support officiel de Kotlin a contribué à l'adoption croissante du langage dans le monde du développement Android, au point où certains prédisaient que le langage de JetBrains allait très vite détrôner Java. En tout cas, cette éventualité n'est pas à écarter, car selon Google, « plus de 50 % des développeurs professionnels Android utilisent maintenant Kotlin ».

En partenariat avec JetBrains et la fondation Kotlin, Google continue d'investir dans les outils Kotlin pour Android, comme en témoigne le lancement début 2018 d'Android KTX, un ensemble d'extensions pour le développement Android avec Kotlin. Ils investissent également dans la documentation, des formations et évènements pour faciliter l'apprentissage du langage de JetBrains, et par conséquent son adoption. Cette annonce de Google n'est donc pas une surprise, surtout que Google cherche à prendre ses distances vis-à-vis de Java, depuis que la firme est attaquée devant les tribunaux par Oracle pour utilisation illégale des API Java dans Android.

Voir les nouveautés de Kotlin
Rubrique Kotlin sur Developpez.com (Forums, Actualités)

Source : Google

Et vous ?

Avez-vous déjà utilisé Kotlin pour le développement Android ?
Pensez-vous qu'il est meilleur que Java ? Pourquoi ?
Cette annonce de Google menace-t-elle l'utilisation de Java dans le développement Android ?

Voir aussi :

RedMonk janvier 2019 : Kotlin fait son apparition dans le top 20 du classement, Objective-C est 10e et propulse Swift à la 11e place
Google lance Android KTX, un ensemble d'extensions pour le développement Android avec Kotlin, disponible en préversion
La version 1.3.30 de Kotlin est disponible avec des améliorations pour KAPT et Kotlin/Native et quelques corrections de bogues
Kotlin 1.3 est disponible : Coroutines désormais stables, Kotlin/Native Beta, bibliothèques multiplateformes et bien plus encore
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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 08/05/2019 à 11:16
Jusqu'à présent, le maintient de la "popularité" du langage Java devait beaucoup à sa présence sur Android où il n'y avait pas d'alternative sérieuse, ce qui m'avait fait douter sur ma prédiction concernant l'obsolescence de ce langage.

Si Kotlin venait à le supplanter, finalement, le dernier grand bastion de Java viendrait à disparaître et "ma" prédiction n'aurait été retardée que de quelques années.
2  6 
Avatar de gandalflemaia
Membre régulier https://www.developpez.com
Le 08/05/2019 à 11:50
@yahiko, Android c'est que dalle ! Oui, oui vous avez bien lu.
En utilisation évidemment c'est énorme mais en nombre de développement c'est moindre. Java c'est surtout le langage utilisé dans les systèmes de beaucoup d'entreprises. Qui sont maintenues / améliorer en continue. Kotlin n'a aucune impact là dessus et c'est pas prêt de changer.
7  1 
Avatar de alves1993
Membre confirmé https://www.developpez.com
Le 08/05/2019 à 12:35
Citation Envoyé par yahiko Voir le message
Jusqu'à présent, le maintient de la "popularité" du langage Java devait beaucoup à sa présence sur Android où il n'y avait pas d'alternative sérieuse, ce qui m'avait fait douter sur ma prédiction concernant l'obsolescence de ce langage.

Si Kotlin venait à le supplanter, finalement, le dernier grand bastion de Java viendrait à disparaître et "ma" prédiction n'aurait été retardée que de quelques années.
Java ne se limite pas à Android
7  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 08/05/2019 à 13:05
Ils ont clairement annoncé pendant la keynote que Java et c++ reste et resterai des alternatives possible.
Je serais quand même curieux d'avoir des stats indépendante sur kotlin . Je vois enormement de com côté Google et Jetbrains , mais dans mon entourage personne n'a switché et les lib kotlin reste encore assez timides par rapport a java.

Pour moi la techno est encore trop jeune pour m'y engager sur des projets pro surtout avec Google qui peut a tout moment se fâcher avec Jetbrains et décider de tout arrêter comme ils savent si bien le faire
4  0 
Avatar de zecreator
Membre émérite https://www.developpez.com
Le 08/05/2019 à 14:07
J'ai l'impression que le "langage préféré" change chaque année.

Moi, je parie toujours sur Java. Il reste le langage préféré des grosses boîtes.
3  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 08/05/2019 à 15:33
Android est un nid à poursuites judiciaires. La plus célèbre d'entre elles est sans doute celle initiée par Oracle autour d'un certain... Java. Se débarrasser de Java c'est aussi et surtout se débarrasser des avocats d'Oracle. Le gros combat de Google est avant tout de (re)prendre le contrôle de son OS mobile. On éloigne les avocats de concurrents jaloux (d'où Kotlin supplantant Java), on isole Android des surcouches constructeurs et opérateurs pour éventuellement avoir plus de latitude sur la màj de l'OS (Projet Treble)... et Fuchsia OS qui laissera tomber les licences GPL et Apache d'Android pour une licence BSD potentiellement plus restrictive (et un OS moins forkable). En bref ce remplacement n'est qu'un élément de la stratégie à long terme de Google, où Android (lui ou bien son successeur Fuchsia OS) sera "l'iOS de Google" et tout aussi fermé que son pendant de Cupertino.

Là où je suis surpris c'est que Google ne mette pas davantage en avant Go. Je pourrais également ajouter Dart mais il se cache derrière Flutter.

Quant à Kotlin... Honnêtement ce langage ne m'inspire pas confiance. Il y a quelques temps je me suis amusé à regarder les pages d'accueil des sites Internet de divers technologies et langages informatiques : PHP, Perl, Ruby, Kotlin, Go, Node.js, .NET, Java, TypeScript, Rust, Python, Swift... Tous ont un point commun : ils mettent en avant le produit. La chose la plus visible ou presque est tout le temps un "Download" ou un "Get Started". PHP met en avant PHP, Python met en avant Python, Mozilla met en avant Rust, Oracle met en avant les technologies Java (à la limite pourquoi pas), Google met en avant Go... Tous font ça sauf un : Jetbrains pour Kotlin. Quand t'arrives sur leur site, la première chose que tu vois est "viendez à la conf' !", puis les liens communautaires. Hormis ça tu as accessoirement un petit "try online" dans un coin, mais pas d'explications sur ce qu'est vraiment Kotlin. Si tu veux savoir il faut scroller et ce n'est que vers le bas de page que tu trouveras quelques timides "download". À croire que Kotlin n'est qu'un prétexte pour se retrouver, faire une conférence et boire des bières ensemble. Alors oui la communauté c'est important, je n'ai jamais dit le contraire. Mais quand tu vois que le site officiel de Kotlin ne met pas Kotlin en avant, t'es légitimement en droit de penser qu'il y a un loup quelque part avec cette technologie. Bref ça me renforce dans l'idée que Kotlin est d'abord un langage dont le principal atout est d'être conçu par l'éditeur d'IntelliJ, ce qui lui permet de surfer sur la bonne réputation d'IntelliJ. "C'est du Jetbrains donc c'est cool. Et n'oubliez pas de venir à la conf' ! " : voilà ce qu'on peut retenir de Kotlin quand on voit le site du langage. Et Kotlin dans tout ça ? OSEF et c'est bien ça le problème.

Citation Envoyé par yahiko Voir le message
Jusqu'à présent, le maintient de la "popularité" du langage Java devait beaucoup à sa présence sur Android où il n'y avait pas d'alternative sérieuse, ce qui m'avait fait douter sur ma prédiction concernant l'obsolescence de ce langage.

Si Kotlin venait à le supplanter, finalement, le dernier grand bastion de Java viendrait à disparaître et "ma" prédiction n'aurait été retardée que de quelques années.
Comme dit plus haut Android n'a pas le monopole de Java. Mais il est toutefois vrai qu'Android fut un vrai relais de croissance pour Java.

Au pire Java deviendra le nouveau COBOL, avec des tas de projets Java EE à maintenir pour les décennies à venir. Dans 50 ans on parlera encore de Java et de Java EE et des développeurs se feront des couil*es en or en s'occupant de la maintenance de ceux-ci. Exactement comme avec COBOL en ce moment.
2  2 
Avatar de zecreator
Membre émérite https://www.developpez.com
Le 08/05/2019 à 15:45
Après, Java est aussi le premier langage à maîtriser si tu veux bosser dans le dev avec un salaire correct. Java fait vivre très bien un gros % de dev, qui font vivre Java. Le C++ est surtout demandé dans l'entertainement, vu que les moteurs comme Unreal 3D s'imposent comme référence du dev JV.

Java est loin d'être mort, et on va l'utiliser encore longtemps. Comparer son intérêt a Cobol, c'est juste une blague.
1  0 
Avatar de hotcryx
Membre extrêmement actif https://www.developpez.com
Le 08/05/2019 à 15:52
Java le 1er langage pour bosser et gagner sa vie => LOL

Le 1er langage et techno à connaitre à notre époque: html, javascript, css...
5  3 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 08/05/2019 à 17:00
Citation Envoyé par zecreator Voir le message
Après, Java est aussi le premier langage à maîtriser si tu veux bosser dans le dev avec un salaire correct. Java fait vivre très bien un gros % de dev, qui font vivre Java. Le C++ est surtout demandé dans l'entertainement, vu que les moteurs comme Unreal 3D s'imposent comme référence du dev JV.

Java est loin d'être mort, et on va l'utiliser encore longtemps. Comparer son intérêt a Cobol, c'est juste une blague.
Je parlais d'un nouveau COBOL à TRÈS LONG terme. Bien sûr que Java est encore bien plus vivant que COBOL. Heureusement d'ailleurs. Mais il arrivera un jour où le vénérable Java cédera malgré tout sa place. Il ne restera alors à long terme de Java que des gros projets Java EE industriels ou bancaires, comme COBOL maintenant. Et il faudra bien quelqu'un pour s'en occuper.

Oui Java n'a pas fini de faire parler de lui. Dans 10, 20, 30 ou 50 ans on parlera encore de Java. Mais comment est une autre question.
0  0 
Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 08/05/2019 à 18:11
Citation Envoyé par gandalflemaia Voir le message
@yahiko, Android c'est que dalle ! Oui, oui vous avez bien lu.
En utilisation évidemment c'est énorme mais en nombre de développement c'est moindre. Java c'est surtout le langage utilisé dans les systèmes de beaucoup d'entreprises. Qui sont maintenues / améliorer en continue. Kotlin n'a aucune impact là dessus et c'est pas prêt de changer.
Bien sûr qu'il est utilisé en masse encore dans les entreprises (choix de la génération des libristes des années 90 qui ont vu les mises à jour devenir payantes récemment...). Mais je vois bon nombre de projets ou des réflexions de projets pour remplacer Java, pas l'inverse.
En majorité dans les entreprises, désormais, on développe en Java sur de l'existant principalement, pas pour lancer un projet from scratch.

No offence though.
1  4 
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -

Partenaire : Hébergement Web