FAQ Kotlin : retrouvez les meilleures réponses à vos questions pour apprendre Kotlin, de niveau débutant à expertConsultez toutes les FAQ
Nombre d'auteurs : 2, nombre de questions : 22, dernière mise à jour : 18 juin 2019
- Qu'est ce que Kotlin ?
- Quelle est la version actuelle de Kotlin ?
- Kotlin est-il gratuit ?
- Kotlin est-il un langage orienté objet ou un langage fonctionnel ?
- Quels sont les avantages à programmer en Kotlin, plutôt que Java ?
- Kotlin est-il compatible avec le langage de programmation Java ?
- À quoi peut servir Kotlin ?
- Kotlin peut-il servir pour la programmation d'applications Android ?
- Kotlin peut-il servir pour la programmation côté serveur ?
- Kotlin peut-il servir pour la programmation Web ?
- Kotlin peut-il servir pour la programmation d'applications de clients riches (Desktop Applications) ?
- Kotlin peut-il servir pour la programmation en code natif ?
- Quels EDI supportent Kotlin ?
- Quels outils de compilation supportent Kotlin ?
- À quoi sert la compilation de Kotlin ?
- Est-ce que Kotlin ne cible que Java 6 ?
- Kotlin est-il difficile ?
- Quelles grandes entreprises ont adopté Kotlin ?
Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage statique, qui cible la machine virtuelle Java (JVM), Android, JavaScript et le code natif. Il est dévéloppé par JetBrains, par une équipe de programmeurs basée à Saint-Pétersbourg en Russie. Le nom a été inspiré du nom de l'île de Kotline, située près de Saint-Pétersbourg.
Le projet a démarré en 2010 et était open source dès le début. La première version officielle 1.0 a été publiée en février 2016.
Kotlin est principalement développé par une équipe d'ingénieurs de JetBrains (l'équipe actuelle compte plus de 50 personnes). Le principal concepteur linguistique est Andrey Breslav. En plus de l'équipe de base, il y a aussi plus de 250 contributeurs externes sur GitHub.
La version actuelle de Kotlin est la version 1.3.31, publié le 25 Avril 2019.
Lien : Annonce version 1.3.30
Kotlin était gratuit dès le début, est encore gratuit, et restera gratuit. Il a été développé sous la licence Apache 2.0. Le code source est disponible sur GitHub.
Kotlin est à la fois un langage orienté objet et un langage fonctionnel. Vous pouvez programmer en orienté objet ou en procédural / fonctionnel. Il est aussi possible de construire une application avec un mixte de ces deux styles de programmation. Avec un support de première classe pour des fonctions telles que les fonctions d'ordre supérieur, les types de fonctions et les lambdas, Kotlin est un excellent choix si vous faites ou explorez la programmation fonctionnelle.
Kotlin se présente comme un langage plus concis. Les estimations approximatives indiquent une réduction d'environ 40 % du nombre de lignes de code. C'est aussi plus sûr pour les types, par exemple, la prise en charge des types non-nullables rend les applications moins sujettes aux NPE (Null Pointer Exception). D'autres caractéristiques telles que le moulage intelligent, les fonctions d'ordre supérieur, les fonctions d'extension et les lambdas avec récepteurs permettent d'écrire du code expressif tout en facilitant la création de DSL.
Kotlin est 100% interopérable avec le langage de programmation Java et l'accent a été mis sur le fait que votre base de code existante peut interagir correctement avec Kotlin. Vous pouvez facilement appeler le code Kotlin depuis Java et le code Java depuis Kotlin. Cela rend l'adoption beaucoup plus facile et moins risquée. Il y a aussi un convertisseur automatisé Java vers Kotlin intégré à l'EDI qui simplifie la migration du code existant.
Kotlin peut être utilisé pour tout type de développement, que ce soit côté serveur, côté client web ou Android. Avec Kotlin/Native actuellement en cours de développement, la prise en charge d'autres plates-formes telles que les systèmes embarqués, macOS et iOS est à venir. Les développeurs utilisent Kotlin pour des applications mobiles et côté serveur, côté client avec JavaScript ou JavaFX, et la science des données, pour ne nommer que quelques possibilités.
Kotlin est supporté comme une langue de première classe sur Android. Il y a déjà des centaines d'applications utilisant Kotlin pour Android, telles que Basecamp, Pinterest et plus encore. D'ailleurs, Google annonce pendant la conférence Google I/O 2017 que Kotlin devient le second langage de programmation officiellement pris en charge par Android après Java.
Kotlin est 100% compatible avec la JVM et vous pouvez donc utiliser n'importe quel framework existant tel que Spring Boot, vert.x ou JSF. En outre, il existe des frameworks spécifiques écrits à Kotlin tels que Ktor.
Kotlin peut, non seulement, être utilisé pour la programmation en backend web, mais vous pouvez également utiliser le couple Kotlin/JavaScript pour le web côté client. Kotlin peut utiliser les définitions de DefinitelyTyped pour obtenir une saisie statique pour les bibliothèques JavaScript courantes, et il est compatible avec les systèmes de modules existants tels que AMD et CommonJS.
Vous pouvez utiliser n'importe quel framework d'interface utilisateur Java tel que JavaFx, Swing ou autre. De plus, il existe des frameworks spécifiques à Kotlin tels que TornadoFX.
Kotlin/Native est en cours d'élaboration. Il compile Kotlin en code natif qui peut fonctionner sans VM. Il y a un aperçu technologique, mais il n'est pas encore prêt pour la production et ne cible pas encore toutes les plateformes prévues pour supporter pour la version 1.0.
Kotlin est supporté par tous les principaux EDI Java, y compris IntelliJ IDEA, Android Studio, Eclipse et NetBeans. De plus, un compilateur en ligne de commande est disponible et fournit un support simple pour compiler et exécuter des applications.
Du côté de la JVM, les principaux outils de construction sont Gradle, Maven, Ant et Kobalt. Il existe également des outils de compilation qui ciblent JavaScript côté client.
En ciblant la JVM, Kotlin produit un bytecode compatible Java. En ciblant JavaScript, Kotlin transpose en ES5.1 et génère un code compatible avec les systèmes de modules tels que AMD et CommonJS. Lors du ciblage natif, Kotlin produira du code spécifique à la plate-forme (via LLVM).
Kotlin vous permet de choisir entre générer un bytecode compatible Java 6 et Java 8. Un code octet plus optimal peut être généré pour les versions supérieures de la plate-forme. Il n'est pas donc pas limité à Java 6.
Kotlin s'inspire des langages existants tels que Java, C#, JavaScript, Scala et Groovy. Nous avons essayé de faire en sorte que Kotlin soit facile à apprendre, afin que les gens puissent facilement monter à bord, lire et écrire Kotlin en quelques jours. Apprendre l'idiomatique Kotlin et utiliser certaines de ses fonctions avancées peut prendre un peu plus de temps, mais dans l'ensemble ce n'est pas un langage compliqué.
Kotlin a été adopté par de nombreuses grandes entreprises pour être répertoriées, mais certaines entreprises plus visibles qui ont déclaré publiquement leur utilisation de Kotlin, que ce soit via des blogs, des dépôts GitHub ou des discussions incluent Square, Pinterest, Basecamp ou Corda.