Extensible Application Markup Language - Extensible Application Markup Language
Přípona názvu souboru | .xaml |
---|---|
Typ internetového média | aplikace / xaml + xml |
Vyvinul | Microsoft |
První vydání | Červen 2008[1] |
Poslední vydání | |
Typ formátu | Značkovací jazyk uživatelského rozhraní |
Rozšířeno z | XML |
Extensible Application Markup Language (XAML /ˈz…m.l/ (poslouchat)) je deklarativní XML jazyk založený na Microsoft který se používá pro inicializaci strukturovaných hodnot a objektů. Je k dispozici pod Microsoftem Otevřete Specification Promise.[4] Zkratka původně znamenala Extensible Avalon Markup Language, Avalon je krycí jméno pro Windows Presentation Foundation (WPF).[5]
XAML se ve velké míře používá .NET Framework 3.0 & .NET Framework 4.0 zejména technologie Windows Presentation Foundation (WPF), Silverlight, Windows Workflow Foundation (WF), Windows Runtime XAML Framework a aplikace Windows Store. Ve WPF tvoří XAML a značkovací jazyk uživatelského rozhraní definovat prvky uživatelského rozhraní, datovou vazbu, události a další funkce. Ve WF pracovní toky lze definovat pomocí XAML. XAML lze také použít v Silverlight aplikace, Windows 10 Mobile (dříve Windows Phone ) a Univerzální platforma Windows aplikace, také nazývané Aplikace Windows Store.
Mapování prvků XAML přímo na Common Language Runtime instance objektu, zatímco atributy XAML se mapují na vlastnosti a události Common Language Runtime na těchto objektech. Soubory XAML lze vytvářet a upravovat pomocí nástrojů pro vizuální design, jako je Microsoft Expression Blend, Microsoft Visual Studio a hostable Windows Workflow Foundation vizuální designér. Mohou být také vytvořeny a upraveny standardem textový editor, editor kódu jako XAMLPad, nebo grafický editor jako Vektorový architekt.
Cokoli, co je vytvořeno nebo implementováno v XAML, lze vyjádřit pomocí tradičnějšího jazyka .NET, například C# nebo Visual Basic .NET. Klíčovým aspektem této technologie je však snížená složitost potřebná pro nástroje ke zpracování XAML, protože je založena na XML.[6] V důsledku toho se objevuje řada produktů, zejména v prostoru WPF, které vytvářejí aplikace založené na XAML. Protože XAML je jednoduše založen na XML, vývojáři a designéři mohou mezi sebou volně sdílet a upravovat obsah bez nutnosti kompilace. XAML také těží z toho, že je deklarativní definicí uživatelského rozhraní, nikoli procedurálním kódem pro jeho generování.
Technologie
Soubor XAML lze zkompilovat do souboru .BAML (Binární značkovací jazyk aplikace[7]), který lze vložit jako prostředek do sestavení .NET Framework. Za běhu modul rozhraní extrahuje soubor .BAML z prostředků sestavení, analyzuje jej a vytvoří odpovídající vizuální strom WPF nebo pracovní postup.
Při použití ve Windows Presentation Foundation se XAML používá k popisu vizuálu uživatelská rozhraní. WPF umožňuje definovat 2D i 3D objekty, rotace, animace a řadu dalších efektů a funkcí.
Při použití v kontextech Windows Workflow Foundation se XAML používá k popisu potenciálně dlouhotrvající deklarativní logiky, jako jsou ty vytvořené nástroji pro modelování procesů a systémy pravidel. The serializace dříve byl volán formát pro pracovní toky XOML, k odlišení od použití značek XI jazyka UI, ale nyní se již nerozlišují. Přípona souboru pro soubory obsahující označení pracovního postupu je však stále „XOML“.[8][9]
Šablony
XAML používá k definování konkrétní způsob vypadat a cítit volala Šablonas; liší se od Kaskádový styl syntaxe, je blíže XBL.[10]
Příklad
Tento příklad Windows Presentation Foundation ukazuje text „Hello, world!“ v kontejneru XAML nejvyšší úrovně s názvem Canvas.
xmlns =„http://schemas.microsoft.com/client/2007“ xmlns: x =„http://schemas.microsoft.com/winfx/2006/xaml“> <TextBlock>Ahoj světe!</TextBlock></Canvas>
Schéma (xmlns = "https://web.archive.org/web/20170705010515/http://schemas.microsoft.com/... "část) bude pravděpodobně nutné změnit, aby fungovala na vašem počítači. Pomocí schématu, které společnost Microsoft doporučuje, lze příklad také[11]
xmlns =„http://schemas.microsoft.com/winfx/2006/xaml/presentation“> <TextBlock>Ahoj světe!</TextBlock></Canvas>
To lze integrovat do a webová stránka pokud je WPF nainstalován pomocí XBAP (XAML Browser Applications), které jsou kompilované aplikace běžící v izolovaném prostředí hostovaném v prohlížeči. Dalším způsobem je použití Silverlight plugin. Kód nelze zahrnout přímo do souboru HTML strana; spíše to musí být načteno na stránku přes JavaScript. Pokud je nainstalován .NET 3.0 nebo novější, volné soubory XAML lze také zobrazit samostatně v kompatibilním webový prohlížeč (počítaje v to internet Explorer a Firefox ) ve spojení s .NET Framework 3.0, bez nutnosti pluginu Silverlight.[12] Loose XAML files are markup-only files limited to defining the visual content to be rendered. Nejsou kompilovány s aplikací.
xmlns =„http://www.w3.org/1999/xhtml“> <head> <title>Příklad XAML</title> zadejte =„text / javascript“ src =„MySilverlight.js“ /> zadejte =„text / javascript“ src =„Silver.js“ /> </head> <body> id =„MySilverlight“ > </div> zadejte =„text / javascript“> createMySilverlight (); </script> </body></html> The MySilverlight.js soubor musí obsahovat kód, který načte výše uvedený kód XAML (jako soubor XML) pod MySilverlight Prvek HTML.
Zásadní součástí využití XAML k jeho plnému potenciálu je vytvoření vhodného použití vazby a také pohodlné vytváření vlastních uživatelských prvků podle potřeby pro vaše konkrétní potřeby. Vazbu lze provést následujícím způsobem:
x: Jméno ="txtInput" /> Text ={Vazba Název prvku =txtInput, Path = Text} />
Rozdíly mezi verzemi XAML
Existují čtyři hlavní implementace Microsoftu XAML:
- The Windows Presentation Foundation verze, která se používá pro .NET Framework začínající na .NET Framework 3.0
- The Silverlight 3 verze
- The Silverlight 4 verze
- The Windows 8 XAML / Jupiter verze
Tyto verze mají určité rozdíly v chování při analýze.[13]
Analyzátor Silverlight 4 XAML navíc není 100% zpětně kompatibilní se soubory Silverlight 3. Přijaté soubory XAML Silverlight 3 nemusí být přijaty nebo je analyzátor Silverlight 4 analyzuje odlišně.[14]
Kritika použití XAML GUI v Silverlight
The Evropský výbor pro interoperabilní systémy v roce 2007 uvedlo, že použití XAML společností Microsoft ve svém produktu Silverlight mělo za cíl zavést obsah na World Wide Web, ke kterému lze přistupovat pouze z Okna plošina.[15][16] Pomocí pluginu je XAML viditelný v některých prohlížečích jiných než Microsoft ve Windows, Linux, a Mac; a Microsoft podporovány Novell Prohlížeč Silverlight pro GNU /Linux volala Měsíční svit.[17] Od ledna 2010 byl Moonlight 2 kompatibilní s Silverlight 2, ale vývoj Moonlight byl později přerušen.[18]
Viz také
- Porovnání značkovacích jazyků uživatelského rozhraní
- EMML
- Tvůrce rozhraní
- JavaFX
- Správce rozložení
- Seznam značkovacích jazyků uživatelského rozhraní
- Otevřete specifikaci papíru XML
- XUL
- Rámec ZK
- UWP
- Platforma Uno
Reference
- ^ [MS-XAML] - v1.0, specifikace mapování objektů Xaml 2006 (PDF), Microsoft, Červen 2006, vyvoláno 2010-06-24
- ^ [MS-XAML] - v2009, Specifikace mapování objektů XAML 2009 (PDF), Microsoft, Duben 2010, vyvoláno 2010-06-24
- ^ Extensible Application Markup Language (XAML), Microsoft, 2010-04-16, vyvoláno 2010-06-24
- ^ „Microsoft přidává XAML do seznamu„ Otevřená specifikace “- doba vývoje softwaru na webu“. Archivovány od originál dne 11.12.2008. Citováno 2008-04-17.
- ^ Rob Relyea: leden 2004 - příspěvky Archivováno 2007-10-11 na Wayback Machine
- ^ „Terminologie syntaxe XAML“. Společnost Microsoft.
- ^ neznámý (2009-07-30). „Co je BAML?“. http://www.dotnetspider.com/: DOTNET Spider.
BAML znamená Binary Application Markup Language, což je kompilovaná verze XAML. Při kompilaci XAML vytvoří soubor BAML.
- ^ Příspěvek na fóru MSDN produktovým manažerem WF
- ^ RuleML a BPEL jsou další příklady deklarativních logických jazyků založených na XML
- ^ Guthrie, Scott (2008-02-22). "Silverlight Tutorial Část 7: Použití šablon ovládacích prvků k přizpůsobení vzhledu a chování ovládacího prvku". Citováno 2008-03-08.
- ^ Stránka Microsoft XAML Overview naPřehled XAML (kořenový prvek a xmlns)
- ^ Windows Presentation Foundation na webu: Aplikace webového prohlížeče - MSDN
- ^ „Rozdíly ve zpracování XAML mezi verzemi Silverlight a WPF“. Microsoft. Citováno 2011-10-02.
Silverlight obsahuje analyzátor XAML, který je součástí instalace jádra Silverlight. Silverlight používá různé analyzátory XAML v závislosti na tom, zda vaše aplikace cílí na Silverlight 3 nebo Silverlight 4. Tyto dva analyzátory existují v kompatibilitě Silverlight 4 vedle sebe. V některých případech se chování analýzy XAML v Silverlight liší od chování analýzy v Windows Presentation Foundation (WPF). WPF má svůj vlastní analyzátor XAML.
- ^ „Rozdíly ve zpracování XAML mezi verzemi Silverlight“. Microsoft. Citováno 2011-10-02.
- ^ „Microsoft naráží na poplatky za systém Windows Vista“. itwire.com. 2007-01-28. Citováno 22. srpna 2013.
- ^ Reimer, Jeremy. „Předseda evropského výboru obviňuje Microsoft z únosu webu“. Ars Technica. Condé Nast. Citováno 22. srpna 2013.
- ^ Foley, Mary Jo (2007-09-25). „Microsoft oficiálně„ rozšiřuje podporu “pro port Novell's Silverlight pro Linux“. zdnet.com. Citováno 2007-10-13.
- ^ „Uvolnění Moonlight 2, Roadmap to Moonlight 3 and 4“. Miguel de Icaza. Citováno 2009-12-17.
externí odkazy
- Služby XAML
- Přehled XAML
- Odkaz na XAML: Obor názvů System.Windows.Markup a Obor názvů System.Xaml.