{"id":479351,"date":"2024-05-31T08:46:44","date_gmt":"2024-05-31T07:46:44","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=479351"},"modified":"2024-05-31T08:46:49","modified_gmt":"2024-05-31T07:46:49","slug":"decouvrez-kotlin-2-0-rapide-intelligent-et-multiplateforme","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/fr\/kotlin\/2024\/05\/decouvrez-kotlin-2-0-rapide-intelligent-et-multiplateforme\/","title":{"rendered":"D\u00e9couvrez Kotlin 2.0 : rapide, intelligent et multiplateforme"},"content":{"rendered":"<p>Nous avons le plaisir d&#8217;annoncer la publication de Kotlin 2.0 avec un compilateur K2 stable et con\u00e7u d\u00e8s le d\u00e9part pour \u00eatre multiplateforme, qui comprend mieux votre code et le compile deux fois plus vite.<\/p>\n<p>Suite \u00e0 son lancement comme nouveau langage JVM, Kotlin a rapidement \u00e9t\u00e9 appr\u00e9ci\u00e9 par de nombreux d\u00e9veloppeurs pour ses qualit\u00e9s de concision et de s\u00e9curit\u00e9. Il a notamment gagn\u00e9 en popularit\u00e9 pour le d\u00e9veloppement c\u00f4t\u00e9 serveur et a \u00e9t\u00e9 adopt\u00e9 par de grandes entreprises comme AWS, Adobe, Atlassian et Google. Kotlin est \u00e9galement devenu le langage de r\u00e9f\u00e9rence pour le d\u00e9veloppement Android, 95 % des 1000 applications Android les plus utilis\u00e9es contenant du code Kotlin.\u00a0<\/p>\n<p>Par la suite, nous avons continu\u00e9 d&#8217;\u00e9tendre les possibilit\u00e9s de Kotlin avec l&#8217;introduction de Kotlin Multiplatform (KMP), qui permet le partage de code entre c\u00f4t\u00e9 serveur, web, desktop, iOS et Android. Cette technologie a \u00e9t\u00e9 adopt\u00e9e par des entreprises reconnues, parmi lesquelles Forbes, Philips, Square et McDonald&#8217;s. Google utilise d\u00e9j\u00e0 KMP pour d\u00e9velopper ses propres applications Workspace et <a href=\"https:\/\/android-developers.googleblog.com\/2024\/05\/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html\" target=\"_blank\" rel=\"noreferrer noopener\">recommande<\/a> officiellement son utilisation pour le partage de la logique m\u00e9tier.\u00a0<\/p>\n<p>Kotlin 2.0 marque une \u00e9tape majeure dans l&#8217;\u00e9volution de Kotlin. Voyons cela de plus pr\u00e8s\u00a0!<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"KotlinConf&#039;24 - Keynote\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Ar73Axsz2YA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<!--more-->\n\n\n<h2 class=\"wp-block-heading\">Multiplateforme d\u00e8s la conception<\/h2>\n<p>Cette nouvelle version du langage introduit le compilateur K2, qui unifie l&#8217;ensemble des plateformes que Kotlin prend en charge, tous les backends de compilateur partageant maintenant beaucoup de logique et un pipeline unifi\u00e9. Cela nous permet d&#8217;impl\u00e9menter la plupart des fonctionnalit\u00e9s, optimisations et correctifs de bugs en une fois pour toutes les plateformes, ce qui acc\u00e9l\u00e8re consid\u00e9rablement le d\u00e9veloppement de nouvelles fonctionnalit\u00e9s du langage. Cette nouvelle architecture permet \u00e9galement d&#8217;am\u00e9liorer les temps de compilation pour les projets multiplateformes.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-475480\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/05\/k2-compiler-architecture.png\" alt=\"Compilateur Kotlin K2\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>Le nouveau compilateur \u00e9tant en place, nous pouvons maintenant apporter bien d&#8217;autres am\u00e9liorations dans d&#8217;autres domaines. Notre \u00e9quipe travaille d\u00e9j\u00e0 activement sur le <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-68323\/Next-gen-format-of-KMP-libraries-distribution\" target=\"_blank\" rel=\"noreferrer noopener\">format de nouvelle g\u00e9n\u00e9ration pour la distribution de biblioth\u00e8ques KMP<\/a>, qui inclura plusieurs fonctionnalit\u00e9s tr\u00e8s attendues par les utilisateurs, concernant notamment <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-66944\/Relax-host-requirements-on-Kotlin-klib-compilation\" target=\"_blank\" rel=\"noreferrer noopener\">le d\u00e9veloppement et la publication de biblioth\u00e8ques KMP \u00e0 partir de n&#8217;importe quel h\u00f4te<\/a> et les <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-52666\/Kotlin-Multiplatform-libraries-without-platform-specific-code-a.k.a.-Pure-Kotlin-libraries-Universal-libraries\" target=\"_blank\" rel=\"noreferrer noopener\">biblioth\u00e8ques Kotlin universelles<\/a>. Cela contribuera \u00e0 rendre le d\u00e9veloppement de biblioth\u00e8ques multiplateformes aussi simple que le d\u00e9veloppement de biblioth\u00e8ques JVM et \u00e0 agrandir l&#8217;\u00e9cosyst\u00e8me KMP.<\/p>\n<p>Kotlin 2.0 apporte \u00e9galement une prise en charge directe des projets Compose Multiplatform. Le compilateur Jetpack Compose de Compose Multiplatform a \u00e9t\u00e9 int\u00e9gr\u00e9 au r\u00e9f\u00e9rentiel Kotlin et sera d\u00e9sormais fourni avec Kotlin.\u00a0\u00a0<\/p>\n<p>Avec ces mises \u00e0 jour, c&#8217;est le moment id\u00e9al pour commencer \u00e0 partager du code avec Kotlin Multiplatform.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"D\u00c9MARRER AVEC KOTLIN MULTIPLATFORM\" href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/get-started.html\" target=\"_blank\" rel=\"noopener\">D\u00c9MARRER AVEC KOTLIN MULTIPLATFORM<\/a><\/p>\n<h2 class=\"wp-block-heading\">Vitesse de compilation accrue<\/h2>\n<p>Gr\u00e2ce au nouveau frontend du compilateur, Kotlin 2.0 augmente la vitesse de compilation, qui peut maintenant \u00eatre jusqu&#8217;\u00e0 deux fois plus rapide. La vitesse de compilation peut varier selon les projets, mais globalement, nous avons constat\u00e9 une acc\u00e9l\u00e9ration significative des temps de compilation des projets par rapport aux versions pr\u00e9c\u00e9dentes de Kotlin. Nous vous invitons \u00e0 <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2024\/04\/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects\/\" target=\"_blank\" rel=\"noreferrer noopener\">consulter cet article<\/a> pour en apprendre plus sur les am\u00e9liorations de performances de Kotlin 2.0.<\/p>\n<h2 class=\"wp-block-heading\">Nouveau mode K2<\/h2>\n<p>Les am\u00e9liorations apport\u00e9es par cette version ne se limitent pas \u00e0 la vitesse de compilation. Le mode K2 d&#8217;IntelliJ IDEA, actuellement en phase Alpha, donne des r\u00e9sultats prometteurs. Nous avons constat\u00e9 une mise en \u00e9vidence du code environ 1,8 fois plus rapide et une saisie semi-automatique 1,5 fois plus rapide sur la base de code IntelliJ IDEA Ultimate, et nous pensons pouvoir faire encore mieux. Le mode K2 devrait \u00eatre plus stable et offrir une saisie semi-automatique et une mise en \u00e9vidence encore plus rapides \u00e0 l&#8217;avenir.\u00a0<br \/>Le mode K2 passer en phase B\u00eata avec la publication de la version 2024.2 d&#8217;IntelliJ IDEA. Il reste quelques fonctionnalit\u00e9s importantes d&#8217;IntelliJ IDEA \u00e0 mettre en place, et d&#8217;ici fin 2024, nous pr\u00e9voyons d&#8217;activer le mode K2 par d\u00e9faut. <a href=\"https:\/\/blog.jetbrains.com\/idea\/2024\/03\/k2-kotlin-mode-alpha-in-intellij-idea\/\" target=\"_blank\" rel=\"noreferrer noopener\">Essayez-le\u00a0!<\/a><\/p>\n<h2 class=\"wp-block-heading\">Analyse du code plus intelligente et plus<\/h2>\n<p>Le nouveau compilateur se comporte de fa\u00e7on plus coh\u00e9rente et comprend mieux votre code, augmentant ainsi l&#8217;intelligence de la conversion de type. Il a \u00e9galement permis de r\u00e9soudre de nombreux probl\u00e8mes connus de longue date, ce qui favorise la production d&#8217;un code plus s\u00fbr et moins sujet aux erreurs. En savoir plus sur les nouvelles fonctionnalit\u00e9s introduites dans Kotlin 2.0 :<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Nouveaut\u00e9s de Kotlin 2.0\" href=\"https:\/\/kotlinlang.org\/docs\/whatsnew-eap.html\" target=\"_blank\" rel=\"noopener\">Nouveaut\u00e9s de Kotlin 2.0<\/a><\/p>\n<h2 class=\"wp-block-heading\">Migrez en toute confiance<\/h2>\n<p>Nous avons men\u00e9 des tests rigoureux sur 40 projets de JetBrains et de la communaut\u00e9, couvrant 10 millions de lignes de code, afin de nous assurer que la migration vers Kotlin 2.0 puisse s&#8217;effectuer dans les meilleures conditions. Plus de 18 000 d\u00e9veloppeurs et de nombreuses entreprises ont essay\u00e9 le compilateur K2 dans 80 000 projets c\u00f4t\u00e9 serveur, Android et multiplateformes, ce qui nous a permis de collecter de pr\u00e9cieux retours d&#8217;exp\u00e9rience. Kotlin 2.0 est donc notre version la plus aboutie \u00e0 ce jour et offre une migration s\u00fbre et fiable.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Lire le guide de migration\" href=\"https:\/\/kotlinlang.org\/docs\/k2-compiler-migration-guide.html\" target=\"_blank\" rel=\"noopener\">Lire le guide de migration<\/a><\/p>\n<h2 class=\"wp-block-heading\">L&#8217;avenir de Kotlin<\/h2>\n<p>Kotlin 2.0 ouvre de nombreuses possibilit\u00e9s pour l&#8217;avenir du langage. Gr\u00e2ce au nouveau compilateur multiplateforme robuste et rapide, nous pouvons maintenant nous consacrer \u00e0 plusieurs points essentiels pour le d\u00e9veloppement du langage :<\/p>\n<ul>\n<li>Reconnaissance des donn\u00e9es et d\u00e9construction avec des am\u00e9liorations de notre framework de flux de donn\u00e9es et de nos classes de donn\u00e9es.<\/li>\n<li>Renforcement de l&#8217;abstraction avec des fonctionnalit\u00e9s telles que les param\u00e8tres contextuels et des champs de sauvegarde.<\/li>\n<li>Code clair et hautement performant avec classes de valeur et immuabilit\u00e9.<\/li>\n<li>Exp\u00e9rience de cr\u00e9ation de biblioth\u00e8que, avec des am\u00e9liorations pour les m\u00e9canismes d&#8217;opt-in et la gestion des signatures.<\/li>\n<\/ul>\n<p>Apprenez-en plus sur les grandes orientations de d\u00e9veloppement du langage en regardant cette intervention de Mikhail Zarechenskiy, Responsable de la Conception de Kotlin :<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin Language Features in 2.0 and Beyond - Michail Zare\u010denskij\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/tAGJ5zJXJ7w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\"><em>Kotlin Language Features in 2.0 and Beyond &#8211; Michail Zare\u010denskij<\/em><\/figcaption><\/figure>\n\n\n<p>Kotlin 2.0 booste votre productivit\u00e9 au quotidien de fa\u00e7on significative. Il introduit non seulement un compilateur plus rapide, plus intelligent et plus robuste, mais fournit \u00e9galement une meilleure prise en charge des projets Kotlin Multiplatform. Au-del\u00e0 d&#8217;\u00eatre un langage moderne, concis et s\u00fbr, Kotlin donne acc\u00e8s \u00e0 un \u00e9cosyst\u00e8me polyvalent, avec des frameworks puissants comme <a href=\"https:\/\/ktor.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ktor<\/a> et <a href=\"https:\/\/www.jetbrains.com\/lp\/compose-multiplatform\/\" target=\"_blank\" rel=\"noreferrer noopener\">Compose Multiplatform<\/a>. Associ\u00e9 aux IDE JetBrains IDE, Kotlin 2.0 offre une exp\u00e9rience de d\u00e9veloppement exceptionnelle, permettant de cr\u00e9er des applications innovantes, performantes et fiables pour toutes les plateformes. Nous avons h\u00e2te de voir ce que vous allez cr\u00e9er gr\u00e2ce \u00e0 cette nouvelle version du langage. Amusez-vous !<\/p>\n<h2 class=\"wp-block-heading\">Autres lectures<\/h2>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew20.html\" target=\"_blank\" rel=\"noopener\">Nouveaut\u00e9s de Kotlin 2.0.0<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/k2-compiler-migration-guide.html\" target=\"_blank\" rel=\"noreferrer noopener\">Guide de migration du compilateur K2<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/10\/the-road-to-the-k2-compiler\/\" target=\"_blank\" rel=\"noreferrer noopener\">La route vers le compilateur K2<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2024\/04\/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects\/\" target=\"_blank\" rel=\"noreferrer noopener\">K2 Compiler Performance Benchmarks and How to Measure Them on Your Projects<\/a><\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2024\/05\/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html\" target=\"_blank\" rel=\"noopener\">Android Support for Kotlin Multiplatform to Share Business Logic Across Mobile, Web, Server, and Desktop Platforms<\/a><\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2024\/04\/jetpack-compose-compiler-moving-to-kotlin-repository.html\" target=\"_blank\" rel=\"noopener\">Jetpack Compose compiler moving to the Kotlin repository<\/a><\/li>\n<\/ul>\n\n\n<p><em>Auteur de l&#8217;article original en anglais<\/em> :<\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":813,"featured_media":476183,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[8476,8497,6698],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/479351"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=479351"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/479351\/revisions"}],"predecessor-version":[{"id":479383,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/kotlin\/479351\/revisions\/479383"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/476183"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=479351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=479351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=479351"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=479351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}