Executando verificação de segurança...
3

KOTLIN E FLUTTER -- É PAVÊ OU PACOME ?

Olá todos, vou explicar o cenario simples, e quem sentir de contrubir com a discussão obrigado.

Atualmente estou desempregado e mudando de área na tecnologia. Escolhi área de desenvolvimento de aplicativos e partes correlatas. Estou focado na stack android com kotlin e java, mas quero construir soluções no sistema IOS da força tambem.

Estou no brasil e sem um puto no bolso, não tenho como ter acesso ao sistema da apple com mac ou iphone pra desenvolver aplicações.

Pensando nisso, cheguei no flutter uma maneira cross plataform de trabalhar. Ficou em duvido se eu paro de dispor do meu tempo com kotlin pra focar 100% no futtler. Ou se eu fico com kotlin no android e quando precisar desenvolver alguma coisa ios usar o flutter pra contonar a barreira monetaria de ser pobre.

Estou com muito tempo livre atualmente, estudando 8/10h de kotlin por dia a 1 semana já... facul ta de greve então estou sem fazer nada além disso. Tentei estudar mais tempo, mas se provou perda de tempo, não tava fixando nada na mente.

Carregando publicação patrocinada...
2

Atualmente estão desenvolvendo o Kotlin MultiPlataform, que é basicamente fazer com que com um código Kotlin você consiga um App para Android e iOS, porém como dev flutter sou obrigado a incentivar o desenvolvimento flutter kkkk.

Depois que você começa a programar com a framework você tem uma velocidade de desenvolvimento muito rápida e intuitiva com a componetização do Flutter.

1
1
0
1
1
1
1

Tanto Kotlin Multiplataforma, Flutter e React Native, todos eles serão necessários um macOS. Existem diferenças entre eles, inclusive ao desenvolvedor a UI (com exceção do flutter), mas em algum momento você precisará instalar algum módulo nativo da plataforma e testar sua aplicação no iOS Simulator ou dispositivo físico para fazer algum ajuste específico da plataforma.

Se a grana tiver curta, recomendo fazer um Hackintosh e aproveitar o seu hardware atual já para ter a experiência com iOS, Xcode, Simulator, Certifiers, APNS e por ai vai.

1

Primeiro, construa um aplicativo com qualquer uma das opções. Dito isso, sempre vale mais o nativo.

O JetPack Compose parece muito o Flutter. Logo, você pode começar no Flutter, dominar ele e depois ir para o nativo.

Falo isso porque talvez a curva de aprendizagem possa ter te desmotivado.

Se o seu objetivo for marcado, estude as vagas que você tem preferência e a tecnologia que elas pedem. Aí não importa se é Flutter, Nativo ou React.

O meu pé atrás com o React Native é ele ser em JS, que é mais diferente do Kotlin do que o Dart do Kotlin.

1

Enfrentei alguns problema desenvolvendo nativo com kotlin usando o android studio, meu pc simplesmente explodia tentando rodar o programa, consegui contornar executando a build no meu celular sem precisa do emulador do PC KKK

1

Em questão de empregabilidade, devs nativos costumam ter mais vagas e pagar melhor do que os híbridos/multiplataforma. (Jogue no linkedin pra conferir, se quiser.)

E independentemente se você vai usar o Flutter, ou KMP, ou iOS nativo, voce precisa ter acesso a um Mac com XCode instalado pra testar sua aplicação. Não existem emuladores de iOS. E, ainda por cima, se quiser publicar na AppStore, custa 500 reais por ano pra ter uma conta de Apple Developer (enquanto na Play Store é só 140 reais uma vez na vida).

Kotlin Multiplatform ainda está maturando, ainda tem poucas vagas de emprego, e não resolve os mesmos problemas que o Flutter (Flutter você desenvolve somente uma UI, e no KMP você precisaria do Compose pra isso, e o Compose é ainda mais imaturo do que o KMP).

Então minha sugestão é: se for pra publicar seu próprio app (montar sua própria empresa, sem receber salário), o Flutter, KMP, Compose, ou React Native até poderia fazer sentido, pra possivelmente atingir uma base de usuários maior com um custo menor de lançamento. Mas se for pra melhorar sua empregabilidade na área (trabalhar como funcionário na empresa dos outros e receber um salário), então sugiro fortemente focar somente no Kotlin pra Android mesmo, e possivelmente depois (ou em paralelo) ir pro KMP e/ou Compose.

Disclaimer: sou fã de Flutter, e nunca trabalhei com Kotlin. Já fui contratado como Dev Mobile de Xamarin, mas hoje sou contratado como Eng. de Dados, e estou desenvolvendo uma aplicação no meu tempo livre usando o Flutter. Não pretendo voltar a ser contratado como Dev Mobile, mas se fosse, eu focaria no Kotlin Nativo por questão de empregabilidade, salário, e porque odeio a Apple.

1

Enfrentei alguns problema desenvolvendo nativo com kotlin usando o android studio, meu pc simplesmente explodia tentando rodar o programa, consegui contornar executando a build no meu celular sem precisa do emulador do PC.

Curiosidade, na minha busca por conhecimento a impressao de alguem de fora é quea comunidade de flutter muito maior que kotlin e java no mobile. Eu encontrei tipo uns 10 playlsit completa pra começar a programar com flutter, ja kotlin ta bem fraquinho. Mas eu escolhi kotlin e vou até o final agora. Nada me impedi de mais pra frente se a necessidade surgir aprender flutter.

1

Emular o Android é pesadinho mesmo. Precisa de memória RAM, CPU, e possivelmente uma GPU pra emular. Isso não faz muita diferença de qual linguagem você usa (apesar de que nativo ou Flutter roda ligeiramente melhor do que Xamarin ou React Native).
Mas poder usar o próprio celular pra testar a aplicação Android é uma mão na roda.

O problema vem é na hora de testar pro iOS. Não tem como fugir de precisar de um Mac pra compilar seu código pra iOS, e pra usar o Simulator (ou um iPhone pra testar a performance real). O recomendado é sempre testar em pelo menos um dispositivo real, como um "teste final", pra conferir gargalos de performance, funcionamento das
features, gestos, etc.

Em relação ao tamanho da comunidade, eu não tenho dados pda mostrar sobre isso. Uma rápida pesquisa no Google Trends mostrou que existe mais interesse em flutter do que kotlin mesmo. Mas isso não significa que tem mais vagas disponíveis de flutter do que kotlin. Por isso sugiro jogar no LinkedIn ou Indeed ou outro site similar pra descobrir o que faz mais sentido.

1

Estou focando no nativo do android agora, para desenvolver pro ios só quando eu tiver na area mobile de fato, ganhando grana com android. Pq a alternativa que eu encontrei foi no macincloud com maquina vertiual da apple. Que não é impossivel de pagar será o quebra galho enquanto junto moeda pro macbook. Pelo menos pra estudo, é valido o investimento se eu tenho certeza que isso me ajudara a alavancar minha carreira. Tem gent que gasta essa grana indo em show de mc kkk

1

Dado que o seu objetivo é arrumar trampo, foca no que as vagas que está se candidatando está pedindo.

Não sei qual é o seu nível de senioridade, então fica mais difícil de sugerir algo preciso... Caso você seja iniciante, sugiro que tente estudar outras coisas ao menos tempo, meio que conhecer um pouco de tudo, pois costuma ser mais fácil achar outras oportunidades empregado do que desempregado.

Em sugestões de estudos, foque em coisas que vão além de linguagem e framework, como lógica, paradigmas de orientação a objetos, funcional, coleções/estrutura de dados, design patterns, testes automatizados, refatoração de código, arquitetura de software etc

Depois de aprender bem esses conceitos mais universais, ai sim eu sugiro vc partir para uma linguagem ou framework. Notei que vc tem muito interesse em aprender nativo, eu tenho um canal no YouTube onde ensino android nativo com as técnicas mais recentes https://www.youtube.com/@AlexFelipeDev