Como desenvolvemos um software de gestão de comércio para celulares do mundo todo

Compartilhar

Por Fabrício Rocha, Head de Tecnologia e sócio da startup de vendas e gestão Kyte

Conversar com amigos, solicitar um transporte, pedir comida, ouvir músicas, assistir filmes, fazer terapia, aprender um novo idioma. Hoje, temos a possibilidade de realizar uma infinidade de atividades na palma das mãos através de aplicativos de celulares. Estamos tão acostumados com essas facilidades que, na maioria das vezes, nem pensamos no processo que nos permitiu chegar até aqui.

Há poucos anos, o desenvolvimento mobile nem existia – na prática, estamos falando de uma tecnologia que chegou com o Iphone, em meados de 2007, quando os celulares começaram a ter mais funcionalidades além da ligação e do armazenamento de contatos. 

O trabalho de um desenvolvedor de aplicativos mobile é desafiador: precisamos entender nosso usuário, buscar recursos a serem priorizados, trabalhar em equipe com a área de UX Design, nos dedicar ao desenvolvimento propriamente dito, considerar questões de escalabilidade e performance, realizar testes, ajustar bugs, monitorar o app e fazer manutenções evolutivas.

Tantas novidades e adversidades exigem, acima de tudo, uma equipe de alta performance e extremamente disposta ao aprendizado. Essa é uma realidade em constante evolução, e os desenvolvedores precisam estar preparados para acompanhá-la, crescendo técnica e profissionalmente. Além disso, a disposição para superar desafios é uma exigência para aqueles que querem se destacar no dia a dia de trabalho.

Infelizmente, hoje temos um déficit muito grande de profissionais qualificados de TI, mas as oportunidades estão aí. O mercado de apps cresce cada vez mais, movimentando trilhões de dólares no mundo todo – e ainda há muitas coisas interessantes para serem desenvolvidas!

Além de ser uma carreira com grandes possibilidades de crescimento nessa nova realidade digital, as chances de realização profissional também são enormes, já que você terá a oportunidade de criar uma ferramenta utilizada por pessoas de todo o mundo.

Posso afirmar que, para mim, foi assim.

Tecnologias em evolução

A contemporaneidade dos fatos torna os obstáculos nesse campo enormes. Ainda há muito a evoluir, a aprender e a solucionar. E a situação fica ainda mais desafiadora se falarmos de desenvolvimento híbrido, que é aquele que possibilita a utilização do mesmo código para criação de aplicativos para os sistemas IOS e Android.

O framework React Native, que é uma espécie de template para o desenvolvimento híbrido, por exemplo, foi criado em 2015 e ainda está na versão 0.63x. O Flutter, que também está crescendo no mercado, só foi lançado em 2017. 

De qualquer maneira, essa escolha dos frameworks é uma etapa crucial para o sucesso de qualquer projeto mobile. Principalmente para uma startup de crescimento rápido, que precisa validar seu produto de forma ágil e que provavelmente conta com uma equipe enxuta, como foi o caso da Kyte.

Aqui, escolhemos o React Native para o desenvolvimento mobile front-end, e o Node.js para o back-end. Além de pensar em uma tecnologia que permitisse a entrega para os dois sistemas operacionais (IOS e Android) de forma simultânea, pela inviabilidade de ter duas frentes diferentes de desenvolvimento, também levamos em consideração o background da equipe. Os dois frameworks utilizam a linguagem de programação JavaScript, que está consolidada e é bem conhecida pelos nossos desenvolvedores.

Software de gestão: do desktop para o smartphone

Falando especificamente de softwares de gestão, o que tínhamos até poucos anos atrás era uma realidade voltada para o computador, com conexão via intranet. Cada lojista tinha o seu próprio servidor com o sistema da loja, sendo bem improvável que o software sofresse com lentidão ou falta de conexão.

Com um aplicativo móvel, o cenário é completamente diferente. Temos milhares de lojistas compartilhando uma mesma infraestrutura, gerando e transacionando milhões de dados diariamente, que trafegam pelo mesmo servidor.

Isso exige uma preparação muito grande por parte dos desenvolvedores para que não haja problemas para o usuário. Na Kyte, por exemplo, tivemos esse ponto como uma prioridade desde o início, considerando que queríamos garantir um sistema escalável. Para isso, apostamos na combinação de várias tecnologias que asseguram a entrega e distribuição de todos os dados transacionados. 

No smartphone, evitar problemas deixa de ser uma questão de pura qualidade e passa a ser uma necessidade. O usuário está cada vez mais exigente, até pela facilidade de mudança. Pense comigo: todos os apps estão disponíveis na mesma loja, podem ser testados e avaliados de um minuto para o outro. A concorrência é enorme e a substituição é uma realidade palpável – muito diferente do que acontecia com um software de gestão no desktop, que demandaria toda uma atenção antes de ser trocado.

Desenvolver um aplicativo sem erros, sem lentidão, sem problemas de conexão e fácil de utilizar é um desafio, mas também uma exigência.

Os desafios da internacionalização e da conexão offline

Outro ponto que traz seus desafios para o desenvolvimento mobile é a internacionalização. 

O fato de disponibilizar o app para outros países, em si, é até relativamente simples. Com algumas ferramentas e padrões de projetos, conseguimos avançar nessa frente, e desde o início lançamos o app da Kyte em vários idiomas, alcançando hoje 143 países.

Mas existem aspectos que precisam ser levados em consideração, como a preocupação com a demanda, que se torna ainda maior. Obstáculos de escalabilidade e performance acabam acontecendo mais cedo e exigindo um cuidado especial. Além disso, a adaptação de recursos pode  ser um problema, dependendo do que está ou não disponível em cada país que utiliza o app, o que exige alternativas bem pensadas.

Aqui na Kyte, ainda abraçamos o desafio de ser Offline First. Uma de nossas grandes preocupações é que todos os lojistas, independentemente de onde estejam, possam realizar sua venda mesmo sem internet. 

Grandes players do mercado ainda não possuem esta funcionalidade, mas sabemos que na prática as redes móveis não têm o mesmo nível de qualidade do que um desktop e isso é essencial para que o app do celular efetivamente substitua o software de gestão. 

Faça parte desta missão

Neste momento inusitado e desafiador que vivemos com a pandemia, a maioria dos pequenos lojistas se viu perdido e acabou sendo forçado a se reinventar. Muitos desempregados foram “obrigados” a abrir o seu próprio negócio, mesmo sem experiência nenhuma no assunto. Saber que nosso time, que nosso aplicativo, ajuda estas pessoas nesse momento, reforça a percepção de que estamos cumprindo nosso objetivo.

Quer fazer parte dessa missão? Estamos com vagas abertas! Saiba mais aqui.