Linguagem de marcação de aplicativo extensível - Extensible Application Markup Language
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 |
Último lançamento | v2009 (16 de abril de 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 ) ) é 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:
- Versões do Windows Presentation Foundation (Avalon), baseadas no .NET e primeiro disponíveis com o .NET Framework 3.0
- Versões do Silverlight (Windows Presentation Foundation Everywhere ou WPF / E), primeiro disponíveis para Internet Explorer 6 e agora obsoletas
- Versões WinRT XAML (Jupiter), baseadas no Windows Runtime (WinRT) e primeiro disponíveis para Windows 8 / Windows Server 2012 e agora disponíveis como parte do Windows App SDK como WinUI 3 para Windows 10 e Windows 11
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
- Comparação de linguagens de marcação da interface do usuário
- Avalonia UI Framework
- EMML
- Interface Builder
- JavaFX
- Gerenciador de layout
- Lista de linguagens de marcação da interface do usuário
- Especificação de papel em XML aberto
- XUL
- ZK Framework
- UWP
- Plataforma Uno
Referências
links externos
- Serviços XAML
- Visão geral de XAML
- Referência XAML: Namespace System.Windows.Markup e Namespace System.Xaml .