Programação

Na velocidade em que aumentam as demandas por processos inteligentes, fica cada vez mais fácil encontrar um software que resolva desde os problemas mais complexos ou as automações mais simples. Mas apesar disso, dois fatores costumam pesar muito na decisão de investir em um novo sistema: tempo e custo. Para contornar essas questões, as ferramentas No Code e Low Code têm se tornado cada vez mais populares, pois acabam exigindo um tempo bem menor de entrega e um custo inferior, quando comparadas ao desenvolvimento de software tradicional.

Na grande maioria, essas plataformas permitem que uma aplicação inteira seja desenvolvida utilizando nenhum ou muito pouco conhecimento de programação. Os fluxos de interações lógicas são geralmente constituídos em formatos mais visuais e intuitivos, que podem fazer uso de outras representações com padrões conhecidos como modelos UML (Unified Modeling Language) e BPMN (Business Process Model and Notation), ou até um simples fluxo de etapas sequenciais que compreendem todas as ações envolvidas em determinado evento.

Em outras palavras, e de maneira simplificada, é como fazer uso de uma ferramenta onde você pode traduzir os requisitos do sistema através de elementos prontos, sem se preocupar muito com o algoritmo que está por trás de tudo isso.

No mundo da programação essa é uma prática familiar ao utilizar bibliotecas e frameworks das linguagens de programação tradicionais, mas o No Code e Low Code levam o conceito de linguagem de alto nível a outro patamar, sendo considerados muito mais fáceis de aprender, amigáveis e abstraídas.

Como No Code e Low Code funcionam

O desenvolvimento de software tradicional requer profundo conhecimento do profissional em programação, melhores práticas, paradigmas, padrões de projetos e rotinas de testes. Geralmente demanda uma equipe inteira na sua implementação e a estrutura dos dados e funções compreendidas nos requisitos são construídas por meio de linhas de código, além de envolver a equipe de infraestrutura para configurar e manter os ambientes do serviço.

As plataformas No Code e Low Code encapsulam esse trabalho e oferecem em seu lugar componentes reutilizáveis que assumem o papel dos elementos e funções. Assim, como adiantado no início do texto, os fluxos de ações são definidos por etapas visuais, geralmente em uma sequência lógica, que podem ser executadas ou não, de acordo com as condições desejadas.

Trata-se de muito mais do que a criação visual, porque são eventos que podem receber, tratar e devolver informações, acionar outros serviços e retornar uma resposta, baseada no resultado do processo.

A imagem abaixo representa alguns eventos que são executados em uma página de gerenciamento de projetos, em um site construído com Bubble e é possível visualizar os detalhes do Evento "Quando 'Save' é pressionado". Mesmo que o leitor não entenda nada de programação, consegue ter uma ideia dos passos que são descritos em sequência:

  • Step 1: esconder o Popup 'Edit',
  • Step 2: fazer alterações no Projeto;
  • Step 3: mostrar mensagem no Alerta 'As alterações foram salvas com sucesso'.

Desafios ao trabalhar com No Code e Low Code

Antes de continuar apontando somente os pontos positivos, alguns fatores tornam a decisão de optar por tal tecnologia um pouco difícil. Para começar, pode-se dizer que não existem muitos especialistas nessas ferramentas e, mesmo que ela seja perfeitamente ideal aos objetivos desejados, muito provavelmente a equipe responsável precisaria de algum tempo para entender isso e mais outros tantos para aprender como ela funciona, ou talvez considerar contratar uma equipe externa, geralmente pertencente à própria empresa que a desenvolveu.

Os fornecedores dessas tecnologias recomendam cautela ao trabalhar com uma grande quantidade de dados em uma mesma página e alguns defendem que eles respondem melhor para projetos de baixa e média complexidade.

Por ainda não ser uma metodologia consolidada no ramo do desenvolvimento e devido ao fato de que, quando comparadas entre si, cada ferramenta possui uma estrutura diferente e independente, existe uma certa carência em estudos aprofundados sobre as melhores práticas, padrões de segurança e arquitetura de software, que estão presentes na programação em linhas de código e, geralmente, independentes de linguagens de programação.

Por outro lado, existem garantias oferecidas pelos provedores dos serviços de que essas práticas são garantidas nos bastidores, mas isso pode deixar alguns profissionais de TI mais conservadores um pouco desconfiados.

Outro ponto percebido é que quando o usuário possui algum background em programação, geralmente surge a sensação de que alguns elementos são abstraídos até demais, dificultando o controle de algumas tarefas básicas, como um simples fluxo de repetição.

Também podem existir algumas dores ao tentar aplicar reuso de código (ou nesse caso, elementos), refatoração do sistema ou aplicação de muitas mudanças estruturais, uma vez que uma primeira versão já foi iniciada. Mas então, em que momento o No Code e Low Code podem ser considerados como uma boa escolha?

Quando usar No Code e Low Code

A grande sacada desse novo método de construir softwares, e talvez um dos motivos de seu notável crescimento nos últimos tempos, é proporcionar que pessoas de outras áreas, especialmente de negócios, sejam capazes de estreitar a distância entre o solicitante do sistema e a equipe de desenvolvimento a ponto que os próprios clientes assumam o papel de desenvolvedor. As aplicações mais comuns são dashboards, e-commerces e aplicativos de uso interno da empresa, que atendem a tarefas específicas.

É seguro dizer que alguém com conhecimentos mais técnicos em programação e estrutura de dados acaba tendo mais facilidade para compreender o funcionamento geral dos elementos nessas ferramentas, mas em muitos casos o objetivo é somente submeter um MVP (Minimum Viable Product) para análise de mercado, ou obter aprovação da ideia através de um protótipo funcional junto aos clientes ou stakeholders, que são os principais interessados.

O fato de poder aproveitar outros modelos populares dessas outras áreas, como o BPMN, também diminui consideravelmente a necessidade de envolver o time de desenvolvimento, o que, na maioria das vezes, implica em maior economia de tempo e dinheiro.

A área de gestão é outra que pode se beneficiar. Pessoas com domínio do produto, como Product Managers e Product Owners, têm mais liberdade para explorar suas ideias de soluções antes de comprometer a equipe inteira no projeto.

Outro ponto importante é que grande parte das ferramentas atuais permite a inclusão de pequenos trechos de código das linguagens de programação tradicionais, caso seja necessário uma maior customização do estilo ou utilização de recursos disponíveis em Javascript, por exemplo, dando a possibilidade de maior refinamento no resultado final.

Atualmente, existem plataformas de No Code e Low Code bastante robustas, já com algum tempo de mercado e uma grande quantidade de aplicações em produção, que possuem um suporte adequado e uma comunidade ativa, facilitando muito a resolução de dúvidas.

Algumas das plataformas permitem integrações com outros sistemas, através de plugins e APIs (Application Programming Interface), aumentando ainda mais o alcance e o tráfego de dados entre outros serviços e a aplicação desenvolvida. Na maioria dos casos, elas também ajudam a descomplicar todo o processo de criação e configuração de banco de dados e servidor.

Em um cenário de uma empresa de tecnologia, o No Code e Low Code é capaz de resolver dores imediatas em curto espaço de tempo e possibilitar que a equipe de desenvolvimento amadureça melhor os requisitos enquanto dispõem de uma solução intermediária. Algumas opções oferecem ainda um modo gratuito, com algumas limitações, mas que já são capazes de entregar um website completo que recebe dados do usuário, envia e-mails e alimenta outros sistemas.

Caso de sucesso na Vsoft

Na Vsoft, conseguimos aproveitar as vantagens do No Code em diversas soluções: aplicativos para resolver integrações e automações de sistemas, protótipos funcionais, e sistemas e-commerce. Construído em Bubble, a plataforma de contratação do BioPass ID permite a comercialização digital do nosso serviço de biometria e possui dois dashboards.

O primeiro é dedicado ao usuário final, que contempla todas as etapas da contratação self-service, acompanhamento do consumo, pagamentos, criação de projeto e aplicações, gestão da conta, entre outros.

Já o segundo foi pensado para o usuário administrador, com funcionalidades de gestão de assinaturas, de usuários, criação de novos planos customizados, alteração de preços, envio de ofertas personalizadas para clientes etc.

Dashboard de usuário final

A facilidade de realizar integrações via API permite que o sistema estabeleça ligação com o serviço de pagamentos, acione o envio de e-mails, comunique com o CRM (Customer Relationship Management) e crie documentos customizados em formato PDF (contrato). O visual do site foi adaptado do Figma a partir da proposta elaborada pela equipe de design da empresa. O resultado foi uma interface bonita, funcional e integrada.

Construindo softwares no futuro

Cada vez mais, as grandes empresas têm investido em softwares para construir softwares. A ideia geral é que pessoas sem conhecimento técnico possam utilizar esses programas e construir a sua própria solução de automação e digitalização, transformando e validando seus planos de negócio de forma mais prática e econômica.

Apesar de ainda existir uma compreensível resistência na comunidade de desenvolvedores a respeito do No Code e Low Code, Emmanuel Straschnov, fundador do Bubble, fez um questionamento interessante sobre o tema: "por que, nos dias modernos, esperamos que as pessoas falem como os computadores? Ao invés disso, os computadores não deveriam aprender a falar a nossa língua?" (texto original: "Why, in our modern day, are we expecting people to speak like computers? Shouldn't computers learn to speak our language instead?").

Se olharmos para trás, nos anos 80 e 90, os programas de computador necessitavam ser operados por linha de comando e somente pessoas capacitadas conseguiam realizar tarefas que hoje são executadas através de uma interface gráfica, por pessoas comuns.

À medida que a tecnologia avança, e se compararmos o desenvolvimento de softwares antigamente com o que é hoje, não é difícil imaginar um futuro onde basta dizer ao computador o que você quer resolver para rapidamente obter uma aplicação especializada que resolva o problema.

Para acompanhar outros conteúdos sobre tecnologia e desenvolvimento, conheça o blog da Vsoft.

Success! You're signed up
Oops! Something went wrong while submitting the form.
go  top