Se você passou anos aprimorando um aplicativo empresarial para Android e agora foi solicitado a levar o projeto também para usuários da Apple, provavelmente está se perguntando se terá que jogar todo o seu trabalho fora. A boa notícia é que Kotlin Multiplataforma (KMP) Chegou para nos salvar, permitindo-nos reutilizar a lógica de negócios sem ter que escrever o mesmo código duas vezes em linguagens diferentes.
Não é uma ferramenta mágica que faz todo o trabalho sozinha, mas sim uma estratégia inteligente para compartilhar os dados e a camada de domínioBasicamente, movemos o que é comum a ambas as plataformas para um local central e deixamos que cada sistema gerencie sua própria interface, o que nos permite manter a qualidade de um aplicativo nativo, mas com a eficiência do desenvolvimento unificado.
Como configurar o módulo compartilhado do zero
Para começar com o pé direito, o mais fácil é aproveitar as ferramentas oficiais. Se você usar Android Studio Meerkat E se você tiver o plugin Gradle versão 8.8.0 ou superior, estará preparado para tudo graças a este modelo. Módulo compartilhado multiplataforma KotlinEssa opção automatiza toda a configuração básica, para que você não precise se preocupar com os arquivos de configuração.
O processo é bastante intuitivo: você vai Arquivo > Novo > Novo Módulo e selecione o modelo KMP específico. Aqui você precisará definir o nome do módulo (que também servirá como nome do framework no iOS) e o pacote de arquivos. Depois de clicar em Concluir, deixe o Gradle fazer sua mágica sincronizando o projeto. Você verá que pastas específicas da plataforma são criadas, juntamente com um espaço comum chamado principal comum, que é onde a verdadeira ação acontece.
Integrando lógica compartilhada no Android

Criar o módulo é apenas metade da batalha; agora precisamos contar seu aplicativo Android que usa esse código. O assistente não faz isso automaticamente, então você precisa adicionar a dependência manualmente ao seu arquivo Gradle. A prática usual é adicionar implementação(projeto(«:compartilhado»)) dentro do bloco de dependência.
Se você é uma das pessoas que ativaram o Acessórios de projeto compatíveis com digitação A partir do Gradle, você pode simplificá-lo usando projects.sharedUma vez conectado, seu aplicativo Android poderá consumir perfeitamente tudo o que você programou. androidMain ou commonMain, integrando-se de forma completamente natural ao fluxo de trabalho.
Configuração e implantação no ecossistema iOS
É aqui que as coisas ficam interessantes, já que o Swift não entende Kotlin nativamente. Para que funcionem juntos, precisamos gerar um estrutura binária compiladaO modelo do Android Studio já prepara o arquivo. build.gradle.kts com configurações para as diversas arquiteturas da Apple, como iosX64, iosArm64 e iosSimulatorArm64.
Por padrão, o framework é chamado sharedKitembora você possa alterar essa variável xcfName Se você preferir um nome mais alinhado com a sua marca, para que o Xcode saiba o que fazer, você precisa adicionar uma fase de execução de script chamada Compilar o framework KotlinÉ vital que este script seja executado. antes de compilar os arquivos-fonte Swift para que o código Kotlin já esteja disponível quando o Swift o procurar.
Para verificar se tudo funciona, basta acessar o arquivo. ContentView.swift No Xcode, importe a biblioteca. sharedKit e chamar alguma função do módulo compartilhado, como a clássica platform()para confirmar se o aplicativo reconhece que está sendo executado em iOS.
Migrando para Kotlin 2.0 e Compose Multiplataforma
Se você deseja atualizar para a versão 2.0 do Kotlin, alguns ajustes são necessários. Primeiro, atualize a versão no seu arquivo. libs.versions.toml E não se esqueça de adicionar a pasta. .kotlin arquivar .gitignore Para evitar o envio de arquivos desnecessários para o repositório.
Uma mudança fundamental é a Compose compiladorque agora é um plugin Kotlin integrado. Você precisa adicionar org.jetbrains.kotlin.plugin.compose no catálogo de versões e aplique-o aos arquivos build.gradle correspondentes. Isso permite que você Remova o bloco composeOptions. e aproveitar uma conexão DSL muito mais limpa para configurar coisas como Modo de pular forte.
Além disso, se você usar KSP (Processamento de Símbolos Kotlin)Certifique-se de atualizá-lo para uma versão compatível com Kotlin 2.0 para evitar erros de compilação irritantes. Se você já tem experiência com Jetpack Compose, pode adaptar esse código para Compor MultiplataformaIsso permitirá que você compartilhe não apenas a lógica, mas também parte da interface do usuário, embora alguns detalhes específicos sempre precisem ser ajustados para garantir uma experiência fluida no iOS.
A migração de uma infraestrutura empresarial para o Kotlin Multiplatform envolve a organização do código em um módulo compartilhado, a vinculação correta ao Android via Gradle e a configuração do Xcode usando scripts de compilação do iOS. A atualização para o Kotlin 2.0 simplifica o gerenciamento do compilador Compose e otimiza a estrutura do projeto, garantindo uma lógica de domínio consistente e uma interface específica para cada plataforma.