We build your imagination

No Code vs. Low Code vs. High Code

No Code, Low Code e High Code são termos que se referem ao nível de complexidade e personalização possível num ambiente ou plataforma de desenvolvimento. Podem ser usados em conjunto?
 

No Code, Low Code e High Code são termos que se referem ao nível de complexidade e personalização possível num ambiente ou plataforma de desenvolvimento.

No Code

No Code refere-se a plataformas que permitem aos utilizadores criar aplicações de software sem escrever nenhum código. Essas plataformas geralmente têm modelos pré-construídos, interfaces drag-and-drop e outros recursos que facilitam a criação de software por utilizadores não técnicos. As plataformas No Code são frequentemente utilizadas para construir aplicações simples de forma rápida e fácil, sem a necessidade de conhecimentos de programação. É frequente, e até recomendado para criar protótipos que permitem validar ideias de negócio ou capturar a validação dos utilizadores perante uma funcionalidade.

Lista de algumas plataformas de No Code:

  1. Bubble (https://bubble.io/)
  2. Webflow (https://webflow.com/)
  3. Airtable (https://airtable.com/)
  4. Zapier (https://zapier.com/)
  5. Adalo (https://adalo.com/)
  6. Retool (https://www.retool.com/)
  7. AppSheet (https://www.appsheet.com/)
  8. Microsoft Power Apps (https://powerapps.microsoft.com/)
  9. Google App Maker (https://gsuite.google.com/products/app-maker/)
  10. Quick Base (https://www.quickbase.com/)

Low Code

Low code refere-se a plataformas que permitem aos usuários criar aplicativos de software com algum nível de personalização, mas sem a necessidade de escrever muito código. Essas plataformas geralmente têm uma interface gráfica do usuário (GUI) que permite aos utilizadores arrastar e soltar elementos para criar uma aplicação e também pode fornecer alguns recursos limitados de criação de código. As plataformas de Low Code costumam ser usadas para construir software um pouco mais complexo do que aquelas que podem ser construídas em plataformas de No Code, e podem ser uma boa escolha para utilizadores com algum conhecimento de programação e que precisam de desenvolver um protótipo interno ou validar uma idea ou uma funcionalidade.

Lista de algumas plataformas de Low Code:

  1. Mendix (https://www.mendix.com/)
  2. OutSystems (https://www.outsystems.com/)
  3. Appian (https://www.appian.com/)
  4. Pega (https://www.pega.com/)
  5. K2 (https://www.k2.com/)
  6. Salesforce Lightning Platform (https://www.salesforce.com/products/platform/)
  7. Zoho Creator (https://www.zoho.com/creator/)
  8. QuickBase (https://www.quickbase.com/)
  9. Microsoft Power Apps (https://powerapps.microsoft.com/)
  10. Google App Maker (https://gsuite.google.com/products/app-maker/)

High Code

High code refere-se a plataformas tradicionais de desenvolvimento de software que exigem que os usuários escrevam código para criarem software. Essas plataformas podem fornecer algumas ferramentas e bibliotecas para facilitar o processo de codificação, mas o utilizador é responsável por escrever o código de software a partir do zero. As plataformas de High Code são normalmente usadas para criar software mais complexo e à medida que exige um elevado nível de controle e flexibilidade. O software escrito com plataformas de High Code tem por norma melhor performance e funciona exatamente da forma que o programador quer, seja em termos de funcionamento ou interface visual. Para projectos com grande utilização e cuja utilização será feita a longo prazo, é recomendado que se utilizem ferramentas High Code.

Lista de algumas linguagens de programação que pode usar em soluções High Code:

  1. Python (https://www.python.org/)
  2. Java (https://www.java.com/)
  3. C++ (https://isocpp.org/)
  4. C# (https://docs.microsoft.com/en-us/dotnet/csharp/)
  5. JavaScript (https://www.javascript.com/)
  6. PHP (https://www.php.net/)
  7. Ruby (https://www.ruby-lang.org/)
  8. Swift (https://swift.org/)
  9. Kotlin (https://kotlinlang.org/)
  10. Go (https://golang.org/)

 

Escolher um ou juntar todos?

Não é justo dizer qual tipo de plataforma é “melhor”, pois realmente depende das necessidades e objetivos específicos de cada projeto e situação. As plataformas No Code e Low Code podem ser uma boa escolha para construir rapidamente aplicações simples ou moderadamente complexas sem a necessidade de muito conhecimento de programação, enquanto as plataformas High Code podem ser mais adequadas para aplicações mais complexas e à medida, que requerem um alto nível de controle e flexibilidade.

É possível haver a possibilidade de termos soluções de software que integrem plataformas de High Code a outras de Low Code ou mesmo No Code. Na verdade, essa é uma abordagem comum em desenvolvimento de software, pois permite que os programadores aproveitem os pontos fortes de cada tipo de plataforma para cumprir prazos e orçamentos, sem perder a capacidade de oferecer uma solução à medida nas áreas em que o software acrescenta valor.

Por exemplo, uma equipa de desenvolvimento pode usar uma plataforma de Low Code para construir um protótipo, ou construir rapidamente certas partes de uma aplicação e, em seguida, usar uma plataforma de alto código para implementar recursos mais personalizados ou complexos.

Também é possível que um único software seja criado usando componentes de código alto e código baixo. Por exemplo, um aplicativo pode ter uma interface de front-end em Low Code que é usada para apresentar informações ao utilizador e um back-end em High Code que lida com tarefas e processamento de dados mais complexos.

No geral, o uso de plataformas de High Code e Low Code pode ser um conceito poderoso no processo de desenvolvimento de software e pode ajudar as equipas a criar aplicações ricos em recursos e de alta qualidade com mais eficiência.

Desenvolvimento de software à medida em 2023 – ainda é relevante?

Espero ajudar a esclarecer o que é desenvolvimento à medida e que impacto uma solução personalizada pode ter num negócio. Vou explicar o que são ferramentas “No Code”, “Low Code” e “High Code”, e qual o papel de empresas como a Evidensys nos projectos de desenvolvimento de software à medida.
 

Espero ajudar a esclarecer o que é desenvolvimento à medida e que impacto uma solução personalizada pode ter num negócio. Vou explicar o que são ferramentas “No Code”, “Low Code” e “High Code”, e qual o papel de empresas como a Evidensys nos projectos de desenvolvimento de software à medida.

O que é o desenvolvimento de software à medida?

O nome diz muito, mas não diz tudo. Diz que alguém vai desenvolver software à medida de outro alguém, ou de uma entidade. Mas se procurarmos uma definição mais detalhada já vamos encontrar mais elementos.

A definição que o ChatGPT da Open AI nos dá é a seguinte:

Desenvolvimento de software à medida refere-se à criação de aplicações de software para um utilizador específico ou grupo de utilizadores dentro de uma organização. Envolve o projeto, desenvolvimento, teste, implantação e manutenção de software adaptado às necessidades e requisitos específicos do usuário.

O software à medida é normalmente desenvolvido para atender a uma necessidade específica de negócio ou a uma necessidade que não pode ser atendida por um software comercial. Também é usado para integrar sistemas e processos existentes de uma organização e pode ser usado para automatizar tarefas de negócios, melhorar a eficiência e a produtividade, e fornecer uma vantagem competitiva.

O desenvolvimento de software à medida geralmente envolve uma equipe de programadores que trabalham em estreita colaboração com os utilizadores finais para entender suas necessidades e requisitos, e para desenhar e construir uma solução que atenda a essas necessidades. O processo de desenvolvimento geralmente inclui as seguintes etapas:

  1. Identificar as necessidades ou problemas de negócios que o software deve colmatar
  2. Levantamento de requisitos e definição do âmbito do projeto
  3. Projetar a arquitetura do software e a interface com o utilizador
  4. Desenvolver o software usando uma linguagem de programação ou plataforma de desenvolvimento de software (High Code)
  5. Testar o software para garantir que ele corresponde às especificações necessárias e funciona corretamente
  6. Implementação do software para colocar em produção
  7. Fornecer manutenção e suporte contínuos para garantir que o software permaneça atualizado e eficaz

Melhor definição que esta, só se fosse um humano a escrever! E ainda por cima é totalmente isenta!

Se reparar na definição acima, só o passo 6 fala da implementação do software propriamente dita. Os restantes passos vão do levantamento das necessidades de negócio e desenho da solução, à manutenção e suporte.

Independentemente de ter um software desenvolvido à medida do seu negócio totalmente escrito com uma linguagem de código ou com uma ferramenta sem código, os seguintes aspectos devem estar sempre salvaguardados:

  1. O software deve solucionar os problemas de negócio a que se propõe;
  2. Deve-o fazer de forma intuitiva e elegante;
  3. Deve estar assente na plataforma que mais sentido fizer (mobile, web, etc.) para resolver os problemas de negócio;
  4. Deve ser seguro e tratar os dados de forma clara e transparente;
  5. Deve ser de fácil manutenção;

Plataformas de software

Ao embarcar num projecto de desenvolvimento de software à medida, deve garantir que os cinco passos acima são cumpridos sob pena de mais tarde se arrepender porque o software não corresponde às suas necessidades, os utilizadores o não sabem usar, não se consegue actualizar, etc.

Software Nativo: Nos anos 80 e 90 o software desenvolvido à medida era essencialmente para correr em computadores pessoais, e com grande probabilidade, no sistema operativo Microsoft Windows.

Software Web: Com a rápida adopção da Internet nos inícios de 2000 os sites e as aplicações Web foram tornando-se cada vez mais comuns e, quer pela facilidade com que os utilizadores acediam, quer pela facilidade com que podíamos fazer actualizações, tornaram-se a forma mais comum de entregar software às empresas.

Software Mobile (Apps): Já no final dos anos 2000, mais precisamente em 2008, a Apple lançou a App Store e, como se diz há uma App para isso (do slogan There’s an App for that)! Se não houver uma App para isso, o desenvolvimento de software à medida encarregar-se-á que passa aa haver.

Software transacional ou APIs: Durante estes períodos, sempre existiu um outro tipo de software que, por ser invisível ao olho humano, nunca teve tanta atenção do público, mas sempre foi fundamental para as empresas: as rotinas ou processos. Este software é como a cola que junta as várias peças – fundamental, mas invisível. Esta cola é hoje uma parte cada vez mais fundamental para juntar todos os sistemas, sob a forma de APIs.

IoT / IA: Estamos agora a entrar na era da IoT, ou Internet of Things, onde será frequente desenvolver software à medida para o seu carro, ou para um robot. A entrada da Inteligência artificial (IA) veio também acelerar esta adopção, tornando mais fácil criar software à medida com recurso à mesma. Deixarei no entanto estes dois temas para aprofundar noutra altura.

A escolha da plataforma sob a qual o software a desenvolver para o seu negócio é um passo importante. Sendo que, na maior parte dos casos, um projecto de software desenvolvimento à medida implicará o desenvolvimento de software para mais do que apenas uma plataforma.

Software comercial vs. software desenvolvido à medida

Quando compramos software comercial ou subscrevemos um serviço online, temos uma sensação de retorno imediato, que nem sempre é real. Embora, em verdade, existam centenas de soluções de software imediatamente disponíveis para as nossas empresas, temos de ter conta os seguintes pontos:

  1. Tem capacidade e tempo para percorrer os 7 passos indicados acima?
  2. Vou precisar de alguma personalização?
  3. Quem vai fazer essa personalização?
  4. Como são tratados os dados dos utilizadores e onde são guardados?
  5. Que tipo de suporte está incluído no plano escolhido?
  6. Como é feita a exportação dos dados para outra plataforma?
  7. Quais as garantias para as alterações de preços ao longo do tempo?

Pelo contrário, qualquer projecto de desenvolvimento de software à medida inclui as resposta a estes pontos. Senão vejamos:

  • O levantamento dos requisitos e problemas de negócio são parte fundamental do desenvolvimento de software à medida, bem com a personalização do mesmo, tal como o nome indica;
  • O tratamento dos dados dos utilizadores deve estar claramente indicado na arquitectura da solução a implementar e os mesmos podem estar guardados nos servidores do Cliente;
  • Qualquer solução de software à medida deve incluir um plano de manutenção e suporte, de modo a que a solução implementada se mantenha actualizada e segura;
  • Numa solução de software à medida, os dados são sempre da entidade que compra a solução, podendo gerir os mesmos conforme pretender;
  • O software desenvolvido à medida é normalmente propriedade da entidade que o adquire pelo não existe uma mensalidade a pagar por cada utilizador.

De forma geral, qualquer projecto de desenvolvimento de software à medida será mais adaptado às necessidades da sua empresa, resultando em maior produtividade, melhor e mais rápida adopção interna, e um serviço de suporte mais dedicado.

Outro aspecto a ter em consideração é a segurança. Embora os softwares comerciais não sejam mais inseguros, são mais apetecíveis a ataques de hackers pois a sua arquitectura é conhecida e a “recompensa” pelo ataque é maior, já que são usados por milhares de empresas como a sua.

Claro que muitas vezes compensa comprar software comercial. Não faria sentido a criação de um processador de texto ou de uma folha de cálculo à medida de uma empresa quando temos o Word e o Excel. Mas mesmo quando o software comercial faz mais sentido, qualquer empresa deve ter em conta os sete pontos que o ChatGPT nos deu, pois embora não se trate de software à medida, será usado numa empresa por vários utilizadores e tratará informação privada, confidencial, contribuirá para melhorar (ou não) a produtividade da empresa, etc.

Como pode a Inteligência Artificial ajudar os pequenos negócios

A inteligência artificial pode ajudar as pequenas empresas a economizar tempo e melhorar a eficiência automatizando uma série de tarefas.
 

Se achava que a inteligência artificial (IA) estava a chegar apenas com benefícios para as grande organizações, está enganado! A IA pode ajudar as pequenas empresas a economizar tempo e melhorar a eficiência automatizando uma série de tarefas. Ele também pode ajudar as empresas a tomar decisões mais bem informadas, fornecendo insights e análises com base em grandes quantidades de dados.

Como pode a IA adjudar?

Há muitas maneiras pelas quais a inteligência artificial (IA) pode ajudar as pequenas empresas, incluindo:

  • Atendimento ao cliente: os chatbots de IA podem lidar com as consultas dos clientes e fornecer informações básicas, liberando tempo para os representantes humanos de atendimento ao cliente lidarem com tarefas mais complexas.
  • Marketing: a IA pode ajudar as pequenas empresas a direcionar seus esforços de marketing com mais eficiência, analisando os dados do cliente e identificando padrões.
  • Gerenciamento financeiro: a IA pode ajudar em tarefas como faturamento, rastreamento de despesas e previsão.
  • Gerenciamento da cadeia de suprimentos: a IA pode otimizar os níveis de estoque e identificar ineficiências na cadeia de suprimentos.
  • Recursos humanos: a IA pode ajudar em tarefas como triagem de currículos e agendamento de entrevistas.

Produtividade dos colaboradores

A inteligência artificial (IA) pode potencialmente melhorar a produtividade dos seus colaboradores, especialmente em tarefas de conhecimento, automatizando certas tarefas e fornecendo insights e análises que podem ajudá-los a tomar decisões mais bem informadas. Por exemplo, a IA pode auxiliar em tarefas como entrada de dados, análise de dados e geração de relatórios, liberando tempo para que os colaboradores se concentrem em tarefas mais complexas e de maior valor.

A IA também pode ajudar esses a acessar e processar informações com mais eficiência. Por exemplo, as tecnologias de processamento de linguagem natural (NLP) podem permitir que os colaboradores façam perguntas sobre grandes conjuntos de dados e obtenham respostas em tempo real, ajudando-os a tomar decisões mais informadas.

Além disso, a IA pode ajudar a que a sua equipa se mantenha atualizada com os desenvolvimentos mais recentes em seu campo, fornecendo recomendações personalizadas para artigos, documentos e outros recursos com base nos seus interesses e necessidades.

No geral, a IA tem o potencial de melhorar a produtividade dos colaboradores, automatizando tarefas rotineiras e ligando as ferramentas e os insights de que precisam para trabalhar com mais eficiência.

Sites de IA

Vamos falar?

A Evidensys cria Web e Mobile Apps que tornam a sua imaginação uma realidade. Tem uma ideia para melhorar um processo ou para chegar a Clientes de uma forma mais eficiente? Fale connosco.