Desenvolvimento imperativo versus declarativo

Concluído

Após a conclusão dos roteiros de aprendizagem recomendados anteriores, você deverá ter uma base sólida do Power Apps. Neste roteiro de aprendizagem, você aprenderá alguns dos conceitos mais avançados aos quais o Power Apps dá suporte.

Este módulo inclui alguns conceitos que podem parecer muito voltados para desenvolvedores, mas não se preocupe. A meta é ajudar você a entender e aplicar alguns desses conceitos para criar aplicativos melhores.

Imperativo versus declarativo

Há duas maneiras principais de desenvolver aplicativos, de forma imperativa e declarativa. No desenvolvimento imperativo, o foco está em como atingir a meta. Com o declarativo, o foco está em como obter o resultado. O imperativo fornece mais flexibilidade, pois você controla cada etapa do processo, mas isso significa mais código e mais complexidade. O declarativo é muito mais simples e fácil de usar, mas não permite ter o controle completo desejado.

Imperativo

Para entender melhor a programação imperativa, pense no sanduíche que quer comer no almoço. Na programação imperativa, você se concentra na criação do sanduíche no seu "código". Vai à cozinha, pega os ingredientes, monta o sanduíche e, em seguida, envia-o para o usuário. Você gasta muito tempo nas etapas, mas tem todas as funções específicas desejadas para que fique exatamente como deseja. Sem tomate? Sem problema. Em uma linguagem de programação completamente criada, o código pode ser semelhante ao mostrado a seguir.

Função Criar sanduíche

{ Vá para a cozinha;

Obtenha ingredientes;

Remova o tomate;

Monte o sanduíche;}

Função Enviar sanduíche

{ Destino boca;}

Como você pode ver, há muitas etapas no processo, mas você obtém um sanduíche exatamente como deseja. Essa é a abordagem que você verá em linguagens como C# ou outras linguagens de codificação populares. O foco está em empurrar os dados.

Declarativo

Para a programação declarativa, considere o mesmo cenário, o sanduíche para o almoço. A diferença é que agora você está concentrado na produção do sanduíche, não em como fazer um sanduíche. Isso é muito menos complexo, mas você também pode ter o problema com os tomates. Se a função usada para obter o sanduíche não der suporte à opção "sem tomate", você estará sem sorte. Seu código poderá ser tão simples quanto o mostrado a seguir.

ObterSanduíche(Cozinha, Boca)

Essa função criada usa duas entradas: onde obter o sanduíche e para onde enviá-lo. Não havia nenhuma opção para remover os tomates. Caberá ao criador da função ObterSanduíche adicionar uma opção "sem tomate", que poderá se parecer com isso.

GetSandwich(Kitchen, Mouth, {Tomato: false})

Ferramentas que usam pouco código, como o Excel, seguem essa abordagem de desenvolvimento. O foco está em puxar os dados.

O Power Apps dá suporte às metodologias imperativa e declarativa

O Power Apps tem funcionalidades para a lógica imperativa e declarativa. Durante todo esse treinamento, houve um foco nas fórmulas declarativas. No restante do módulo, o foco estará nas metodologias e nos conceitos imperativos no Power Apps. O principal componente da lógica imperativa no Power Apps são as variáveis.

A próxima unidade abordará os diferentes tipos de variáveis e como usá-las em um modo imperativo.