Desenvolvimento imperativo versus declarativo
Este módulo inclui alguns conceitos que podem parecer muito focados no desenvolvedor, mas não se preocupem. A meta é ajudar você a entender e aplicar alguns desses conceitos para criar aplicativos melhores.
Imperativo versus declarativo
Há duas maneiras principais de abordar o desenvolvimento:
O desenvolvimento imperativo se concentra em como alcançar uma meta. O desenvolvimento declarativo concentra-se no resultado desejado.
O desenvolvimento imperativo oferece mais controle porque você define cada etapa do processo. Essa flexibilidade geralmente vem com mais complexidade. O desenvolvimento declarativo é mais simples e fácil de ler, mas pode limitar o controle que você tem sobre a execução.
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 em seu "código". Você vai para a cozinha, pegue os ingredientes, coloque o sanduíche junto e, em seguida, envie-o para o usuário. Você gasta um tempo muito grande 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 composta, seu código pode ter esta aparência.
Função Criar sanduíche
{ Vá para a cozinha;
Obtenha ingredientes;
Remova o tomate;
Montar sanduíche;}
Função Enviar sanduíche
{ Destination Mouth;}
Como você pode ver, há muitas etapas no processo, mas você obtém um sanduíche exatamente como deseja. Essa é a abordagem que você vê 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á focado em produzir o 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 que você usa para obter o sanduíche não dá suporte à opção de nenhum tomate, você está sem sorte. Seu código poderá ser tão simples quanto o mostrado a seguir.
GetSandwich(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 GetSandwich adicionar uma opção no Tomato, que poderá se parecer com isso.
GetSandwich(Cozinha, Boca, {Tomate: 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 a metodologias imperativas e declarativas
O Power Apps tem recursos para lógica imperativa e declarativa. Ao longo deste treinamento, houve um foco em fórmulas declarativas. No restante deste módulo, o foco está em conceitos e metodologias imperativas no Power Apps. O componente chave da lógica imperativa no Power Apps são variáveis.
A próxima unidade aborda os diferentes tipos de variáveis e como usá-las em um modo imperativo.