Kotlin Multiplatform Mobile entra em versão Alpha

Postado em por luizdibella

O Kotlin Multiplatform Mobile (KMM) é um SDK que permite usar o mesmo código de lógica de negócios em aplicações para iOS e Android. Hoje, o KMM entra em Alpha, e você pode começar a compartilhar lógica de negócios nos seus aplicativos móveis com ele imediatamente. Ele inclui o novo plug-in KMM para Android Studio, que permite escrever, executar, testar e depurar código compartilhado no mesmo IDE. Junte-se a grandes equipes como a VMWare, a Autodesk e a Yandex, que compartilham código em seus aplicativos móveis usando o Kotlin. Reutilizar código entre plataformas móveis nunca foi tão fácil!

arquivo

O que é o Kotlin Multiplatform Mobile?

O Kotlin Multiplatform Mobile (KMM) é um SDK para desenvolvimento móvel multiplataformas fornecido pela JetBrains. Ele usa os recursos multiplataformas do Kotlin e inclui várias ferramentas e recursos projetados para tornar a experiência completa de criação de aplicações móveis multiplataformas tão agradável e eficiente quanto possível.

As versões para Android e iOS de uma aplicação geralmente têm muito em comum, mas também podem diferir significativamente, especialmente em termos da interface do usuário, desde variações sutis no comportamento de rolagem até a lógica de navegação completamente divergente. Ao mesmo tempo, a lógica de negócios da aplicação, incluindo recursos como gerenciamento de dados, análises e autenticação, é muitas vezes idêntica. É por isso que é natural compartilhar algumas partes de uma aplicação entre plataformas e, ao mesmo tempo, manter outras partes completamente separadas.

Com o KMM, você pode obter essa flexibilidade e ainda manter os benefícios da programação nativa. Use uma única base de código para a lógica de negócios de aplicativos iOS e Android e escreva código específico da plataforma somente onde for necessário, para implementar uma interface do usuário nativa ou ao trabalhar com APIs específicas de plataforma.

arquivo

O KMM se integra perfeitamente ao seu projeto móvel. O código compartilhado, escrito em Kotlin, é compilado para o bytecode da JVM com o Kotlin/JVM e em binários nativos com o Kotlin/Native, para que você possa usar seus módulos de lógica de negócios do KMM como qualquer outra biblioteca móvel comum.

Compartilhar o código Kotlin entre plataformas móveis já economizou muito tempo e esforço para muitas empresas. Aqui estão algumas histórias inspiradoras:

  • A Quizlet migrou sua lógica de negócios de uma abordagem JavaScript compartilhada para o KMM e melhorou drasticamente o desempenho das suas aplicações para Android e iOS.
  • A Fastwork introduziu o KMM para as camadas de domínio e dados de sua aplicação, para compartilhar a lógica de negócios e serviços de API entre plataformas móveis, aumentando significativamente a produtividade da sua equipe.
  • A Yandex.Disk começou experimentando a integração de um pequeno recurso e, quando o experimento se mostrou bem-sucedido, ela implementou toda sua lógica de sincronização de dados no KMM.

Os resultados notáveis alcançados por estas e muitas outras equipes têm sido uma grande parte da nossa inspiração, e esperamos que suas histórias o incentivem a começar a compartilhar código entre plataformas móveis com o KMM.

Crie aplicativos móveis com prazer graças ao KMM

O KMM ainda é bastante novo para o mundo do desenvolvimento móvel, mas acreditamos que é um verdadeiro divisor de águas. É por isso que alocamos uma equipe separada dentro do Kotlin para impulsionar o KMM e fornecer a melhor experiência de desenvolvedor para a criação de aplicações móveis multiplataformas com o Kotlin.

Como um primeiro passo para isso, hoje temos o prazer de apresentar a vocês a primeira demonstração do plug-in KMM para Android Studio, juntamente com o novo portal para desenvolvedores do KMM.

Vamos começar nossa jornada com o KMM!

Trabalhe em um ambiente familiar

Com o novo plug-in KMM, você pode escrever, executar, testar e depurar código compartilhado no Android Studio, sem alternar para outros IDEs. Para instalá-lo, selecione Preferences | Plugins, procure o plug-in Kotlin Multiplatform Mobile no Marketplace e clique no botão Install.

Configure uma nova aplicação com poucos cliques

Com o assistente New Kotlin Multiplatform Mobile Project, você pode criar um projeto de aplicativo móvel pronto para ser executado com uma base de código compartilhada em apenas alguns cliques. Para ver como isso funciona em ambas as plataformas, basta selecionar a configuração de execução necessária e clicar no botão Run.

arquivo

O projeto gerado conterá exemplos de como se conectar à API específica de plataforma e à cobertura de testes básica. Você pode usar esse assistente para explorar os recursos básicos do KMM ou como uma ferramenta de estrutura para a sua nova aplicação de produção do KMM.

Siga este tutorial para instalar o plug-in e criar sua primeira aplicação multiplataforma com o assistente.

Introduza o KMM no seu projeto existente em uma única etapa

Você também pode iniciar sua jornada com o KMM diretamente no seu projeto atual: o código Kotlin compartilhado pode ser facilmente integrado ao seu código existente, como qualquer outra dependência regular. O assistente New Kotlin Multiplatform Mobile Module ajudará você a adicionar um novo módulo KMM ao seu projeto, para que você possa usar o código que já escreveu em Kotlin e refatorá-lo para torná-lo compatível com o iOS.

Confira este guia de integração do KMM em projetos existentes para aprender a planejar a arquitetura de projetos multiplataforma e organizar a migração para ele.

Trabalhe com ambas as plataformas dentro de um único IDE

Você não precisa mais trocar de IDEs e ter o Xcode em execução para verificar se o seu código funciona corretamente em ambas as plataformas móveis. Com o novo plug-in, você obtém integração com seu dispositivo iOS e simulador diretamente no Android Studio. Isso oferece os seguintes recursos:

  • Executar e depurar a aplicação para iOS no simulador ou em um dispositivo com a configuração de execução predefinida.
  • Executar e depurar testes comuns e específicos do iOS no simulador iOS, simplesmente clicando no ícone de medianiz em uma classe ou método de teste.

Tanto para a aplicação quanto para os testes, você pode definir pontos de interrupção e depurar seu código no iOS.

Integre com o ecossistema do iOS sem qualquer sobrecarga

Conforme mencionado acima, o KMM é perfeitamente integrado ao seu projeto móvel. Para o Android, você pode usar o Kotlin para todas as partes do seu projeto. Ao mesmo tempo, o KMM fornece forte integração com o processo de desenvolvimento do iOS, devido à interoperabilidade do Kotlin/Native com o Objective-C/Swift, à integração com o gerenciador de dependências do CocoaPods e à capacidade de usar APIs específicas de plataforma com o padrão esperado/real.

Trabalhe com Kotlin a partir do código Swift com Kotlin/Native

O Kotlin/Native fornece interoperabilidade bidirecional com o Objective-C/Swift. Os módulos do Kotlin podem ser totalmente utilizados em Swift/Objective-C. Você pode usar estruturas e bibliotecas Objective-C no código Kotlin, bem como bibliotecas Swift, se a sua API for exportada para Objective-C com @objc.

Saiba mais sobre a interoperabilidade do Kotlin/Native com o Swift/Objective-C.

Gerencie facilmente as dependências do iOS

O Kotlin/Native fornece integração com o gerenciador de dependência CocoaPods. Você pode adicionar dependências em bibliotecas Pod armazenadas no repositório CocoaPods ou localmente e também pode usar projetos multiplataforma com destinos nativos como uma dependência do CocoaPods (Kotlin Pod). Gerencie dependências Pod diretamente no Android Studio e aproveite o suporte completo de codificação, incluindo realce e complementação.

Esta é a aparência da configuração típica da biblioteca do KMM:

Conecte a biblioteca ao seu projeto do iOS como um Kotlin Pod, adicionando seu nome e caminho ao Podfile:

Saiba mais sobre a integração com o CocoaPods.

Saiba como criar melhores aplicativos móveis multiplataforma no novo Portal do desenvolvedor

O novo Portal do desenvolvedor do KMM foi projetado para tornar sua jornada mais confortável e produtiva, desde sua primeira experiência com o KMM até o seu uso na produção.

A seção de documentação é seu recurso confiável quando você está trabalhando com o KMM. Você encontrará conteúdo para todos os níveis de conhecimento, desde tutoriais para você começar até tópicos de desenvolvimento mais avançados. Ela contém informações úteis sobre tarefas comuns, como organizar camadas de redes e armazenamento de dados e até mesmo organizar o processo de desenvolvimento em torno do KMM.

Procurando novas ideias sobre os benefícios de usar o KMM na sua aplicação? Aprenda com a experiência em primeira mão de várias equipes que já estão usando o KMM em seus produtos na seção de estudos de casos.

O poder da comunidade

Somos gratos às seguintes empresas e desenvolvedores independentes, cujo investimento de tempo, conhecimento e experiência foi crucial para este lançamento: Kevin Galligan, Alec Strong, Arkadii Ivanov, Ben Asher, John O’Reilly, Louis CAD, Kris Wong, Aleksey Mikhailov e muitos outros engenheiros incríveis. Obrigado por relatar issues no YouTrack, participar da pesquisa de produto e entrevistas, compartilhar histórias sobre sua experiência com o KMM e criar bibliotecas multiplataforma incríveis!

Também queremos agradecer às equipes que nos ajudaram a criar conteúdo para o novo Portal do desenvolvedor: Touchlab, IceRock e Kodein Koders. O trabalho de vocês ajudará milhares de desenvolvedores a aprofundar-se no Kotlin Multiplatform Mobile e aproveitar todo o seu poder.

Vocês são demais!

Experimente agora mesmo

Com todas essas características interessantes, estamos felizes em anunciar que o KMM agora está em Alpha. Isso significa que a equipe do Kotlin está totalmente comprometida em aprimorar essa tecnologia e ajudá-la a evoluir. É também um sinal de que o produto se desenvolverá rapidamente. Ouviremos seus comentários e forneceremos correções e melhorias o mais rápido possível. Ajude-nos a aumentar a estabilidade do KMM relatando quaisquer issues que você encontrar por meio do nosso rastreador.

Entrar em Alpha significa que tudo está pronto para você começar a usar o KMM para compartilhar código de lógica de negócios entre plataformas móveis. Você pode criar um novo projeto ou integrar facilmente um módulo do KMM aos existentes. Em ambos os cenários, o trabalho pode ser feito com custo mínimo, e você sempre pode voltar ao desenvolvimento totalmente nativo. A comunidade está crescendo rapidamente, e você pode influenciar o desenvolvimento de todo o ecossistema participando dele.

Então, agora é um ótimo momento para começar a usar o KMM!

Para obter a melhor experiência de aprofundamento no KMM e discutir todos os recursos que você planeja explorar, junte-se à comunidade de entusiastas de multiplataforma no Slack (receba um convite aqui) e inscreva-se na tag “kotlin-multiplatform” no Stack Overflow.

Apesar de tentarmos o nosso melhor, ainda não podemos garantir uma migração tranquila. No entanto, tentaremos evitar problemas de compatibilidade o máximo possível, usando sinalizadores de recursos e fornecendo guias de migração para novas versões.

Compartilhe suas opiniões

Esse lançamento é apenas o início da jornada, mas precisamos da sua ajuda ao longo do caminho. Estamos ansiosos para receber todos os seus comentários, os bons e os ruins. Torne-se uma inspiração para outras pessoas, compartilhando suas histórias de uso do Kotlin Multiplatform Mobile, e compartilhe suas ideias sobre como podemos melhorar o KMM.

Mãos à obra com o Kotlin!