Skip to content
Programing

A Dominância do Kotlin Multiplatform (KMP) em Arquiteturas de Lógica Compartilhada

Published: Duration: 7:18
0:00 0:00

Transcript

Apresentadora: E aí, pessoal, bem-vindos de volta ao Allur! Eu sou a Juliana Santos e hoje a gente vai mergulhar em um assunto que está literalmente mudando o jogo no desenvolvimento mobile. Sabe aquela velha busca pelo "santo graal" de escrever um código uma vez só e rodar em todo lugar? Pois é, a gente passou anos tentando fazer isso com frameworks que tentavam desenhar a interface do app de um jeito universal, mas a verdade é que o resultado nem sempre era aquele primor de performance ou de visual, né? O mercado amadureceu e a gente percebeu que o buraco é mais embaixo. O foco mudou: em vez de tentar unificar o que o usuário *vê*, a estratégia agora é unificar o que o app *pensa*. É aqui que entra o Kotlin Multiplatform, ou simplesmente KMP. Hoje vamos entender por que ele está se tornando a arquitetura dominante para grandes empresas e como essa ideia de "Lógica Compartilhada" resolve dores de cabeça que a gente carrega há décadas. Se você é dev, tech lead ou gestor, fica com a gente porque o papo hoje é estratégico. Apresentadora: E para me ajudar a desbravar esse mundo do KMP, eu trouxe um convidado de peso. Ele é arquiteto de software, especialista em ecossistemas mobile e tem acompanhado de perto essa transição das grandes empresas para arquiteturas compartilhadas. Seja muito bem-vindo ao Allur, Ricardo Menezes! Cara, que massa ter você aqui. Convidado: Valeu, Juliana! O prazer é todo meu. Sou fã do Allur e é um prazer falar de um tema que eu sou apaixonado. O KMP não é só uma modinha, né? É uma mudança real de paradigma que a gente tá vivendo agora nas trincheiras do desenvolvimento. Apresentadora: Com certeza! E Ricardo, para começar, eu queria puxar um gancho no que eu falei na intro. A gente veio de uma era de "atalhos híbridos", tipo Flutter e React Native, que prometiam tudo. Por que você acha que o setor corporativo, o pessoal de *Enterprise* mesmo, tá olhando pro KMP com tanto brilho nos olhos agora? Convidado: Cara, a real é que o modelo híbrido tradicional, por mais que seja poderoso, ele sempre impõe uma camada de abstração. É tipo colocar um tradutor entre você e o sistema operacional. Isso cria o que a gente chama de "mínimo denominador comum". Você acaba não usando o melhor do iOS nem o melhor do Android. No mundo corporativo, onde o app é o coração do negócio, qualquer gargalo de performance ou bug visual "estranho" custa muito caro. O KMP mudou a conversa porque ele falou: "Olha, não vamos mexer na UI. Deixa o iOS ser iOS e o Android ser Android. Vamos unificar o cérebro". As empresas perceberam que o custo real não tá em desenhar o botão duas vezes, mas sim em escrever a regra de cálculo de juros, a validação de token e o cache de dados duas vezes em linguagens diferentes. Apresentadora: Nossa, isso faz total sentido. É o fim daquela redundância chata, né? De você ter um bug no Android que não existe no iOS porque a lógica foi implementada de um jeito um pouquinho diferente... Convidado: Exatamente! Tipo assim, imagina que você tem um repositório de dados. No KMP, você usa ferramentas como o Ktor para chamadas de rede e o SQLDelight para o banco de dados local. Você escreve isso uma vez em Kotlin, e o KMP compila isso direto para binário nativo no iOS via LLVM. Não tem "ponte" lenta igual no React Native. É código nativo rodando lá dentro. Se você acha um erro no cálculo de um desconto, você corrige no módulo compartilhado e pronto: tá corrigido para as duas plataformas de uma vez só. É uma paz de espírito para o time de QA que você não tem noção, legal demais. Apresentadora: Massa! E tem um ponto que eu acho genial no KMP, que é essa separação da UI. Eu já vi muito desenvolvedor de iOS torcer o nariz para frameworks cross-platform porque eles não queriam largar o Xcode ou o SwiftUI. Como é que fica essa convivência com o KMP? Convidado: Esse é o segredo do sucesso e o que a gente chama de estratégia "Native UI, Shared Logic". O desenvolvedor iOS continua sendo um desenvolvedor iOS. Ele vai abrir o Xcode, vai usar o SwiftUI, vai usar as ferramentas de profiling da Apple que ele já ama. Ele só vai consumir a lógica de negócio como se fosse uma biblioteca nativa em Swift. Para ele, é quase transparente. E no Android, a galera usa Jetpack Compose à vontade. Isso acaba com aquela guerra de times, sabe? Tipo "ah, o time de Android tá mais rápido que o de iOS". Agora eles trabalham juntos na camada de arquitetura, na inteligência do app, e cada um brilha na sua interface nativa. É o melhor dos dois mundos, cara. Apresentadora: E você mencionou que o KMP usa Kotlin, mas ele gera algo que o Swift entende perfeitamente, né? Eu li que a interoperabilidade é muito fluida. Convidado: É muito massa! O Kotlin gera um framework que o Swift enxerga numa boa. E hoje em dia, com bibliotecas como o KMP-NativeCoroutines, você consegue usar o fluxo de dados assíncronos do Kotlin e receber isso no iOS usando Combine ou Async/Await do Swift de forma super natural. Não fica aquela coisa "estranha" de código traduzido. Parece que foi escrito para aquela plataforma. Apresentadora: Cara, que evolução. E Ricardo, olhando para o futuro... eu vi uma previsão no seu material de que até 2026 o KMP vai estar consolidado não só no mobile, mas em microserviços e até web. Como você vê esse cenário daqui a dois anos? Convidado: Olha, Juliana, o caminho é esse. O Kotlin já roda no backend há muito tempo com o Ktor, e agora com o Kotlin/Wasm (WebAssembly), a gente tá começando a ver o KMP rodando na Web com uma performance absurda. Imagina uma Fintech: o mesmo código que valida o CPF do cliente no app iOS, é o mesmo que valida no Android, no painel administrativo web e até no microserviço de validação no backend. É a consistência total do ecossistema. Até 2026, eu acredito que o desenvolvedor "Mobile" vai virar um "Engenheiro de Software" mais completo. Menos tempo traduzindo código de uma linguagem para outra e mais tempo resolvendo problemas reais de engenharia. Apresentadora: Puxa, é uma mudança de mentalidade e tanto. Para quem está ouvindo a gente e quer começar a levar o KMP para dentro da empresa ou do seu projeto pessoal, qual seria o seu conselho? Por onde começar? Convidado: O legal do KMP é que você não precisa começar do zero. Você não precisa jogar seu app fora e refazer. Você pode começar criando um pequeno módulo compartilhado, tipo a camada de autenticação ou uma regra de cálculo específica. Testa ali, vê como o time se adapta. Recomendo muito dar uma olhada na documentação oficial da JetBrains e focar em entender como o "Common Main" funciona. E claro, não tentar unificar a UI de cara — foca na lógica, que é onde o valor real aparece primeiro. Apresentadora: Sensacional, Ricardo! Acho que deu para clarear muito a mente de quem ainda via o KMP como "só mais um framework". Na verdade, é uma estratégia de arquitetura bem robusta. Cara, muito obrigada por compartilhar sua experiência aqui no Allur, foi um papo massa demais! Convidado: Eu que agradeço, Juliana! Valeu pelo convite e bora codar esse KMP aí, galera! Apresentadora: É isso aí! E para você que acompanhou a gente, as principais conclusões de hoje são: o KMP veio para unir a inteligência e respeitar a experiência do usuário nativa. Se você quer saber mais, vamos deixar alguns links úteis na descrição deste episódio. Valeu por sintonizar o Allur, o seu podcast de tecnologia. Até o próximo episódio, pessoal! Tchau!

Tags

enterprise react-native mobile development kotlin multiplatform compose multiplatform ios flutter