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 que foram adotadas.

O seguinte 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 Preenchimento, Altura, Tamanho e assim por diante. O YAML usa o recuo para determinar a estrutura. São usados espaços para recuo, mas não são permitidas guias.

Três aspectos exclusivos de como as fórmulas do Power Fx são inseridas no YAML:

  • Os controles são digitados com a palavra-chave As. 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, ela é interpretada pelo YAML como o início de um comentário; portanto, o restante da linha é truncado. Para evitar essa ocorrência, expresse a fórmula usando a sintaxe de várias linhas do YAML; é mais comum usar a sintaxe |.

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

Estrutura de pastas

Quando você descompactar um aplicativo de tela, um conjunto de arquivos e pastas será criado. 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 usadas pelo aplicativo.

  • \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

Nos arquivos que terminam em *.fx.yaml, você pode editar fórmulas. 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 que é 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 a edição de telas diferentes por duas pessoas é um cenário que tem menos probabilidade de ocorrer.

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, pois foi baixada.

Nesse cenário, para evitar substituir e perder o trabalho que foi feito online, você deve baixar o aplicativo da nuvem novamente, descompactá-lo, confirmar as alterações do arquivo, resolver conflitos e, em seguida, empacotar novamente e carregar o novo aplicativo. Verifique se o controle de código-fonte contém a cópia principal do aplicativo.

Ocorrerão conflitos porque várias pessoas estão editando simultaneamente. 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.