Em uma mudança muito esperada, o Kotlin Multiplatform, uma tecnologia de código aberto criada pela JetBrains que permite aos desenvolvedores compartilhar código entre plataformas, enquanto mantêm os benefícios da programação nativa, tornou-se estável e agora está 100% pronto para uso em ambientes de produção.
Continue lendo para saber mais sobre a evolução do Kotlin Multiplatform (KMP), como ele pode otimizar seu processo de desenvolvimento e quais recursos educacionais estão disponíveis para você aproveitar ao máximo essa tecnologia.
Compartilhe código nos seus termos, com confiança
Projetado com foco principal na flexibilidade e adaptabilidade, o Kotlin Multiplatform (KMP) elimina as barreiras entre o desenvolvimento multiplataforma e nativo. Ele permite que os desenvolvedores reutilizem quanto código quiserem, escrevam código nativo se e conforme necessário e integrem perfeitamente o código Kotlin compartilhado em qualquer projeto.
Desde o primeiro lançamento do KMP, sua flexibilidade atraiu muitas empresas proeminentes, como a Netflix, Philips, McDonald’s, 9GAG e Baidu. Muitas equipes já estão aproveitando a capacidade do KMP de se integrar gradualmente, bem como seu baixo risco de adoção. Alguns deles compartilham partes críticas isoladas do seu código Kotlin existente para melhorar a estabilidade de suas aplicações. Outros, com o objetivo de reutilizar o máximo de código possível sem comprometer a qualidade do aplicativo, compartilham toda a lógica do aplicativo em dispositivos móveis, desktop, Web e TV, mantendo interfaces de usuário nativas.
Com o KMP sendo amplamente utilizado em ambientes de produção desde seu lançamento Alpha, a JetBrains conseguiu reunir amplo feedback e refinar a tecnologia para fornecer uma experiência melhor de desenvolvimento multiplataforma na versão estável, incluindo as seguintes.
Garantias rigorosas de compatibilidade
O núcleo da tecnologia multiplataforma Kotlin consiste em várias partes, como suporte a compiladores, recursos de linguagem, API de bibliotecas, IDEs, ferramentas de build e muito mais. Todos eles abrangem os casos de uso de compartilhamento de código mais populares e estão estáveis no Kotlin 1.9.20. “Estável” significa que evoluiremos essas partes seguindo regras de compatibilidade rigorosas, para que você possa usá-las com segurança no seu código.
Indo além do núcleo, o KMP também tem algumas partes mais avançadas nas quais ainda estamos trabalhando. Classes expect/actual são um exemplo de tal funcionalidade (não devem ser confundidas com funções expect/actual, que são totalmente estáveis no Kotlin 1.9.20). Esses recursos são explicitamente marcados como não estáveis, e o Kotlin vai informar quando você os estiver usando. Preste atenção aos avisos de experimentalidade e à documentação correspondente para tomar uma decisão embasada sobre o uso ou não de tais recursos nos seus projetos.
Melhor experiência do usuário com configuração de build
Para simplificar a configuração e manutenção de projetos, introduzimos o template de hierarquia padrão. Esse novo recurso do plug-in Kotlin Gradle configura automaticamente os conjuntos de fontes do Kotlin para cenários populares e reduz a quantidade de boilerplate em scripts de build típicos.
Para ajudar você a diagnosticar erros e configurações incorretas de build, o KMP oferece algumas melhorias na versão Estável:
- Aproximadamente 50 diagnósticos foram adicionados ao plug-in Kotlin Gradle, ajudando a detectar problemas comuns de build e fornecendo dicas rápidas sobre como corrigi-los.
- A melhora na saída para erros do Gradle no Xcode faz com que problemas de build em partes nativas do seu projeto sejam mais detectáveis.
Melhorias no desempenho de build e runtime
Além de outras melhorias de estabilidade e robustez, continuamos melhorando o desempenho do KMP:
- O suporte ao cache de configuração do Gradle acelera o processo de build, reutilizando os resultados da fase de configuração para builds subsequentes.
- A versão de demonstração do alocador de memória personalizado em Kotlin/Native melhora o desempenho de runtime do gerenciador de memória Kotlin/Native.
- A nova compilação incremental experimental de artefatos `klib` acelera a compilação Kotlin/Native.
- A mudança do gerenciamento do cache do compilador Kotlin/Native do plug-in Kotlin Gradle para o compilador possibilita melhorias adicionais nos tempos de compilação e na flexibilidade do cache do compilador.
Graças a todos esses avanços, o Kotlin Multiplatform pode ser usado sem hesitar para compartilhar código em produção em Android, iOS, desktop (JVM), servidor (JVM) e Web, mesmo nos cenários de uso mais conservadores.
Use o poder do crescente ecossistema Kotlin Multiplatform
A evolução do Kotlin Multiplatform não se limita à tecnologia em si, mas se estende ao seu próspero ecossistema cultivado por milhares de desenvolvedores Kotlin em todo o mundo. Desde a versão Beta, o número de bibliotecas KMP se multiplicou, oferecendo diversas ferramentas para rede, armazenamento de dados, aritmética, análise e muito mais, permitindo o desenvolvimento rápido e confiável de aplicativos.
A equipe de Android do Google continua oferecendo suporte aos usuários do KMP, fornecendo as versões multiplataforma experimentais de bibliotecas, e ela já tornaram as bibliotecas Collections, DataStore, Annotations e Paging compatíveis com o Kotlin Multiplatform.
O ecossistema KMP também oferece uma gama de ferramentas para a experiência do desenvolvedor iOS, com destaque para a SKIE da Touchlab. Ele gera código Swift que fornece uma camada de API amigável ao Swift, fazendo a ponte entre tipos Kotlin importantes e implementando a interoperabilidade perfeita com corrotinas.
Obtenha ainda mais liberdade de compartilhamento de código com o Compose Multiplatform
O Compose Multiplatform, uma moderna framework de IU declarativa entre plataformas da JetBrains, é uma parte significativa do ecossistema KMP em constante expansão. Com o Compose Multiplatform, agora você tem total flexibilidade no compartilhamento de código. Compartilhe apenas uma parte da lógica, toda a lógica do aplicativo ou a lógica e a IU, dependendo dos requisitos do seu projeto e da equipe:
O Compose Multiplatform para Android e desktop (JVM) já está estável, enquanto o suporte para iOS está atualmente em Alpha, e o suporte para Web (Wasm) é experimental.
Explore o futuro do Kotlin Multiplatform
A JetBrains continua aprimorando o desenvolvimento multiplataforma com o Kotlin, com o objetivo de torná-lo a melhor opção para compartilhar código entre plataformas:
- Futuras atualizações na tecnologia central do Kotlin Multiplatform melhorarão a experiência dos desenvolvedores iOS, incluindo a interoperabilidade direta do Kotlin com o Swift e suporte ao SwiftPM.
- O próximo marco do Compose Multiplatform para iOS é o suporte Beta em 2024.
- A JetBrains está desenvolvendo ativamente o Kotlin/Wasm para facilitar o desenvolvimento Web moderno com o KMP, com o objetivo de entregar a versão Alpha do Compose Multiplatform for Web (Wasm) no ano que vem.
E isso não é tudo. Nas próximas semanas, prepare-se para alguns anúncios emocionantes sobre a evolução das ferramentas Kotlin Multiplatform!
Introdução ao Kotlin Multiplatform
Comece sua jornada com nossos recursos educacionais abrangentes e fáceis de usar.
Participe da nossa Série de webinars sobre o Kotlin Multiplatform em novembro para obter insights diretamente dos especialistas da JetBrains! Explore os recursos do Kotlin Multiplatform, crie aplicativos KMP com IUs nativas e compartilhadas e descubra dicas e truques de desenvolvimento para iOS:
O novo Kotlin Multiplatform Development Portal oferece documentação detalhada, guias de introdução e tutoriais passo a passo que abrangem todos os aspectos da criação de aplicativos com o Kotlin Multiplatform e o Compose Multiplatform:
Artigo original em inglês por:
Powered by WPeMatico