Dev REACT criando Aplicativos Nativos em Kotlin (Android)
Rapaz... Pensa num menino que ralou igual suvaco de aleijado.
Mas vamos pro contexto.
Há muito tempo atraz eu ingressei no Instituto Federal de Mato Grosso (IFMT) para fazer um curso técnico em Informática integrado ao Ensino Médio. Nessa fase, tive muito aprendizado na área, uma das melhores fases da minha vida pois tudo era novo. Fiz vários projetos lá dentro, e um deles foi um Aplicativo Android para ajudar os alunos da instituição a calcularem o tanto de nota que precisavam tirar para passarem de ano (Olha o nível do problema).
Perfeito... Estava estudando Java no segundo ano e o professor de uma disciplina de Projeto Integrador (matéria que fica a critério do professor definir o que será ensinado) tinha definido algo que eu não lembro muito bem, que me permitiu ter a ousadia de criar apps para Android.
Comecei a criar algo extremamente básico em Java no Android Studio, disponibilizei para o grupo da minha sala com um link compartilhável no Google Drive. Muitas pessoas utilizaram, principalmente no final do ano. Migrei ele depois para Kotlin pois o Google tinha definido essa linguagem como a principal na época, coloquei ele na Google Play e adicionei Ads. Ganhei 14 dólares, mas não consigo tirar porque precisava fazer no mínimo 100 para poder resgatar.
Enfim. Saí do Instituto formado e a vida seguiu. Minha Stack foi naturalmente para o React, TypeScript por conta do momento que estávamos passando naquela época. Fase boa também. Criei vários sites legais para empresas, criei soluções para Apresentadores de TV, entrei numa empresa quase global e criei diversas soluções e sistemas para grandes empresas gringas, enfim. Nada a reclamar.
Mas surgiu uma demanda para Criar um app com Reconhecimento Facial, tentei fazer em React Native (RN) mas não teria a otimização necessária para o projeto. Solução? Voltar na época de Dev Mobile Nativo.
Pensa num caboquinho que apanhou. MVC? MVVM? Que coisas são essas?. Como estrutura as pastas? O que é domain, repository? Injeção de Dependência???
Cara. Conceitos muito comuns na área dev. Arrisco-me dizer que são básicos (acompanho muitos canais techs e vejo falar muito sobre). Mas como na minha stack eu "não precisava", nem ia pesquisar sobre.
Em Kotlin, Data class
sealed class
. Rapaz... Tudo que existe na programação "tradicional", conceitos de linguagens fortemente tipada, com paradígmas definidos, esqueci TUDO mermão. Não lebrava de nada. Uma feature era uma vida para botar no ar. Enviar arquivos pra uma rota de API não era mais só chamar um FormData e chamar um fetch da vida. Lidar com imagens das cameras dos rostos detectados? Um sofrimento. Bitmaps, FloatArray para IAs. Enfim...
Os novos tempos, ou talvez o foco com que eu fui em minha carreira, me fizeram esquecer de conceitos e coisas básicas para ser considerado um Dev mediano em outras Stacks mais consolidadas.
Foi um processo importante para mim enxergar essas mudanças que teve principalmente para a minha carreira. Sei que tenho focado em desenvolvimento web e de qualquer maneira esse gap iria acontecer. Mas bateu forte kkk
Foi um experiência bacana, percebi o quão eu estava estagnado. Chega uma hora no React/Next.js que tudo é mais do mesmo. Estilo um CRUD da vida. Sempre o mesmo processo.
Conclusão disso tudo?
Sei lá, só fiquei com mais dúvidas. Mas pretendo começar a por um pézinho com mais frequência em linguagens mais consolidadas, até porque competir como dev Frontend hoje em dia no mercado de trabalho tá complicado.