Linguagem de marcação de aplicativo extensível - Extensible Application Markup Language

Extensible Application Markup Language (XAML)
Extensão de nome de arquivo
.xaml
Tipo de mídia da Internet
aplicativo / xaml + xml
Desenvolvido por Microsoft
lançamento inicial Junho de 2008 ( 2008-06 )
Último lançamento
v2009
(16 de abril de 2010 ; 11 anos atrás ) ( 16-04-2010 )
Tipo de formato Linguagem de marcação da interface do usuário
Estendido de XML

Extensible Application Markup Language ( XAML / z æ m əl / ( escute )Sobre este som ) é uma declarativa XML linguagem baseado desenvolvido pela Microsoft que é utilizado para inicializar valores e objetos estruturados. Ele está disponível sob a Promessa de Especificação Aberta da Microsoft . A sigla originalmente significava Extensible Avalon Markup Language, Avalon sendo o codinome do Windows Presentation Foundation (WPF).

O XAML é amplamente usado nas tecnologias .NET Framework 3.0 e .NET Framework 4.0 , particularmente Windows Presentation Foundation (WPF), Silverlight , Workflow Foundation (WF), Windows UI Library (WinUI) e aplicativos da Windows Store. No WPF, o XAML forma uma linguagem de marcação da interface do usuário para definir os elementos da interface do usuário, vinculação de dados, eventos e outros recursos. No WF, os fluxos de trabalho podem ser definidos usando XAML. O XAML também pode ser usado em aplicativos Silverlight , Windows 10 Mobile (anteriormente Windows Phone ) e aplicativos da Plataforma Universal do Windows , também chamados de aplicativos da Windows Store .

Os elementos XAML são mapeados diretamente para instâncias de objeto do Common Language Runtime , enquanto os atributos XAML são mapeados para as propriedades e eventos do Common Language Runtime nesses objetos. Os arquivos XAML podem ser criados e editados com ferramentas de design visual como Microsoft Expression Blend , Microsoft Visual Studio e o designer visual Windows Workflow Foundation hospedável . Eles também podem ser criados e editados com um editor de texto padrão , um editor de código como o XAMLPad ou um editor gráfico como o Vector Architect .

Qualquer coisa que é criada ou implementada em XAML pode ser expressa usando uma linguagem .NET mais tradicional, como C # ou Visual Basic .NET . No entanto, um aspecto importante da tecnologia é a complexidade reduzida necessária para ferramentas para processar XAML, porque é baseado em XML.

Tecnologia

Um arquivo XAML pode ser compilado em um arquivo .BAML ( Binary Application Markup Language ), que pode ser inserido como um recurso em um assembly .NET Framework. No tempo de execução, o mecanismo de estrutura extrai o arquivo .BAML dos recursos de montagem, analisa-o e cria uma árvore visual WPF ou fluxo de trabalho correspondente.

Quando usado no Windows Presentation Foundation, XAML é usado para descrever interfaces visuais do usuário . O WPF permite a definição de objetos 2D e 3D, rotações, animações e uma variedade de outros efeitos e recursos.

Quando usado em contextos do Windows Workflow Foundation, o XAML é usado para descrever a lógica declarativa de longa duração, como aquelas criadas por ferramentas de modelagem de processos e sistemas de regras. O formato de serialização para fluxos de trabalho era anteriormente denominado XOML , para diferenciá-lo do uso de marcação de IU de XAML, mas agora eles não são mais diferenciados. No entanto, a extensão de arquivo para arquivos que contêm a marcação de fluxo de trabalho ainda é "XOML".

Modelos

O XAML usa uma maneira específica de definir a aparência e o comportamento chamado Template s; diferindo da sintaxe da folha de estilo em cascata , é mais próxima de XBL .

Exemplo

Este exemplo do Windows Presentation Foundation mostra o texto "Hello, world!" no contêiner XAML de nível superior denominado Canvas.

<Canvas xmlns="http://schemas.microsoft.com/client/2010"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <TextBlock>Hello, world!</TextBlock>

O esquema (a xmlns="http://schemas.microsoft.com/..."parte) pode ter que ser alterado para funcionar em seu computador. Usando um esquema recomendado pela Microsoft, o exemplo também pode ser

<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <TextBlock>Hello, world!</TextBlock>
</Canvas>

Isso pode ser integrado a uma página da Web se o WPF for instalado usando XBAPs (aplicativos de navegador XAML) que são aplicativos compilados em execução em um ambiente de área restrita hospedado no navegador. Outra forma é usar o plugin Silverlight . O código não pode ser incluído diretamente em uma página HTML ; em vez disso, deve ser carregado na página via JavaScript . Se o .NET 3.0 ou posterior estiver instalado, os arquivos XAML soltos também podem ser visualizados por conta própria em um navegador da Web compatível (incluindo Internet Explorer e Firefox ) em conjunto com o .NET Framework 3.0, sem a necessidade do plug-in Silverlight. Arquivos XAML soltos são arquivos somente de marcação, limitados a definir o conteúdo visual a ser renderizado. Eles não são compilados com um aplicativo.

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>XAML Example</title>
    <script type="text/javascript" src="MySilverlight.js" />
    <script type="text/javascript" src="Silver.js" />
  </head>
  <body>
    <div id="MySilverlight" >
    </div>
    <script type="text/javascript">
      createMySilverlight();
    </script>
  </body>
</html>

O arquivo MySilverlight.js deve conter o código que carrega o código XAML acima (como um arquivo XML) no elemento HTML MySilverlight .


Uma parte crucial da utilização de XAML em todo o seu potencial é fazer o uso apropriado de vinculação, além de se sentir confortável com a criação de seus próprios elementos de usuário personalizados conforme necessário, para suas necessidades específicas. A vinculação pode ser feita da seguinte forma:

<TextBox x:Name="txtInput" />
<TextBlock Text={Binding ElementName=txtInput,Path=Text} />

Diferenças entre versões de XAML

Existem três implementações principais de XAML da Microsoft:

Essas versões têm algumas diferenças no comportamento de análise.

Além disso, o analisador Silverlight 4 XAML não é 100% compatível com os arquivos do Silverlight 3. Os arquivos XAML aceitos do Silverlight 3 podem não ser aceitos ou são analisados ​​de forma diferente pelo analisador Silverlight 4.

Críticas ao uso de GUI XAML no Silverlight

O Comitê Europeu para Sistemas Interoperáveis disse em 2007 que o uso de XAML pela Microsoft em seu produto Silverlight tinha como objetivo introduzir conteúdo na World Wide Web que só poderia ser acessado a partir da plataforma Windows . Usando um plug-in, o XAML pode ser visualizado em alguns navegadores não Microsoft no Windows, Linux e Mac ; e a Microsoft deu suporte ao visualizador Silverlight da Novell para Linux, chamado Moonlight . Em janeiro de 2010, o Moonlight 2 era compatível com o Silverlight 2, mas o desenvolvimento do Moonlight foi posteriormente descontinuado.

Veja também

Referências

links externos