{"id":480225,"date":"2024-06-04T22:14:10","date_gmt":"2024-06-04T21:14:10","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=480225"},"modified":"2024-06-04T22:19:12","modified_gmt":"2024-06-04T21:19:12","slug":"celebrando-o-kotlin-2-0-rapido-inteligente-e-multiplataformas","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/pt-br\/kotlin\/2024\/06\/celebrando-o-kotlin-2-0-rapido-inteligente-e-multiplataformas\/","title":{"rendered":"Celebrando o Kotlin 2.0: r\u00e1pido, inteligente e multiplataformas"},"content":{"rendered":"<p>Hoje estamos empolgados com o lan\u00e7amento do Kotlin 2.0, com um compilador K2 est\u00e1vel, que foi projetado do zero para ser totalmente multiplataformas, compreende melhor o seu c\u00f3digo e o compila duas vezes mais rapidamente.<\/p>\n<p>O Kotlin come\u00e7ou como uma linguagem JVM e rapidamente se tornou popular entre os desenvolvedores, gra\u00e7as \u00e0 sua concis\u00e3o e seguran\u00e7a. Tamb\u00e9m ganhou for\u00e7a rapidamente no lado do servidor, sendo adotado por grandes empresas como AWS, Adobe, Atlassian e Google. O Kotlin tamb\u00e9m se tornou a linguagem prim\u00e1ria no desenvolvimento para Android: 95% dos aplicativos mais importantes para Android cont\u00eam c\u00f3digo em Kotlin.\u00a0<\/p>\n<p>Expandimos os limites do Kotlin ainda mais, introduzindo o Kotlin Multiplatform (KMP) e permitindo que voc\u00ea compartilhe c\u00f3digo entre o lado do servidor, a Web, o desktop, o iOS e o Android. A popularidade do Kotlin Multiplatform come\u00e7ou a crescer imensamente e essa tecnologia vem tendo uma ado\u00e7\u00e3o significativa em empresas importantes, como a Forbes, a Philips, a Square e o McDonald&#8217;s. Al\u00e9m disso, o Google j\u00e1 usa o KMP para desenvolver seus pr\u00f3prios aplicativos do Workspace e agora <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\">recomenda<\/a> oficialmente o uso do KMP para compartilhar a l\u00f3gica de neg\u00f3cios.\u00a0<\/p>\n<p>A vers\u00e3o 2.0 \u00e9 a pr\u00f3xima etapa da evolu\u00e7\u00e3o do Kotlin. Vejamos cada uma delas mais a fundo!<\/p>\n<p><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><\/p>\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\"><\/figure>\n<p><!--more--><\/p>\n<h2 class=\"wp-block-heading\">Projetado desde o in\u00edcio para ser multiplataformas<\/h2>\n<p>Esta vers\u00e3o introduz o compilador K2, unificando todas as plataformas com suporte no Kotlin. Agora todos os back-ends do compilador compartilham um pipeline unificado e muito da l\u00f3gica. Isso nos permite implementar a maioria dos recursos, otimiza\u00e7\u00f5es e corre\u00e7\u00f5es de bugs de uma s\u00f3 vez para todas as plataformas, aumentando drasticamente a velocidade de desenvolvimento de novos recursos da linguagem. Essa nova arquitetura tamb\u00e9m permite mais melhorias no tempo de compila\u00e7\u00e3o de projetos multiplataformas.<\/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=\"Compilador K2 para o Kotlin\" width=\"1920\" height=\"1080\" \/><\/figure>\n<p>Ap\u00f3s implantarmos esse novo compilador, podemos fazer melhorias com alcance al\u00e9m da compila\u00e7\u00e3o. Nossa equipe j\u00e1 est\u00e1 trabalhando ativamente na <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-68323\/Next-gen-format-of-KMP-libraries-distribution\" target=\"_blank\" rel=\"noreferrer noopener\">pr\u00f3xima gera\u00e7\u00e3o do formato de distribui\u00e7\u00e3o de bibliotecas do KMP<\/a>, que incluir\u00e1 alguns recursos muito aguardados, tais como <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\">bibliotecas universais do Kotlin<\/a> e <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-66944\/Relax-host-requirements-on-Kotlin-klib-compilation\" target=\"_blank\" rel=\"noreferrer noopener\">a possibilidade de desenvolver e publicar bibliotecas do KMP a partir de qualquer host<\/a>. Isso ajudar\u00e1 a expandir ainda mais o ecossistema do KMP, ao tornar o desenvolvimento de bibliotecas multiplataformas t\u00e3o simples e direto quanto o desenvolvimento de bibliotecas para a JVM.<\/p>\n<p>O Kotlin 2.0 tamb\u00e9m fornece suporte pr\u00f3prio a projetos do Compose Multiplatform. O compilador Jetpack Compose, que equipa o Compose Multiplatform, foi inclu\u00eddo no reposit\u00f3rio do Kotlin e agora vir\u00e1 junto com este.\u00a0\u00a0<\/p>\n<p>Essas atualiza\u00e7\u00f5es significam que este \u00e9 o momento perfeito para come\u00e7ar a compartilhar c\u00f3digo com o Kotlin Multiplatform.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"COMECE A USAR O KOTLIN MULTIPLATFORM\" href=\"https:\/\/www.jetbrains.com\/help\/kotlin-multiplatform-dev\/get-started.html\" target=\"_blank\" rel=\"noopener\">COMECE A USAR O KOTLIN MULTIPLATFORM<\/a><\/p>\n<h2 class=\"wp-block-heading\">Compila\u00e7\u00e3o mais r\u00e1pida<\/h2>\n<p>Gra\u00e7as ao front-end do novo compilador, o Kotlin 2.0 aumenta a velocidade de compila\u00e7\u00e3o, potencialmente at\u00e9 dobrando-a. Embora alguns projetos possam ser compilados ainda mais rapidamente, enquanto em outros a compila\u00e7\u00e3o possa demorar um pouco mais, no geral estamos observando uma redu\u00e7\u00e3o significativa nos tempos de compila\u00e7\u00e3o de projetos do mundo real, em compara\u00e7\u00e3o com as vers\u00f5es anteriores do Kotlin. <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\">Saiba mais<\/a> sobre as melhorias de desempenho no Kotlin 2.0.<\/p>\n<h2 class=\"wp-block-heading\">Novo modo K2<\/h2>\n<p>As melhorias n\u00e3o param na velocidade de compila\u00e7\u00e3o. O modo K2 no IntelliJ IDEA, atualmente em alfa, est\u00e1 mostrando resultados promissores. Estamos observando realces de c\u00f3digo cerca de 1,8 vezes mais r\u00e1pidos e um aumento na velocidade de complementa\u00e7\u00e3o em 1,5 vez na base de c\u00f3digo do IntelliJ IDEA Ultimate, e temos o compromisso de melhorar ainda mais esses n\u00fameros. Esperamos que o modo K2 esteja mais est\u00e1vel e ofere\u00e7a complementa\u00e7\u00e3o e realce mais r\u00e1pidos no futuro.\u00a0<br \/>O modo K2 entrar\u00e1 no est\u00e1gio de beta na vers\u00e3o 2024.2 do IntelliJ IDEA. Ainda temos alguns recursos importantes para entregar no IntelliJ IDEA e planejamos que o modo K2 fique habilitado como padr\u00e3o at\u00e9 o final de 2024. <a href=\"https:\/\/blog.jetbrains.com\/idea\/2024\/03\/k2-kotlin-mode-alpha-in-intellij-idea\/\" target=\"_blank\" rel=\"noreferrer noopener\">Experimente-o!<\/a><\/p>\n<h2 class=\"wp-block-heading\">An\u00e1lise mais inteligente do c\u00f3digo e outras novidades<\/h2>\n<p>O novo compilador tem um comportamento mais consistente e compreende melhor o seu c\u00f3digo, tornando as convers\u00f5es ainda mais inteligentes. Ele tamb\u00e9m resolveu muitos problemas que estavam pendentes h\u00e1 muito tempo, tornando o seu c\u00f3digo mais robusto. Conhe\u00e7a todos os novos recursos introduzidos no Kotlin 2.0:<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Novidades no Kotlin 2.0\" href=\"https:\/\/kotlinlang.org\/docs\/whatsnew-eap.html\" target=\"_blank\" rel=\"noopener\">Novidades no Kotlin 2.0<\/a><\/p>\n<h2 class=\"wp-block-heading\">Fa\u00e7a a sua migra\u00e7\u00e3o com confian\u00e7a<\/h2>\n<p>Garantimos uma migra\u00e7\u00e3o suave para o Kotlin 2.0, testando-o rigorosamente com 40 projetos da JetBrains e da comunidade, abrangendo 10 milh\u00f5es de linhas de c\u00f3digo. Mais de 18.000 desenvolvedores e muitas empresas testaram o compilador K2 em 80.000 projetos do lado do servidor, de Android e multiplataformas, fornecendo-nos um feedback valioso. Gra\u00e7as a esse esfor\u00e7o, o Kotlin 2.0 \u00e9 o nosso lan\u00e7amento com a mais alta qualidade at\u00e9 agora, tornando a sua migra\u00e7\u00e3o segura e confi\u00e1vel.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Ler o guia de migra\u00e7\u00e3o\" href=\"https:\/\/kotlinlang.org\/docs\/k2-compiler-migration-guide.html\" target=\"_blank\" rel=\"noopener\">Ler o guia de migra\u00e7\u00e3o<\/a><\/p>\n<h2 class=\"wp-block-heading\">O futuro do Kotlin<\/h2>\n<p>O Kotlin 2.0 abre o caminho para o futuro da linguagem. Com o novo compilador, robusto, r\u00e1pido e multiplataformas, agora podemos nos concentrar nestas \u00e1reas principais do desenvolvimento da linguagem:<\/p>\n<ul>\n<li>Reconhecimento e desconstru\u00e7\u00e3o de dados, com melhorias no nosso poderoso framework de fluxo de dados e em classes de dados.<\/li>\n<li>Aumento da abstra\u00e7\u00e3o, com recursos como par\u00e2metros de contexto e backing fields expl\u00edcitos.<\/li>\n<li>C\u00f3digo claro e de alto desempenho, com classes de valores e imutabilidade.<\/li>\n<li>Experi\u00eancia de autoria de bibliotecas, com melhorias na mec\u00e2nica de opt-in e no gerenciamento de assinaturas.<\/li>\n<\/ul>\n<p>Saiba mais sobre esses rumos do desenvolvimento da linguagem em primeira m\u00e3o com o Projetista-Chefe de Linguagem do Kotlin, Mikhail Zarechenskiy:<\/p>\n<p><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><\/p>\n<p><\/p>\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\">\n<figcaption class=\"wp-element-caption\"><em>Recursos da linguagem Kotlin na vers\u00e3o 2.0 e al\u00e9m \u2014 Michail Zare\u010denskij<\/em><\/figcaption>\n<\/figure>\n<p>O Kotlin 2.0 aumenta significativamente a sua produtividade di\u00e1ria. Ele traz um compilador mais r\u00e1pido, mais inteligente e mais robusto, al\u00e9m de um suporte ainda melhor a projetos do Kotlin Multiplatform. Como desenvolvedor em Kotlin, voc\u00ea ganha mais do que apenas uma linguagem moderna, concisa e segura. Voc\u00ea tamb\u00e9m tem acesso a um ecossistema vers\u00e1til, com frameworks poderosos como o <a href=\"https:\/\/ktor.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ktor<\/a> and <a href=\"https:\/\/www.jetbrains.com\/lp\/compose-multiplatform\/\" target=\"_blank\" rel=\"noreferrer noopener\">Compose Multiplatform<\/a>. Combinado com os IDEs da JetBrains, o Kotlin 2.0 oferece uma experi\u00eancia excepcional de desenvolvimento, dando a voc\u00ea condi\u00e7\u00f5es de criar aplicativos inovadores, eficientes e confi\u00e1veis para todas as plataformas. Estamos ansiosos para ver o que voc\u00ea criar\u00e1 agora. Divirta-se!<\/p>\n<h2 class=\"wp-block-heading\">Leituras adicionais<\/h2>\n<ul>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew20.html\" target=\"_blank\" rel=\"noopener\">Novidades no Kotlin 2.0.0<\/a><\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/k2-compiler-migration-guide.html\" target=\"_blank\" rel=\"noreferrer noopener\">Guia de migra\u00e7\u00e3o para o compilador 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\">The Road to the K2 Compiler<\/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\">Suporte a Android para o Kotlin Multiplatform compartilhar a l\u00f3gica de neg\u00f3cios entre as plataformas m\u00f3vel, de Web, de servidor e de desktop<\/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\">O compilador Jetpack Compose est\u00e1 mudando para o reposit\u00f3rio do Kotlin<\/a><\/li>\n<\/ul>\n\n\n<p><em>Artigo original em ingl\u00eas por:<\/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":1086,"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\/pt-br\/wp-json\/wp\/v2\/kotlin\/480225"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/comments?post=480225"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/kotlin\/480225\/revisions"}],"predecessor-version":[{"id":480240,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/kotlin\/480225\/revisions\/480240"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media\/476183"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media?parent=480225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/categories?post=480225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/tags?post=480225"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/cross-post-tag?post=480225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}