O que é mais importante no seu aplicativo: que ele use as tecnologias mais poderosas disponíveis no mercado, ou que ele resolva a demanda do seu público-alvo?
Sou um desenvolvedor de software. Desenvolvedor Mobile pra ser mais preciso. Quando comecei, anos atrás, a única maneira de se criar aplicativos mobile era através de desenvolvimento nativo. Assim, precisei aprender a linguagem de programação e o kit de desenvolvimento de software para cada sistema operacional que pretendia atender com o meu aplicativo: Android e iOS.
Depois de algum tempo, começaram a surgir alternativas cross-platforms, possibilitando que desenvolvêssemos aplicativos para diferentes sistemas operacionais com uma só linguagem de programação e o kit de desenvolvimento de software. Com essa opção, podíamos praticamente cortar o tempo de desenvolvimento pela metade.
No entanto, quando testei tais alternativas, percebi que a performance do aplicativo construído não estava à altura dos construídos com os kits próprios (nativos). Por exemplo, as listas não rolavam suavemente, o toque dos botões demoravam um pouco para serem percebidos, além de alguns outros problemas. Isso bastou para que, na época, eu abandonasse as alternativas cross-platform.
"Por que eu usaria essas alternativas se consigo desenvolver os apps nativos que funcionam muito melhor?"
Mas, depois de um tempo, percebi que essas alternativas cross-platform começaram a ganhar tração no mercado. Cada vez mais empresas estavam optando por elas para desenvolver seus próprios apps.
Até que faz sentido para mim, afinal, as empresas poderiam gastar muito menos com desenvolvedores só por essa escolha. Antes, tínhamos pelo menos duas equipes: uma para o app dos Androids e outra para o app no iOS. Financeiramente faz sentido, mas ainda assim, eu achava que os usuários finais desses aplicativos feitos em cross-platforms não teriam a melhor experiência possível. Imaginei que, em algum momento, essas empresas teriam que desenvolver as respectivas soluções nativas, pois viriam tantas críticas e reviews negativas nas lojas da Apple e da Google que a situação toda resultaria em avaliações negativas e baixa retenção de usuários.
Mas eu ainda não estava satisfeito. As empresas já não sabem disso?
"Não devo estar vendo alguma coisa".
Então decidi analisar alguns aplicativos feitos com as soluções cross-platforms. Achei uma lista dos 5 apps mais famosos feitos em Ionic e os baixei.
Realmente, a performance não era ótima, tinha os problemas que citei acima (listas com "lag", demora para apertar os botões, etc). Mas uma coisa me surpreendeu. As avaliações eram muito altas: 4,5 ou mais! Todos tinham mais avaliações positivas que negativas. Os usuários estavam amando os aplicativos, apesar da performance não ser igual à nativa.
Então, pra mim ficou claro que as pessoas não ligam para qual tecnologia está sendo usada, não se importam nem se o aplicativo tem a melhor performance; o que realmente importa para as pessoas é se o aplicativo resolve os problemas que elas querem resolver. Claro, alguns usuários exigem a melhor e mais fluida performance, e têm reviews para trazer isso, mas a maioria não se importa nenhum pouco.
Conforme os anos passaram, essas tecnologias cross-platforms se aperfeiçoaram. O que só podia ser feito com desenvolvimento nativo, agora pode ser feito com Ionic, React Native, Flutter e outros, se equiparando à performance nativa.
Atualmente, tem uma nova tecnologia no mercado, uma que está num estágio parecido com o cross-platform lá trás. É uma tecnologia que ainda não tem a melhor performance, e ainda não tem animações incríveis e UI incrivelmente customizáveis. No entanto, é uma tecnologia capaz de entregar em questão de semanas, aplicativos para múltiplas plataformas - Android, iOS, Web - sem ter que escrever o código deles.
Se chama No-Code. É isso mesmo, não precisa mais de linguagem de programação. Você interage com uma interface visual, arrastando e soltando componentes no editor para montar o seu próprio app.
"Ah, mas tem limitações, ele deve ter muito lag, e provavelmente gera aplicativos com uma performance ruim".
Sim, eu também pensei isso quando conheci, mas logo percebi que estava com a mesma mentalidade de quando as soluções cross-platform surgiram. Não se esqueça, os usuários não se importam com qual tecnologia a gente usa, eles querem que nosso app resolva um problema.
Obviamente, o desenvolvimento tradicional de software, com código e programando, é muito mais poderoso, e tem bem menos limitações e uma performance melhor; mas, na maioria dos casos, é bem mais importante soltar o seu aplicativo o quanto antes para testar sua ideia no mundo real e colher feedbacks de usuários reais, no menor tempo possível e com o menor custo de desenvolvimento.
Isso é uma lean startup (startup enxuta).
Então, o No-Code abre inúmeras oportunidades para as pessoas que não têm conhecimento de programação, pois atualmente quase qualquer um consegue usar essa tecnologia para construir seu aplicativo e testar sua ideia no mundo real, com apps reais - não só questionários, wireframes, ou designs animados - sem ter que aprender a programar.
Agora, para clarificar, isso não significa que o No-Code é a solução de tudo, mas te permite alçar voos bem longos. E é assim que uma pessoa que não é técnica pode construir um app.
O que você achou deste artigo? Quer saber mais? Acompanhe os perfis da Round Pegs no Instagram, YouTube e Twitter.