XAML

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
XAML
limbaj de programare
Autor Microsoft
Data de origine Iunie 2008
Paradigme programare declarativă
Extensii comune xaml

XAML (prescurtare pentru eXtensible Application Markup Language și pronunțat „Zammel”) este un limbaj de marcare bazat pe XML folosit pentru a descrie interfața grafică a aplicațiilor bazate pe biblioteca Windows Presentation Foundation [1] [2] .

XAML se bazează pe obiectele conținute în timpul de rulare al limbajului comun și pe proprietățile sau evenimentele acestora.

Există un limbaj similar cu XAML: XML User Interface Language (XUL). Este un limbaj open source dedicat creării de aplicații derivate din proiectul Mozilla .

În 2007, Comitetul European pentru Sisteme Interoperabile, după raportarea companiilor de calculatoare, a investigat posibilitatea ca Microsoft să dorească să utilizeze XAML pentru a înlocui standardul HTML [3] .

XAML este utilizat pe scară largă în tehnologiile .NET Framework 3.0 și .NET Framework 4.0, în special Windows Presentation Foundation (WPF) [4] , Silverlight, Windows Workflow Foundation (WF), Windows Runtime XAML Framework și aplicațiile Windows Store. În WPF, XAML formează un limbaj de marcare UI pentru a defini elemente UI, legarea datelor, evenimente și alte funcționalități. În WF, fluxurile de lucru pot fi definite folosind XAML. XAML poate fi, de asemenea, utilizat în aplicațiile Silverlight , Windows 10 Mobile (fost Windows Phone ) și Universal Windows Platformapp învechite, numite și aplicații Windows Store.

Elementele XAML sunt mapate direct cu instanțe de obiecte de execuție în limbaj comun, în timp ce atributele XAML sunt mapate cu proprietăți și evenimente de execuție în limbaj comun pe acele obiecte. Fișierele XAML pot fi create și editate cu instrumente de proiectare vizuală, cum ar fi Microsoft Expression Blend, Microsoft Visual Studio și Windows Workflow Foundation, care poate fi vizualizat. De asemenea, pot fi create și editate cu un editor de text standard, un editor de cod, cum ar fi XAMLPad, sau un editor grafic, cum ar fi Vector Architect.

Orice lucru creat sau implementat în XAML poate fi exprimat folosind un limbaj .NET mai tradițional, cum ar fi C # sau Visual Basic .NET. Cu toate acestea, un aspect cheie al tehnologiei este complexitatea redusă necesară instrumentelor pentru procesarea XAML, deoarece se bazează pe XML. Ca urmare, apar o varietate de produse, în special în spațiul WPF, care creează aplicații bazate pe XAML. Deoarece XAML se bazează pur și simplu pe XML, dezvoltatorii și designerii sunt capabili să partajeze și să editeze conținut în mod liber, fără a necesita compilare. XAML beneficiază, de asemenea, de a fi o definiție declarativă a interfeței cu utilizatorul, mai degrabă decât codul procedural pentru a o genera [5] .

Tehnologie

Un fișier XAML poate fi compilat într-un fișier Binary Application Markup Language [6] (.BAML), care poate fi plasat ca resursă într-un ansamblu .NET Framework. În timpul rulării, motorul de cadru extrage fișierul .BAML din resursele de asamblare, îl analizează și creează un flux de lucru corespunzător sau un arbore WPF vizual.

Când este utilizat în Windows Presentation Foundation, XAML este utilizat pentru a descrie interfețele vizuale ale utilizatorului. WPF permite definirea obiectelor 2D și 3D, rotații, animații și o varietate de alte efecte și caracteristici.

Când este utilizat în contextele Windows Workflow Foundation, XAML este utilizat pentru a descrie logica declarativă potențial de lungă durată, cum ar fi cele create de instrumente de modelare a proceselor și sisteme de reguli. Formatul de serializare pentru fluxurile de lucru a fost numit anterior XOML , pentru a-l diferenția de utilizarea markupului XAML UI, dar acum nu mai sunt distincte. Cu toate acestea, extensia de fișier pentru fișierele care conțin marcarea fluxului de lucru este încă „XOML” [7] [8] .

Modele

XAML utilizează un mod specific de a defini aspectul și designul numit Șablon ; spre deosebire de sintaxa Cascading Style Sheet , aceasta este mai aproape de XBL [9] .

Exemplu

Acest exemplu Windows Presentation Foundation arată textul „Bună ziua, lume!” în containerul de nivel superior XAML numit Canvas.

 <Canvas xmlns = "http://schemas.microsoft.com/client/2007" 
        xmlns: x = "http://schemas.microsoft.com/winfx/2006/xaml"> 
  <TextBlock> Bună ziua, lume! </TextBlock> 
</Canvas>

Poate fi necesar să schimbați schema Microsoft [10] pentru a funcționa pe computer. Folosind o schemă recomandată de Microsoft, exemplul poate fi, de asemenea:

 <Canvas xmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation Arhivat 13 noiembrie 2010 la Internet Archive ." > 
  <TextBlock> Bună ziua, lume! </TextBlock> 
</Canvas>

Acest lucru poate fi integrat într-o pagină web dacă WPF este instalat utilizând XBAPs (XAML Browser Applications), care sunt aplicații compilate care rulează într-un mediu sandbox găzduit de browser. O altă modalitate este utilizarea plug-in-ului Silverlight. Codul nu poate fi inclus direct într-o pagină HTML; mai degrabă trebuie încărcat în pagină prin JavaScript. Dacă este instalat .NET 3.0 sau o versiune ulterioară, fișierele XAML libere pot fi, de asemenea, vizualizate singure într-un browser web compatibil (inclusiv Internet Explorer învechit [11] și Firefox ) împreună cu .NET Framework 3.0, fără a fi nevoie de plug - în Silverlight [12] . Fișierele XAML libere sunt fișiere de marcare limitate la definiția conținutului vizual care urmează să fie redat. Nu sunt compilate cu o aplicație.

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

Fișierul MySilverlight.js trebuie să conțină codul care încarcă vechiul XAML (ca fișier XML) sub elementul MySilverlight HTML.

O parte crucială a utilizării XAML la întregul său potențial este utilizarea corectă a legării, precum și confortul în crearea de elemente de utilizator personalizate, după cum este necesar, pentru nevoile dvs. specifice. Legarea se poate face după cum urmează:

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

Diferențe între versiunile XAML

Există patru implementări majore ale Microsoft pentru XAML:

  • Versiunea Windows Presentation Foundation, utilizată pentru .NET Framework începând cu .NET Framework 3.0
  • Versiunea Silverlight 3
  • Versiunea Silverlight 4
  • Versiunea Windows 8 XAML / Jupiter

Aceste versiuni au unele diferențe în comportamentul de analiză [13] .

De asemenea, parserul Silverlight 4 XAML nu este 100% compatibil cu versiunile anterioare ale fișierelor Silverlight 3. Fișierele XAML acceptate de Silverlight 3 pot să nu fie acceptate sau să fie analizate diferit de parserul Silverlight 4 [14] .

Notă

  1. ^ Microsoft adaugă XAML la lista „Specificații deschise” - Software Development Times On The Web , pe sdtimes.com . Adus la 17 aprilie 2008 (arhivat din original la 11 decembrie 2008) .
  2. ^ (RO) Prima mea aplicație XAML , pe www.c-sharpcorner.com. Adus pe 7 martie 2021 .
  3. ^ Va înlocui Microsoft HTML-ul cu XAML-ul său? , pe Punto Informatico , 29 ianuarie 2007. Adus la 4 februarie 2019 .
  4. ^ Rob Relyea: ianuarie 2004 - Postări Arhivate la 11 octombrie 2007 la Internet Archive .
  5. ^ XAML Syntax Terminology , la msdn2.microsoft.com , Microsoft Corporation.
  6. ^ necunoscut, Ce este BAML? , pe dotnetspider.com , http://www.dotnetspider.com/ , DOTNET Spider, 30 iulie 2009.
    "BAML înseamnă limbajul de marcare a aplicației binare, care este o versiune compilată a XAML. Când compilați XAML, acesta creează fișierul BAML. " .
  7. ^ Postare pe forum MSDN de către managerul de produs WF
  8. ^ RuleML și BPEL sunt alte exemple de limbaje logice declarative bazate pe XML
  9. ^ Scott Guthrie, Silverlight Tutorial Partea 7: Utilizarea șabloanelor de control pentru a personaliza aspectul și simțirea unui control , la weblogs.asp.net , 22 februarie 2008. Accesat pe 8 martie 2008 .
  10. ^ schemas.microsoft.com , pe web.archive.org , 5 iulie 2017. Adus pe 7 martie 2021 (arhivat din original la 5 iulie 2017) .
  11. ^ Dario d'Elia, Microsoft 365 va abandona Internet Explorer 11 din august 2021 , în Corriere della Sera , 21 august 2020. Adus pe 7 martie 2021 .
  12. ^ Windows Presentation Foundation pe web: Aplicații pentru browser web - MSDN
  13. ^ Diferențe de procesare XAML între versiunile Silverlight și WPF , pe msdn.microsoft.com , Microsoft . Accesat la 2 octombrie 2011 .
    " Silverlight include un analizor XAML care face parte din instalarea de bază Silverlight. Silverlight folosește diferite parsere XAML, în funcție de faptul dacă aplicația dvs. vizează Silverlight 3 sau Silverlight 4. Cele două parsere există unul lângă altul în Silverlight 4 pentru compatibilitate. În unele cazuri, comportamentul de analiză XAML în Silverlight diferă de comportamentul de analiză din Windows Presentation Foundation (WPF). WPF are propriul său analizor XAML. " .
  14. ^ Diferențe de procesare XAML între versiunile Silverlight , la msdn.microsoft.com , Microsoft . Accesat la 2 octombrie 2011 .

Elemente conexe

linkuri externe

Microsoft Portal Microsoft : Accesați intrările Wikipedia despre Microsoft