Por Rodrigo Coutinho (*)

Desde 2001 que o objetivo da OutSystems é tornar o mais rápido possível o processo de passar de uma ideia de negócio para uma aplicação em produção que todos possam usar. E a maneira como conseguimos fazê-lo é automatizando o desenvolvimento de software, através daquilo que a indústria designa por low-code.

Em termos práticos, o que fazemos é esconder as complexidades diárias do desenvolvimento de software, tornando-o o mais rápido e simples possível para disponibilizar aplicações de referência. Desta forma os programadores podem concentrar a sua energia na resolução dos problemas mais desafiantes do negócio, em vez de terem que passar horas a lutar contra as peculiaridades da tecnologia necessárias para disponibilizar uma aplicação em produção.

Por exemplo, o que criámos tem a capacidade de tratar tudo o que está relacionado com a geração e a atualização das bases de dados, para que quem faz o desenvolvimento não necessite de se preocupar com os detalhes dos Sistemas de Gestão de Base de Dados Relacionais (RDBMS). Mesmo quando uma aplicação já estiver em produção será sempre possível alterar a base de dados, sem qualquer problema, cabendo à OutSystems a atualização do modelo. Algo que tradicionalmente é bastante trabalhoso.

Outro exemplo é a criação de aplicações para dispositivos móveis. Neste contexto ocultamos todos os detalhes de criação, geração e assinatura de uma aplicação móvel, para que não seja necessário passar por todos estes processos. Basta carregar  num botão, e esperar  dois ou três minutos para ter uma app móvel pronta para iOS e Android.

Todos estes automatismos são um enorme desafio de engenharia e enquadram-se na chamada lei da conservação da complexidade: a complexidade não desaparece, sendo apenas escondida e trabalhada pelos nossos profissionais, para que quem implementa e desenvolve para o cliente não tenha que lidar com ela.

Eis alguns dos desafios que enfrentamos diariamente para tornar o nosso produto o mais simples possível:

  • Design da linguagem: a linguagem OutSystems é um dos pilares do nosso produto e é um desafio em si. Certificarmo-nos de que é tão simples quanto poderosa o que exige muita pesquisa e criatividade. Inclusivamente publicamos estudos em colaboração com universidades relacionados com este tópico.
  • Algoritmos: todo o código que criamos será executado em muitos clientes e, por isso mesmo, prestamos muita atenção à qualidade e velocidade de tudo o que disponibilizamos. Mesmo que isso signifique otimizar sobre componentes React ou qualquer outra parte do código.
  • UI / UX: quando os nossos programadores criam aplicações OutSystems pretendemos que sejam o mais utilizáveis e bonitas possível, mesmo que quem as cria não possua elevadas capacidades ao nível do design.
  • IA: Acreditamos firmemente que a inteligência artificial será uma ótima ferramenta para que os programadores possam acelerar a criação de aplicações incríveis. Temos uma iniciativa inteira dedicada a investigar este futuro.

Estes desafios são apenas a ponta do iceberg. Existem outros nos quais trabalhamos diariamente e que tornam o trabalho na OutSystems ainda mais estimulante, sobretudo na criação de novas soluções low-code para necessidades cada vez mais complexas e exigentes.

A missão do low-code é assim aplicar a máxima “mais é menos” numa direção que parece inevitável no universo das TI: esconder a complexidade do desenvolvimento sob uma plataforma de desenvolvimento simples e rápida em que o futuro está sempre contemplado, independentemente da complexidade dos projetos.

(*) Co-Fundador e Strategic Product Manager da OutSystems.