Trabalhar com o YAML

Concluído

Depois que o aplicativo é desempacotado, você pode armazenar fórmulas extraídas nos arquivos de texto usando um subconjunto de YAML. YAML é uma linguagem amigável de serialização de dados. O objetivo é simplificar o processo de ler e gravar o código-fonte e determinar as diferenças entre as versões. Além disso, você poderá editar esses arquivos usando qualquer editor de texto se seguir as convenções de fórmula do YAML do Microsoft Power fx.

Aqui está um controle de rótulo representado como YAML:

   LblAppName1 As label:
        Fill: =RGBA(58, 58, 58, 0)
        Height: =88
        Size: =27
        Text: ="Companies"
        Width: =Parent.Width - Self.X - IconSortUpDown1.Width - IconNewItem1.Width - IconRefresh1.Width
        Wrap: =false
        X: =20
        ZIndex: =2

O YAML usa pares de chave/valor para representar os dados e dá suporte ao aninhamento de pares. Por exemplo, um item como lblAppName1 pode ter pares de chave/valor recuados para Fill, Height, Size e assim por diante. O YAML usa recuo para determinar a estrutura e os espaços para recuo, mas não permite guias.

O YAML integra três aspectos únicos das fórmulas do Power fx:

  • A palavra-chave As define os tipos de controle. Você pode definir o controle de rótulo, como no exemplo anterior, usando a expressão lblAppName1 como Rótulo:. Normalmente, o YAML tem apenas um único nome à esquerda dos dois-pontos (:) quando você fornece um valor de propriedade. No entanto, nada nas especificações do YAML exclui expressões mais complexas do lado esquerdo, e a sintaxe do YAML Power Fx aproveita essa omissão para nomear a propriedade e fornecer seu tipo.

  • Todas as fórmulas começam com um sinal de igual à esquerda. De forma semelhante ao Microsoft Excel, o sinal de igual (=) introduz uma fórmula em vez de um valor estático. Não é necessário digitar o sinal de igualdade à esquerda (=) no Power Apps Studio, mas observe que ele está sempre na barra de fórmulas. Além disso, o sinal de igual (=) à esquerda ajuda a evitar a interpretação de tipo de dados normal que o YAML faz para valores estáticos, o que não é adequado para fórmulas.

  • Algumas fórmulas devem ser expressas na sintaxe de várias linhas do YAML. Se há uma fórmula que contém uma cadeia de caracteres com um # inserido, o YAML a interpreta como o início de um comentário, portanto, trunca o restante da linha. Para evitar isso, expresse a fórmula usando a sintaxe de várias linhas do YAML; é mais comum usar a sintaxe |.

Para obter mais informações, consulte a Gramática de fórmulas do YAML do Microsoft Power fx.

Estrutura de pastas

Quando você descompactar um aplicativo de tela, procure a criação de um conjunto de arquivos e pastas. Depois de executar o processo de descompactação, você encontrará as seguintes pastas e arquivos de chave:

  • \src: os arquivos de componente e controle. Esse arquivo contém as origens.

  • *.fx.yaml: as fórmulas extraídas do arquivo control.json. Nesse local, você pode editar as fórmulas.

  • CanvasManifest.json: um arquivo de manifesto que contém o que está normalmente no cabeçalho, nas propriedades e em publishInfo.

  • *.json: o arquivo control.json bruto.

  • \EditorState*.editorstate.json: informações de cache para uso pelo Power Apps Studio.

  • \DataSources: todas as fontes de dados que o aplicativo usa.

  • \Connections: instâncias de conexão salvas com esse aplicativo e usadas quando você está recarregando no Power Apps Studio.

  • \Assets: arquivos de mídia inseridos no aplicativo.

  • \pkgs: uma cópia baixada de referências externas, como modelos, arquivos de Definição de API e bibliotecas de componentes. Esses arquivos são semelhantes às referências de nuget/npm.

  • \other: todos os arquivos diversos necessários para recriar o arquivo .msapp.

  • entropy.json: elementos voláteis (como carimbos de data/hora) são extraídos para esse arquivo. Este arquivo ajuda a reduzir diffs de ruído em outros arquivos, garantindo que ainda seja possível o percurso de ida e volta. Contém outros arquivos do arquivo .msapp, como o que há em \references.

Formato de arquivo

Os arquivos que terminam em *.fx.yaml contêm fórmulas editáveis. Ao explorar os arquivos extraídos, você verá que nem todos contêm YAML; muitos estão em seu formato nativo e não devem ser editados fora do Power Apps Studio.

Mesclar alterações de origem

Um cenário habilitado pela descompactação é a capacidade de várias pessoas editarem um aplicativo e mesclarem alterações no controle de código-fonte. Nesse cenário, convém minimizar conflitos. Por exemplo, a edição de fórmulas no mesmo controle provavelmente causará um conflito, mas duas pessoas editando telas diferentes é um cenário em que há menos probabilidade de haver conflito.

Se você criar o aplicativo na nuvem, baixá-lo e depois editá-lo, observe que, quando você carregar a versão recompactada, ela substituirá todas as alterações feitas na versão na nuvem.

Para evitar substituir e perder qualquer trabalho feito online desde que você baixou o aplicativo antes, baixe o app da nuvem novamente, descompacte-o, confirme as alterações do arquivo, resolva conflitos e depois reempacote e carregue o novo aplicativo. Verifique se o controle de código-fonte contém a cópia principal do aplicativo.

Mais uma vez, podem ocorrer conflitos quando várias pessoas estão editando ao mesmo tempo. Por exemplo, se duas pessoas escolherem o mesmo nome de controle em telas diferentes, isso criará um conflito de mesclagem. Para obter mais informações, consulte a documentação da Microsoft Power Platform CLI.