Flutter ou Kotlin Multiplataforma (KMP): Qual Escolher? 🤔

preview_player
Показать описание
Aproveito para comentar de algumas diferenças entre Apps nativos/híbridos/multiplataforma trazendo vantagens e desvantagens, principalmente se você está pensando em investir no Flutter ou Kotlin Multiplataforma
Рекомендации по теме
Комментарии
Автор

Olá Alex,

Sou um desenvolvedor Pleno em Flutter e trabalho com Kotlin. Na minha opinião, o Flutter é uma ferramenta poderosa, mas com suas complexidades. Se alguém estiver sozinho no projeto Flutter e dominar a Clean Architecture, souber combinar com a Arquitetura Hexagonal e aplicar corretamente os princípios do SOLID, além de não negligenciar os testes automatizados, a manutenção futura desse projeto será mais tranquila.

No entanto, o Flutter não se ajusta tão bem a cenários onde a ênfase principal está na entrega. Esse, de fato, é o ponto fraco do Flutter. Quando o foco está na entrega, a manutenção pode ser colocada em segundo plano, e o que foi cuidadosamente desenvolvido pode ser comprometido em poucos meses.

Por outro lado, o Kotlin em projetos oferece uma estrutura mais sólida. A implementação da Clean Architecture e dos testes automatizados é um recurso maduro herdado do Java. Mesmo que outros colaboradores estejam menos comprometidos, eles terão menos probabilidade de causar danos significativos em um projeto Kotlin. Além disso, lidar com os estados das Widgets é mais simples do que no Flutter.


A curva de aprendizado para os gerenciadores de estado do Flutter, como Riverpod, Bloc e Cubit, tende a demandar mais tempo para os desenvolvedores em comparação com os gerenciadores de estado utilizados em Kotlin.

Comparativamente, os conceitos e implementações dos gerenciadores de estado no ecossistema Kotlin costumam ser mais acessíveis e, em muitos casos, mais fáceis de aprender em um período mais curto. Isso se deve em parte à maturidade e à familiaridade dos recursos disponíveis, herdados do Java, que facilitam a compreensão e a aplicação nos projetos Kotlin.

Por outro lado, os gerenciadores de estado no Flutter, como Riverpod, Bloc e Cubit, podem demandar mais tempo para dominar. A complexidade e a curva de aprendizado dessas ferramentas são geralmente mais acentuadas, o que pode resultar em um período mais longo de aquisição de conhecimento e habilidades para utilizá-las efetivamente em projetos.

É importante considerar que a escolha entre essas ferramentas muitas vezes depende das necessidades específicas do projeto, das preferências individuais e do contexto em que serão aplicadas.

wladiband
Автор

Tenho sentido de umas semanas para ca um movimento em direção ao Flutter aqui no Canadá, tenho recebido muitas vagas e recentemente a empresa em que eu trabalho decidiu tb começar a migrar para isso, acredito que devido a toda essa crise referente aos Estados Unidos, vamos ver o que nos aguarda, valeu cara, excelente vídeo e ainda torce para o melhor haha

gilsonjuniorpro
Автор

Parabéns pelo vídeo! É muito interessante ter a visão de diferentes desenvolvedores sobre Flutter e KMP. Compartilhar experiências como a sua ajuda a comunidade a entender melhor os pontos fortes e fracos de cada tecnologia, permitindo que cada um escolha a ferramenta mais adequada para suas necessidades e desafios do dia a dia. No meu caso, tenho uma bagagem considerável em desenvolvimento Android com Java. Quando a Google iniciou a migração para Kotlin, me deparei com a dúvida de qual linguagem deveria focar meus estudos. Após muita pesquisa e análise, decidi apostar no Flutter por ser uma solução multiplataforma. Meus projetos frequentemente exigem soluções para web e até mesmo extensões para desktop, o que antes demandava o uso de diversas tecnologias. Com o Flutter, encontrei uma ferramenta única que me permite atender a todas essas demandas. Hoje, me sinto extremamente satisfeito com a escolha do Flutter e do Dart, e utilizo essa tecnologia em todo o meu ecossistema de desenvolvimento

icmaisicmais
Автор

Parabéns pelo vídeo. Ainda não tinha visto um vídeo sem polêmicas entre Flutter e KMP. Tua sensatez me fez querer aprender ainda mais sobre o KMP/Compose. Se puderes, me indica um material. Vlw.

douglasdamasceno
Автор

Esses pontos de vista nos ajudam a ter uma noção macro das coisas.

regisrosa
Автор

Bom video Alex. Para o que eu faço hoje, não fez muito sentido ir para uma plataforma cross como flutter ou KMM (trabalho com nativo) mas a ideia do KMM hoje parece fazer mais sentido pra mim visto que já tenho certa familiaridade com kotlin e com o compose funcionando nesta abordagem achei bem interessante.

edbbr
Автор

mano va em frente! eu to adorando sua caminhada com o KMP, sou backend e devo muito ao seus posts no medium usando kotlin com spring. vou ficar de olho na sua trajetoria com KMP e com framworks kotlin pra backend. flw

jefaokpta
Автор

A alura tem alguma pretensão de fazer cursos e/ou formação de KMP? Ou vc fazer um video no seu canal de como implementar esse sistema em um app?

murilobionicaruso
Автор

show de bola. Muito bom esse formato de video

claudioandroidjavamecatron
Автор

cara agora que a google anunciou o suporte oficial do kmp no ultimo i/o que teve estou realmente preucupado com o futuro do flutter

mufuria
Автор

Aprendi Flutter com você! Foi muito da hora ver a evolução do ByteBank!

GeorgeBentes
Автор

A empresa que trabalho está fazendo todo mundo de Android e IOS ir para o Flutter e o time está crescendo e há anos mais da metade dos projetos são Flutter. Ah, trabalho numa fábrica de software.

feab
Автор

Na minha visão a única motivação de alguém querer ir para o Kotlin MultiPlataforma é que como o Android em si é em Kotlin, a pessoa desenvolveria já com o Kotlin, sem precisar de aprender Dart e o próprio Kotlin converteria o código para ios também. Mas pesando isso na balança, prefiro continuar com Flutter pois ele é bem completo e tendo em vista que vários softwares como Google Earth (Android/ios/web) foi feito em Flutter, assim como a nova loja do Ubuntu 23.10 (desktop) e a play store que ouvi dizer que vai ser atualizada utilizando Flutter também, o KMP seria só reinvenção de roda. Mas, vamos ver o que nos espera.

MarcoAntonioLima
Автор

Eu uso o Flutter e gosto muito, mas recentemente tive que abandonar ele em um projeto por conta de limitações de serviço específicos, como tarefas repetitivas a serviço de GPS em background.
Existe uma limitação para isso, e aparentemente só pagando para que isso seja liberado (o limite é de 15min para tarefas agendadas repetitivas)

mariodevelopersantos
Автор

Outra dúvida, quais principais pontos que diferenciam um desenvolvimento de android nativo com kotlin com o desenvolvimento KMP? E que pontos devemos comecar a estudar para alguem que ja tem conhecimento em android nativo e quer ingressar no KMP?

murilobionicaruso
Автор

Marketplaces são indicados em Flutter ou Kotlin? Ou misto de ambos?

vendajuntos
Автор

É tanta opção que eu fico até perdido. Já trabalho como Dev Android Jr mas sei que no final do ano, muito provavelmente vou sair do emprego PJ que eu estou e não está tendo muitas vagas para Jr e agora eu estou na indecisão de ir estudar Flutter pra ver se consigo uma vaga, se fico no Android nativo e vou pra compose e ou compose/kmp, ou até mesmo mude pra backend com um Java/Kotlin com spring. Tem algum conselho?

antoniobr
Автор

Acho que kotlin vai vim vom tudo, com ele vc aprende o nativo Android e jetpack compose quando tiver mais maduro(esta em beta no momento) vai ser fácil o desenvolvimento para ios por exemplo

rafaelkontein
Автор

E para quem está iniciando só sobram dúvidas sobre onde investir os esforços rs

viniciuspmacedo
Автор

A minha percepção com relação a isso, de forma bem resumida é que: Se você é uma startup ou quer criar uma aplicação simples e quer que o maior numero de pessoas usem pode ir de flutter, agora se é mais complexo e sua renda principal vai vir disso vai ter que ser nativo.
O que eu quero dizer com isso? Por exemplo uma aplicação como o Gdrive tem um unico objetivo e um escopo muito claro e raramente vai ter novas implementações nesse caso flutter é interessante, porem no caso de uma netflix ou nubank ou qualquer outra aplicação carro chefe acho improvavel ser em flutter.

codelab-kt