Conversando com o Gemini: Como as IAs criam aplicativos: Uma imersão em Kotlin, Flutter e o ecossistema Mobile

Um diálogo revelador sobre as tecnologias por trás da geração de aplicativos por Inteligência Artificial, o papel do Kotlin e do Flutter no mercado de desenvolvimento, e as estratégias para levar código gerado para o iOS.

Aqui no Google AI Studio, quando eu clico em New App e peço pra você criar um app, qual é a linguagem do APP usada por você?

Quando você clica em “New App” (ou usa o Build mode) no Google AI Studio e pede para a IA criar um aplicativo, a linguagem e a tecnologia usadas dependem da plataforma que você escolheu construir. Atualmente, geramos aplicativos para duas plataformas principais:

1. Aplicações Web (Padrão)

Se você estiver criando um Web App, a IA cria um ambiente full-stack (cliente e servidor) completo:

  • Frontend (Visual do App): A linguagem utilizada é o JavaScript/TypeScript, e o framework padrão que a IA utiliza para criar a interface é o React.
  • Backend (Servidor): A IA utiliza um ambiente Node.js (também baseado em JavaScript/TypeScript). Isso permite que o aplicativo se conecte a bancos de dados, gerencie pacotes via npm e faça chamadas de API.

2. Aplicativos Nativos para Android

Se você usar o seletor de plataforma para criar um aplicativo Android nativo, a IA construirá o projeto usando:

  • Linguagem: Kotlin.
  • Interface Gráfica: Jetpack Compose (o kit de ferramentas oficial e moderno do Google para criar interfaces nativas no Android).

Em ambos os casos, a IA escreve e gerencia todo o código nos bastidores, permitindo visualização em tempo real. Você também tem a opção de exportar o código fonte final gerado para modificar diretamente no seu editor.

Fale um pouco sobre a Linguagem: Kotlin

O Kotlin é uma linguagem de programação moderna, de código aberto e estaticamente tipada, que se tornou a “queridinha” no mundo do desenvolvimento mobile, especialmente para Android. Aqui estão os principais pontos sobre ela:

  • Origem: Criado pela JetBrains (mesma empresa do IntelliJ IDEA e Android Studio). Foi anunciado em 2011, com a primeira versão estável em 2016.
  • A Linguagem Oficial do Android: Em 2019, o Google declarou que o desenvolvimento Android seria “Kotlin-first”, deixando o Java em segundo plano.
  • Concisão: Permite fazer o mesmo que o Java escrevendo muito menos código repetitivo (boilerplate).
  • Null Safety (Segurança contra Nulos): Criado para eliminar o famoso erro NullPointerException, forçando o programador a tratar valores nulos na escrita do código.
  • Interoperabilidade com Java: Roda na JVM, permitindo que arquivos Java e Kotlin funcionem juntos perfeitamente.
  • Além do Android: É amplamente usado no backend (com frameworks como Spring Boot) e na tecnologia Kotlin Multiplatform (KMP), que permite rodar lógicas de negócios no Android e no iOS simultaneamente.
Me fale do Flutter

O Flutter é um kit de desenvolvimento de software (SDK) de código aberto criado pelo Google focado no desenvolvimento multiplataforma.

  • A Linguagem (Dart): No Flutter você usa o Dart, uma linguagem otimizada para criar interfaces de usuário de forma rápida.
  • Escreva Uma Vez, Rode em Qualquer Lugar: A partir de um único código em Dart, o Flutter compila aplicativos para Android, iOS, Web e Desktop (Windows, macOS e Linux).
  • Tudo é um “Widget”: A construção da tela funciona como blocos de Lego. Botões, textos e espaços são widgets que se encaixam para criar designs complexos.
  • Hot Reload: Permite alterar o código e ver a mudança na tela do celular em milissegundos, acelerando a velocidade de criação.
  • Alta Performance: Diferente de tecnologias que usam “Webviews”, o Flutter desenha seus próprios pixels na tela usando um motor gráfico de alta performance, rodando a 60 ou 120 quadros por segundo.
O Flutter existe há quanto tempo? E qual o risco de ser extinto?

O Flutter foi apresentado com o codinome “Sky” em 2015, mas sua versão oficial (Flutter 1.0) foi lançada em 4 de dezembro de 2018. Hoje, é uma tecnologia altamente consolidada.

Sobre o risco de ser extinto pelo Google (o famoso fantasma do Killed by Google), hoje esse risco é considerado muito baixo pelos seguintes motivos:

  • Uso interno pesado: Produtos como Google Pay, Google Earth e partes do Google Ads são feitos em Flutter.
  • Adoção massiva pelo mercado: Gigantes globais como Nubank, BMW, Toyota, Alibaba e Tencent dependem dele.
  • Código Aberto (Open Source): Se o Google parasse de investir, a comunidade ou uma fundação assumiria a manutenção, dada a importância comercial da tecnologia.
  • Expansão contínua: O Google continua investindo em sua expansão para Web e Desktop e reescrevendo seu motor gráfico para maior performance.
Me fale sobre o projeto Impeller

O Impeller é o novo motor de renderização gráfica do Flutter criado sob medida para resolver um problema específico do antigo motor (Skia).

O Skia sofria com o “Shader Compilation Jank”, uma leve travadinha que ocorria em iPhones quando uma animação aparecia pela primeira vez, pois ele traduzia os gráficos na hora. O Impeller resolveu isso pré-compilando todos os shaders de forma offline. Quando o usuário abre o aplicativo, os gráficos já estão prontos para a placa de vídeo.

As vantagens incluem:

  • Fim dos engasgos (Zero Jank), com fluidez máxima desde o primeiro toque.
  • Aproveitamento de tecnologias de ponta como Metal (Apple) e Vulkan (Android).
  • Menos consumo de memória e bateria.
  • Suporte aprimorado para elementos 3D dentro dos aplicativos.
Qual o motivo que o Google não adotou o Flutter aqui dentro do Google AI Studio para BUILD de APPs?

Essa é a pergunta de 1 milhão de reais! A decisão de usar React e Kotlin em vez do Flutter nas ferramentas de criação com IA (Vibe Coding) se baseia em limitações técnicas e estratégias de produto:

  • Volume de Dados de Treinamento: IAs são treinadas lendo código na internet. Existe uma quantidade astronomicamente maior de código em JavaScript/React e Java/Kotlin do que em Dart/Flutter. Logo, a IA é muito mais fluente nestas linguagens, cometendo menos erros ao gerar lógicas complexas de primeira.
  • A Mágica do Navegador: O AI Studio exibe o app no navegador em segundos. É muito leve rodar JavaScript nativamente ali. Compilar Dart e carregar o motor do Flutter na nuvem de forma instantânea seria pesado e lento.
  • Política Kotlin-First: A funcionalidade foi feita com a equipe Android, cuja diretriz máxima é o Kotlin. A ideia é que a IA gere a base e você exporte para finalizar no Android Studio de forma puramente nativa, facilitando o acesso a sensores do hardware.
  • O Risco Multiplataforma: Pedir para a IA gerar uma base de código única que respeite as diretrizes visuais da Apple, Android e Web simultaneamente é pedir para a IA alucinar o layout. Separando o escopo (Web = React, Mobile = Kotlin), garante-se uma entrega mais robusta.
E como levar código gerado em JavaScript e Kotlin para o iOS?

Como a IA gera o código para Android ou Web, existem estratégias eficientes para levá-los ao ecossistema da Apple (iOS):

Se você gerou em Kotlin (Mobile):

  • Compose Multiplatform: Tecnologia da JetBrains que permite pegar a interface e a lógica do app Android (Kotlin) e recompilar para rodar nativamente no iOS. É a principal concorrente moderna do Flutter.
  • Tradução com a própria IA: Você pode pedir para a IA ler a lógica feita em Kotlin e reescrevê-la em Swift/SwiftUI, a linguagem nativa do iPhone, para compilar no Xcode.

Se você gerou em JavaScript/React (Web):

  • Converter para React Native: A lógica permanece a mesma, você apenas usa a IA para trocar as tags HTML (como divs) por componentes do React Native, gerando um app iOS e Android.
  • Empacotadores (Capacitor / Ionic): Ferramentas que pegam o código web, colocam em uma “casca” de aplicativo invisível e adicionam atalhos nativos (câmera, GPS) para ser publicado na App Store.
  • PWA (Progressive Web App): Hospedar o código na internet e permitir que o usuário do iPhone “adicione à tela de início” através do Safari. Funciona em tela cheia sem precisar de aprovação da Apple.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima