Le 17 mai dernier avait lieu la Google I/O 2017. Lors de cette dernière, Google a officialisé le support de Kotlin, donnant à ce langage l’opportunité de se faire connaître auprès d’un plus large public de développeurs.

 

Qu’est-ce que Kotlin ?

Kotlin est un langage développé par JetBrains (à qui l’on doit entre autres les éditeurs IntelliJ ou CLion). Il est destiné à être multiplateforme. Compilez en version web avec Kotlin JS ou créez prochainement un exécutable avec Kotlin Native. Celui-ci permettra de compiler en dehors de la JVM (la machine virtuelle de Java), en intégrant LLVM. Bien qu’encore en développement, il devrait permettre une portabilité Mac et iOS.

Vous l’aurez compris, le but de JetBrains est de créer un langage universel, avec lequel on pourra développer sur de nombreuses plateformes.
Ce nouveau langage (6 ans d’existence) se veut concis, expressif, et facile à lire et écrire. On estime à 40% le nombre de lignes de code en moins nécessaires à l’élaboration de la même fonctionnalité.

 

Qu’est-ce que le soutien de Google apporte à Kotlin ?

Tout simplement davantage de visibilité et de crédibilité. Google et Kotlin travaillent dorénavant main dans la main pour ce qui est de l’intégration et la portabilité continue sur Android. Concernant l’équipe de développement, rien n’est amené à changer selon ses créateurs. Andrey Breslav restera le Lead Langage Developer et le langage sera toujours sponsorisé par JetBrains.

En quoi Kotlin est un avantage pour les développeurs ?

Outre l’aspect du code, il puise une force considérable dans la facilité de sa mise en place. Si on code une application Android, il n’est en effet pas nécessaire de coder celle-ci entièrement en Kotlin. On peut tout à fait le mêler à une application basée en Java.
Autre point non négligeable, Android Studio 3.0 intègre un transpileur Java-Kotlin.
Il suffit simplement de coller du code Java dans un fichier Kotlin. L’éditeur vous demandera alors si vous souhaitez transpiler ce code source en Java. Testé et approuvé !

 

Quel impact sur les autres langages supportés ?

kotlin - mag le web francaisAndroid permet toujours aux développeurs de coder en C et en C++, aucune nouveauté à prévoir de ce côté là.
Java, le langage “de base” commence quant à lui à perdre du terrain. Sa version 8 n’étant que tout juste supportée sur les dernières versions de Gradle (alors que cette version date de 2014), de plus en plus de développeurs se tournent vers les langages hybrides. On peut noter React Native qui lui, prend de plus en plus d’avance sur ses homologues.

 

Pourquoi Kotlin plutôt que du développement hybride ?

Cette question se rapporte de plus en plus aux axes d’approche du client et de ses moyens plus qu’aux possibilités de développement des langages hybrides.
Certes, l’environnement et le package sortant sont toujours plus lourds sur une application hybride que sur une application native. On peut toujours distinguer une application native d’une application hybride en terme d’ergonomie et d’interface, bien que cela soit de moins en moins flagrant au fil du temps. Il est cependant plus simple aujourd’hui de trouver des développeurs “natifs” que des développeurs “hybrides”. C’est sans compter le nombre grandissant de solutions proposant du développement hybride (Ionic, Xamarin, Weex, Titanium, React native, …).

Toutes ces solutions ne vous proposeront pas le même langage de développement, et pas le même nombre de fonctionnalités. Pour le moment essentiellement en C# ou en JavaScript, c’est à vous de faire votre choix.

Kotlin Native ne permettra pas un développement hybride. Le cycle de vie d’une application Android sera toujours différent de celui d’une application iOS, et il sera donc nécessaire de produire deux projets distincts. Cependant, cela permettra au cœur du projet (les fonctionnalités non graphiques donc) d’être porté sur plusieurs plateformes sans avoir à changer quoi que ce soit. Nous aurons de ce fait une plus grande maintenabilité du projet pour un temps de développement moins conséquent.

Reste maintenant à voir si JetBrains réussira à prendre les devants et à imposer son langage comme étant une alternative intelligente à Java. Et peut être même à d’autres langages.

 

Sources: FrAndroidAndroid Developers – JetBrains

Jean Barriere

Jean Barriere

Développeur Web et Mobile pour Le Web Français

One Comment

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

le web francais mag agence web

#COCORICO !

Restez informé !

Nous vous envoyons une newsletter mensuelle pour vous partager les meilleurs articles du Mag !

#COCORICO ! Vous êtes inscrit à la newsletter du Web Français