XAML linguaggio di programmazione | |
---|---|
Autore | Microsoft |
Data di origine | giugno 2008 |
Paradigmi | programmazione dichiarativa |
Estensioni comuni | xaml |
XAML (abbreviazione di eXtensible Application Markup Language, e pronunciata "Zammel") è un linguaggio di markup basato su XML, utilizzato per descrivere l'interfaccia grafica delle applicazioni basate sulla libreria Windows Presentation Foundation[1][2].
Il linguaggio XAML si basa sugli oggetti contenuti nel Common Language Runtime e sulle loro proprietà o eventi.
Esiste un linguaggio analogo allo XAML: XML User Interface Language (XUL). Esso è un linguaggio open source dedicato alla creazione di applicazioni derivate dal progetto Mozilla.
Nel 2007, l'European Committee for Interoperable Systems dopo segnalazione di aziende di informatica ha investigato sulla possibilità che la Microsoft volesse utilizzare l'XAML per sostituire lo standard HTML[3].
XAML è ampiamente utilizzato nelle tecnologie .NET Framework 3.0 e .NET Framework 4.0, in particolare Windows Presentation Foundation (WPF)[4], Silverlight, Windows Workflow Foundation (WF), Windows Runtime XAML Framework e app di Windows Store. In WPF, XAML forma un linguaggio di markup dell'interfaccia utente per definire elementi dell'interfaccia utente, data binding, eventi e altre funzionalità. In WF, i flussi di lavoro possono essere definiti utilizzando XAML. XAML può essere utilizzato anche nelle applicazioni Silverlight, nell'obsoleto Windows 10 Mobile (in precedenza Windows Phone) e Universal Windows Platformapp, chiamate anche app di Windows Store.
Gli elementi XAML vengono mappati direttamente alle istanze di oggetti Common Language Runtime , mentre gli attributi XAML vengono mappati alle proprietà e agli eventi Common Language Runtime su tali oggetti. I file XAML possono essere creati e modificati con strumenti di progettazione visiva come Microsoft Expression Blend, Microsoft Visual Studio e il visual designer di Windows Workflow Foundation hostable. Possono anche essere creati e modificati con un editor di testo standard, un editor di codice come XAMLPad o un editor grafico come Vector Architect.
Tutto ciò che viene creato o implementato in XAML può essere espresso utilizzando un linguaggio .NET più tradizionale, come C # o Visual Basic .NET. Tuttavia, un aspetto chiave della tecnologia è la ridotta complessità necessaria per gli strumenti per elaborare XAML, poiché si basa su XML. Di conseguenza, stanno emergendo una varietà di prodotti, in particolare nello spazio WPF, che creano applicazioni basate su XAML. Poiché XAML si basa semplicemente su XML, sviluppatori e progettisti sono in grado di condividere e modificare i contenuti liberamente tra di loro senza richiedere la compilazione. XAML beneficia anche dell'essere una definizione dichiarativa dell'interfaccia utente anziché del codice procedurale per generarla[5].