10 raisons de choisir Kotlin pour développer vos applications

Kotlin est un langage de programmation développé par JetBrains, la même société qui a construit des IDE de classe mondiale tels que IntelliJ IDEA, PhpStorm, PyCharm, ReSharper, etc.

Il fonctionne sur la machine virtuelle Java (JVM) et peut également être compilé en JavaScript et en code machine.

Dans ce tutoriel, je vais vous donner un bref aperçu de Kotlin et de ses fonctionnalités.

Pourquoi Kotlin ?

Dans le monde d’aujourd’hui, où nous avons une douzaine de langages de programmation pour chaque tâche possible, voici quelques raisons de choisir Kotlin comme langue principal pour développer votre prochaine application.

1. Typage statique

Kotlin est un langage de programmation à typage statique. Cela signifie que le type de chaque variable et expression est connu au moment de la compilation.

L’avantage du typage statique est que le compilateur peut valider les appels de méthodes et l’accès aux propriétés sur les objets lors de la compilation, et éviter ainsi de nombreux bugs anodins qui risqueraient autrement de se produire au moment de l’exécution.

Bien que Kotlin soit un langage à typage statique, il n’est pas nécessaire de spécifier explicitement le type de chaque variable que vous déclarez. La plupart du temps, Kotlin peut déduire le type d’une variable à partir de l’expression d’initialisation ou du contexte environnant. Ceci est appelé inférence de type. Nous reviendrons plus tard sur cette notion.

2. Concis

Kotlin est concis. Cela réduit considérablement la quantité de code passe-partout que vous avez écrit tout le temps dans d’autres langages orientés objets comme Java.

Il fournit des expressions riches pour l’exécution de tâches courantes. Par exemple, vous pouvez créer une classe POJO avec les méthodes Getters, Setters, Equals(), hashCode() et toString()

data class User(val name: String, val email: String, val country: String)

3. Sécurisé

Kotlin est sécurisé. Il évite les exceptions NullPointerExceptions les plus redoutées et gênantes en prenant en charge la nullabilité dans le cadre de son système de types.

Cela fonctionne comme ceci – Chaque variable de Kotlin est non nulle par défaut:

String str = "Hello, World" // Type non nul (ne peut contenir une valeur nulle)
str = null // Erreur du compilateur

Pour permettre à une variable de contenir une valeur null, vous devez explicitement la déclarer comme nullable :

String nullableStr? = null // Nullable type (peut être nul)

Puisque Kotlin connait quelles variables ont la valeur nullable et lesquelles ne le sont pas, elle peut détecter et interdire les appels non sécurisés au moment de la compilation, ce qui entraînerait sinon une exception NullPointerException au moment de l’exécution.

println(nullableStr.length())   // erreur du compilateur

Kotlin n’autorise pas la méthode call length() sur la variable nullableStr car l’appel n’est pas sécurisé et peut conduire à NullPointerException.

Cependant, si vous ajoutez une vérification NULL, l’appel de la méthode est autorisé.

if(nullablStr != null) {
    println(nullableStr.length())
}

Remarquez comment Kotlin oblige les développeurs à écrire du code sécurisé en distinguant les types nullables et non nuls.

4. Explicite

Kotlin est explicite. Il fera ou permettra des choses seulement si vous lui dites de le faire. L’explicite est considéré comme une bonne chose. Être explicite signifie être précis sur vos choix de conception et ne rien cacher aux lecteurs ou aux consommateurs de votre code.

Voici quelques exemples d’explicités à Kotlin :

  • Kotlin n’autorise pas les conversions de types implicites, par exemple, int en long ou float pour double. Il fournit des méthodes comme toLong() et toDouble() pour le faire explicitement.
  • Toutes les classes de Kotlin sont finales (non héritables) par défaut. Vous devez explicitement marquer une classe comme étant ouverte pour permettre à d’autres classes d’en hériter. De même, toutes les propriétés et fonctions membres d’une classe sont finales par défaut. Vous devez explicitement marquer une fonction ou une propriété comme étant ouverte pour permettre aux classes enfant de la remplacer.
  • Si vous substituez une fonction ou une propriété de classe parent, vous devez l’annoter explicitement à l’aide du modificateur override.

5. Facile à apprendre

Kotlin a une courbe d’apprentissage très faible. La syntaxe de base ressemble beaucoup à Java. Si vous avez une petite expérience de Java ou de tout autre langage orienté objets, vous pourrez vous familiariser avec Kotlin en quelques heures.

6. Capacités fonctionnelles et orientées objet

Kotlin possède à la fois des fonctionnalités fonctionnelles et orientées objet. Il dispose d’un riche ensemble de fonctionnalités permettant de prendre en charge la programmation fonctionnelle, notamment les types fonctionnels, les expressions lambda, les classes de données, etc.

7. Entièrement interopérable avec Java

Kotlin est 100% interopérable avec Java. Vous pouvez facilement accéder au code Java à partir de Kotlin et inversement. Vous pouvez utiliser Kotlin et Java dans le même projet sans aucun problème. Cela facilite l’adoption de Kotlin dans vos projets Java existants.

8. Excellent outillage

Kotlin dispose d’un excellent support d’outillage. Vous pouvez choisir n’importe quel IDE Java : IntelliJ IDEA, Eclipse, Android Studio.

De plus, vous pouvez également télécharger le compilateur autonome de Kotlin et exécuter le code Kotlin à partir de la ligne de commande.

9. Construire des applications pour Serveur, Android, Navigateur et Desktop

Vous pouvez utiliser Koltin pour créer des applications pour une large gamme de plates-formes, notamment Serveur, Android, navigateurs et Desktop.

  • Android dispose d’un support officiel pour Kotlin.
  • Du côté du serveur, vous pouvez utiliser Kotlin avec le framework Spring, qui offre un support complet pour Kotlin dans Spring version 5.
  • Kotlin peut également être compilé en JavaScript et en code machine.

10. Gratuit et Open Source

Le langage de programmation Kotlin, y compris le compilateur, les bibliothèques et tous les outils, sont entièrement gratuits et open source. Il est disponible sous licence Apache 2 et le projet complet est hébergé sur Github.

 

 

 

 

 

Share

Claude BUENO

Passionné par la Transformation digitale et l'Évolution des Systèmes d’Information. Intérêt pour le Management, le Marketing et l'Entrepreneuriat. Je blogue depuis 2008 sur les sujets numériques. Je suis fan de Star Wars, Vikings et Game of Thrones. J'habite à Tours.

You may also like...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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