एक्स्टेंसिबल एप्लिकेशन मार्कअप लैंग्वेज

From Vigyanwiki
Extensible Application Markup Language (XAML)
Filename extension
.xaml
Internet media type
application/xaml+xml
Developed byMicrosoft
Initial releaseJune 2008; 16 years ago (2008-06)
Latest release
v2019
12 March 2019; 5 years ago (2019-03-12)[1]
Type of formatUser interface markup language
Extended fromXML

एक्स्टेंसिबल एप्लिकेशन मार्कअप लैंग्वेज (एक्सएएमएल /ˈzæməl/ (listen)) संरचित मान और वस्तुओं को आरंभ करने के लिए माइक्रोसाॅफ्ट द्वारा विकसित यह प्रोग्रामिंग एक्सएमएल पर आधारित भाषा है। यह माइक्रोसॉफ्ट की विशिष्टताओं के अनुसार उपलब्ध रहती है।[2] एक्सएएमएल का उपयोग विंडोज प्रेजेंटेशन फाउंडेशन (डब्ल्यूपीएफ), सिल्वरलाइट, विंडोज वर्कफ़्लो फाउंडेशन (डब्ल्यूएफ), विंडोज यूआई लाइब्रेरी (विनयूआई) और यूनिवर्सल विंडोज प्लेटफॉर्म (यूडब्ल्यूपी) में बड़े पैमाने पर किया जाता है। इस प्रकार डब्ल्यूपीएफ और यूडब्ल्यूपी में, एक्सएएमएल यूआई एलिमेंटों, डेटा बाइंडिंग और इवेंट्स को परिभाषित करने के लिए एक उपयोगकर्ता इंटरफ़ेस मार्कअप भाषा है। डब्ल्यूएफ में एक्सएएमएल कार्यप्रवाह को परिभाषित करता है।

एक्सएएमएल एलिमेंट सीधे सामान्य भाषा रनटाइम (सीएलआर) ऑब्जेक्ट इंस्टेंसेस पर मैप करते हैं, जबकि एक्सएएमएल विशेषताएँ उन ऑब्जेक्ट्स पर सीएलआर प्रॉपर्टीज और इवेंट्स को मैप करती हैं।

एक्सएएमएल में जो कुछ भी बनाया या कार्यान्वित किया जाता है, उसे अधिक पारंपरिक .NET भाषा, जैसे C# या Visual Basic .NET का उपयोग करके व्यक्त किया जा सकता है। चूंकि इस तकनीक का प्रमुख पहलू एक्सएएमएल को संसाधित करने के लिए उपकरणों के लिए आवश्यक कम जटिलता है, क्योंकि यह एक्सएमएल पर आधारित है।[3]

प्रौद्योगिकी

एक्सएएमएल मूल रूप से एक्स्टेंसिबल एवलॉन मार्कअप लैंग्वेज के लिए उपयोग किया गया था, एवलॉन विंडोज प्रेजेंटेशन फाउंडेशन (डब्ल्यूपीएफ) के लिए कोड-नाम है।[4] .NET फ्रेमवर्क 3.0 के विकास के अंत से पहले, माइक्रोसॉफ्ट ने विंडोज वर्कफ्लो फाउंडेशन (डब्ल्यूएफ) के लिए एक्सएएमएल को अपनाया गया था।[4]

डब्ल्यूपीएफ में, एक्सएएमएल विज़ुअल उपयोगकर्ता इंटरफ़ेस का वर्णन करता है। डब्ल्यूपीएफ 2D और 3D ऑब्जेक्ट्स, रोटेशन, एनिमेशन और कई अन्य प्रभावों और सुविधाओं की परिभाषा की अनुमति देता है। एक एक्सएएमएल फ़ाइल को बाइनरी एप्लिकेशन मार्कअप लैंग्वेज (बीएएमएल) फ़ाइल में संकलित किया जा सकता है,[4][5] जिसे .NET फ्रेमवर्क असेंबली में संसाधन के रूप में डाला जा सकता है। रन-टाइम पर, फ्रेमवर्क इंजन बीएएमएल फ़ाइल को असेंबली संसाधनों से निकालता है, इसे पार्स करता है, और संबंधित डब्ल्यूपीएफ विज़ुअल ट्री या वर्कफ़्लो बनाता है।

डब्ल्यूएफ संदर्भों में, एक्सएएमएल संभावित रूप से लंबे समय तक चलने वाले घोषणात्मक तर्क का वर्णन करता है, जैसे कि प्रक्रिया मॉडलिंग टूल और नियम प्रणाली द्वारा बनाए गए। एक्सएएमएल के यूआई मार्कअप उपयोग से इसे अलग करने के लिए वर्कफ़्लो के क्रमांकन प्रारूप को पहले एक्सओएमएल कहा जाता था, अपितु अब वे अलग नहीं हैं। चूंकि, वर्कफ़्लो मार्कअप वाली फ़ाइलों का फ़ाइल एक्सटेंशन अभी भी .xoml है।[6] एक्सएएमएल लुक और फील को परिभाषित करने के लिए विशिष्ट तरीके का उपयोग करता है जिसे टेम्प्लेट कहा जाता है, कैसकेडिंग स्टाइल शीट सिंटैक्स से भिन्न, यह एक्सबीएल के समीप है।[7]

एक्सएएमएल फ़ाइलें बनाने के लिए, कोई माइक्रोसाॅफ्ट अभिव्यक्ति मिश्रण, माइक्रोसाॅफ्ट विजिउल स्टूडियो, होस्ट करने योग्य डब्ल्यूएफ विज़ुअल डिज़ाइनर, या एक्सएएमएलपैड का उपयोग कर सकता है।[8]

उदाहरण

विंडोज प्रेजेंटेशन फाउंडेशन का यह उदाहरण टेक्स्ट हैलो, वर्ल्ड दिखाता है। कैनवस नामक शीर्ष स्तरीय एक्सएएमएल कंटेनर में इसे इस प्रकार प्रकट कर सकते हैं।

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

स्कीमा ( xmlns="http://schemas.microsoft.com/..." भाग) को आपके कंप्यूटर पर काम करने के लिए बदलना पड़ सकता है।

माइक्रोसाॅफ्ट द्वारा अनुशंसित स्कीमा का उपयोग करना, उदाहरण भी हो सकता है[9]

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

इसे एक वेब पृष्ठ में एकीकृत किया जा सकता है यदि डब्ल्यूपीएफ XBAPs (एक्सएएमएल ब्राउज़र एप्लिकेशन) का उपयोग करके स्थापित किया गया है जो ब्राउज़र के भीतर होस्ट किए गए सैंडबॉक्स वाले वातावरण में चल रहे संकलित अनुप्रयोग हैं। इसका दूसरा तरीका माइक्रोसाॅफ्ट सिल्वरलाइट का उपयोग करना है। इस कोड को सीधे एचटीएमएल पेज में शामिल नहीं किया जा सकता है, बल्कि इसे जावास्क्रिप्ट के माध्यम से पेज में लोड किया जाना चाहिए। यदि .NET 3.0 या बाद का संस्करण स्थापित है, तो सिल्वरलाइट प्लगइन की आवश्यकता के बिना, .NET फ्रेमवर्क 3.0 के संयोजन के साथ संगत होने वाले वेब ब्राउज़र (इंटरनेट एक्सप्लोरर और फ़ायरफ़ॉक्स सहित) में एक्सएएमएल फ़ाइलों को भी देखा जा सकता है।[10] एक्सएएमएल फाइलें मार्कअप ओनली फाइलें होती हैं जो प्रस्तुत की जाने वाली दृश्य सामग्री को परिभाषित करने तक सीमित होती हैं। वे इस आवेदन के साथ संकलित नहीं हैं।

<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>

MySilverlight.js फ़ाइल में वह कोड होना चाहिए जो MySilverlight एचटीएमएल एलिमेंट के अंतर्गत उपरोक्त एक्सएएमएल कोड (एक एक्सएमएल फ़ाइल के रूप में) को लोड करता है।

एक्सएएमएल को अपनी पूर्ण क्षमता तक उपयोग करने का महत्वपूर्ण भाग इसके लिए उचित रूप से उपयोगी है, साथ ही साथ अपनी विशिष्ट आवश्यकताओं के लिए आवश्यकतानुसार अपने स्वयं के कस्टम उपयोगकर्ता एलिमेंटों को बनाने में सरल होना है। इस प्रकार इसका बंधन निम्नानुसार किया जा सकता है:

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

एक्सएएमएल के संस्करणों के बीच अंतर

एक्सएएमएल के तीन मुख्य माइक्रोसाॅफ्ट कार्यान्वयन हैं:

  • विंडोज प्रेजेंटेशन फाउंडेशन (डब्ल्यूपीएफ), पहले .NET फ्रेमवर्क 3.0 के साथ उपलब्ध हैं।
  • माइक्रोसॉफ्ट सिल्वरलाइट 3 और 4, पहले इंटरनेट एक्सप्लोरर 6 के लिए उपलब्ध था और अब हटा दिया गया है।
  • विंडोज यूआई लाइब्रेरी (पूर्व में यूडब्ल्यूपी एक्सएएमएल और WinRT एक्सएएमएल), पहले विंडोज 8 और विंडोज सर्वर 2012 के साथ शिप की गई थी, अपितु अब विंडोज ऐप एसडीके के एक भाग के रूप में उपलब्ध है

इन संस्करणों के पार्सिंग व्यवहार में कुछ अंतर हैं।[11] इसके अतिरिक्त, सिल्वरलाइट 4 एक्सएएमएल पार्सर 100% पश्च संगतता नहीं है। सिल्वरलाइट 3 फाइलों के साथ बैकवर्ड-संगत। सिल्वरलाइट 3 एक्सएएमएल फाइलों को सिल्वरलाइट 4 पार्सर द्वारा अलग तरीके से निरस्त या पार्स किया जा सकता है।[12]

प्रतियोगिता से प्रतिक्रिया

2007 में, इंटरऑपरेबल सिस्टम्स के लिए यूरोपीय समिति (ईसीआईएस) - अधिकतम अमेरिकी सॉफ्टवेयर कंपनियों का एक गठबंधन - ने माइक्रोसाॅफ्ट पर एचटीएमएल को हाईजैक करने और इसे एक्सएएमएल से परिवर्तित करने के प्रयास करने का आरोप लगाया था, इस प्रकार वेंडर लॉक-इन बनाया गया था।[13][14] आर्स टेक्निका के लिए लिखने वाले जेरेमी रीमर ने इस टिप्पणी को सबसे गंभीर त्रुटि के रूप में वर्णित किया और कहा कि एक्सएएमएल के कभी भी एचटीएमएल को परिवर्तित करने की संभावना नहीं है।[14]

यह भी देखें

संदर्भ

  1. "Extensible Application Markup Language (XAML)". Microsoft. 12 March 2019.
  2. Worthington, David. "Microsoft adds XAML to 'Open Specification' list – Software Development Times On The Web". Archived from the original on 2008-12-11. Retrieved 2021-04-06.
  3. "एक्सएएमएल सिंटैक्स विस्तार से". Windows Presentation Foundation library. Microsoft. 12 August 2021 – via Microsoft Docs.{{cite web}}: CS1 maint: url-status (link)
  4. 4.0 4.1 4.2 Rob Relyea : January 2004 – Posts Archived 2007-10-11 at the Wayback Machine
  5. unknown (2009-07-30). "What is BAML?". DOTNET Spider. BAML means Binary Application Markup Language, which is a compiled version of the XAML. When you compile your XAML it creates the BAML file.
  6. Andrew, Paul (25 January 2006). "xoml or xaml?". MSDN Community Archive. Microsoft. Workflow programs (or models) are saved in the XAML format which is common to Avalon for serializing .NET types as XML. Avalon XAML is all about UI and Workflow XAML is all about business process so there's quite a semantic difference. The XOML file extension looks to remain for Workflow models though the file format is XAML.{{cite web}}: CS1 maint: url-status (link)
  7. Guthrie, Scott (22 February 2008). "Silverlight Tutorial Part 7: Using Control Templates to Customize a Control's Look and Feel". ScottGu's Blog.{{cite web}}: CS1 maint: url-status (link)
  8. Avery, James; Holmes, Jim. "3.3 Writing XAML in XamlPad - Windows Developer Power Tools [Book]". www.oreilly.com (in English). O'Reilly.
  9. Microsoft XAML Overview page at XAML Overview (Root element and xmlns)
  10. Windows Presentation Foundation on the Web: Web Browser Applications - MSDN
  11. "सिल्वरलाइट संस्करण और WPF के बीच XAML प्रसंस्करण अंतर". Silverlight Archive. Microsoft. 17 November 2011 – via Microsoft Docs. Silverlight includes a XAML parser that is part of the Silverlight core install. Silverlight uses different XAML parsers depending on whether your application targets Silverlight 3 or Silverlight 4. The two parsers exist side-by-side in Silverlight 4 for compatibility. In some cases, the XAML parsing behavior in Silverlight differs from the parsing behavior in Windows Presentation Foundation (WPF). WPF has its own XAML parser.{{cite web}}: CS1 maint: url-status (link)
  12. "सिल्वरलाइट संस्करणों के बीच XAML प्रसंस्करण अंतर". Silverlight Archive. Microsoft. 17 November 2011 – via Microsoft Docs.{{cite web}}: CS1 maint: url-status (link)
  13. Beer, Stan (28 January 200). "Microsoft EU Vista शुल्कों में चलता है". iTWire. Retrieved 22 August 2013.{{cite web}}: CS1 maint: url-status (link)
  14. 14.0 14.1 Reimer, Jeremy (26 January 2007). "यूरोपीय समिति के अध्यक्ष ने माइक्रोसॉफ्ट पर वेब को हाईजैक करने का आरोप लगाया". Ars Technica. Condé Nast. Retrieved 22 August 2013.{{cite web}}: CS1 maint: url-status (link)


बाहरी संबंध