لغة ترميز التطبيقات القابلة للتوسيع
لغة ترميز التطبيقات القابلة للتوسيع ( XAML / ˈzæməl /ⓘ هيتعريفية قائمةXMLطورتهامايكروسوفتلتهيئة القيم والكائنات المهيكلة. وهي متاحة بموجبوعد المواصفات المفتوحة. [ 3 ]
تُستخدم لغة XAML على نطاق واسع في Windows Presentation Foundation (WPF) و Silverlight و Workflow Foundation (WF) و Windows UI Library (WinUI) و Universal Windows Platform (UWP) و. NET Multi-platform App UI (.NET MAUI). في WPF وUWP، تُعد XAML لغة ترميز لواجهة المستخدم لتحديد عناصر واجهة المستخدم وربط البيانات والأحداث. أما في WF، فتُستخدم XAML لتحديد سير العمل .
ترتبط عناصر XAML مباشرة بمثيلات كائنات وقت التشغيل للغة المشتركة (CLR)، بينما ترتبط سمات XAML بخصائص وأحداث CLR على تلك الكائنات.
يمكن التعبير عن أي شيء يتم إنشاؤه أو تنفيذه باستخدام لغة XAML باستخدام لغة .NET تقليدية، مثل C# أو Visual Basic .NET . ومع ذلك، يتمثل أحد الجوانب الرئيسية لهذه التقنية في انخفاض التعقيد المطلوب للأدوات لمعالجة XAML، لأنها تستند إلى XML. [ 4 ]
تكنولوجيا
كانت XAML في الأصل اختصارًا لـ Extensible Avalon Markup Language، وكان Avalon هو الاسم الرمزي لـ Windows Presentation Foundation (WPF). [ 5 ] ولكن قبل انتهاء تطوير .NET Framework 3.0، اعتمدت مايكروسوفت XAML لـ Workflow Foundation (WF). [ 5 ]
في WPF، يصف XAML واجهات المستخدم المرئية . يتيح WPF تعريف الكائنات ثنائية وثلاثية الأبعاد، والتدوير، والرسوم المتحركة، ومجموعة متنوعة من التأثيرات والميزات الأخرى. يمكن تجميع ملف XAML إلى ملف لغة ترميز التطبيقات الثنائية (BAML)، [ 5 ] [ 6 ] والذي يمكن إدراجه كمورد في تجميعة .NET Framework. أثناء التشغيل، يستخرج محرك الإطار ملف BAML من موارد التجميعة، ويحلله، وينشئ شجرة مرئية أو سير عمل مطابقًا في WPF.
في سياقات سير العمل، يصف XAML منطقًا تصريحيًا قد يستغرق وقتًا طويلًا، مثل ذلك الذي تُنشئه أدوات نمذجة العمليات وأنظمة القواعد. كان يُطلق على تنسيق تسلسل سير العمل سابقًا اسم XOML، لتمييزه عن استخدام XAML في ترميز واجهة المستخدم، ولكن لم يعد هناك تمييز بينهما الآن. مع ذلك، لا يزال امتداد الملفات التي تحتوي على ترميز سير العمل هو ".xoml". [ 7 ]
يستخدم XAML طريقة محددة لتحديد المظهر والشعور تسمى القوالب ؛ وهي تختلف عن صيغة أوراق الأنماط المتتالية ، وهي أقرب إلى XBL . [ 8 ]
لإنشاء ملفات XAML، يمكن استخدام Microsoft Expression Blend أو Microsoft Visual Studio أو مصمم WF المرئي القابل للاستضافة أو XAMLPad. [ 9 ]
أمثلة
يوضح هذا المثال الخاص بـ Windows Presentation Foundation النص "Hello, world!" في حاوية XAML ذات المستوى الأعلى المسماة Canvas.
<Canvas xmlns= "http://schemas.microsoft.com/client/2010" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" > <TextBlock> مرحباً بالعالم! </ TextBlock> </Canvas>xmlns="http://schemas.microsoft.com/..."قد يلزم تغيير المخطط ( الجزء) ليعمل على بعض أجهزة الكمبيوتر. باستخدام مخطط توصي به مايكروسوفت، يمكن أيضًا استخدام المثال [ 10 ]
<Canvas xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" > <TextBlock> مرحباً بالعالم! < /TextBlock> </Canvas>يُعدّ الاستخدام الأمثل للربط، بالإضافة إلى إنشاء عناصر مستخدم مخصصة حسب الحاجة، جزءًا أساسيًا من الاستفادة الكاملة من لغة XAML. ويمكن إجراء الربط على النحو التالي:
<TextBox x:Name= "txtInput" /> <TextBlock Text= "{Binding ElementName=txtInput,Path=Text}" />الاختلافات بين إصدارات XAML
توجد ثلاثة تطبيقات رئيسية لـ XAML من مايكروسوفت:
- Windows Presentation Foundation (WPF)، الذي كان متاحًا لأول مرة مع .NET Framework 3.0
- Silverlight 3 و 4، كانا متاحين لأول مرة لمتصفح Internet Explorer 6، وقد تم إيقاف دعمهما الآن.
- مكتبة واجهة مستخدم ويندوز (المعروفة سابقًا باسم UWP XAML و WinRT XAML)، تم إصدارها لأول مرة مع ويندوز 8 وويندوز سيرفر 2012 ، ولكنها متاحة الآن كجزء من حزمة تطوير تطبيقات ويندوز (Windows App SDK).
تختلف هذه الإصدارات في بعض جوانب تحليل البيانات. [ 11 ] إضافةً إلى ذلك، فإن محلل XAML الخاص بـ Silverlight 4 ليس متوافقًا تمامًا مع ملفات Silverlight 3. قد يرفض محلل Silverlight 4 ملفات XAML الخاصة بـ Silverlight 3 أو قد يحللها بطريقة مختلفة. [ 12 ]
إلى جانب تطبيقات مايكروسوفت، هناك أيضًا OpenSilver (المعروف سابقًا باسم CSHTML5)، وهو تطبيق حديث لتقنية الويب.
تطبيقات XAML في متصفحات الويب
تاريخيًا، كان من الممكن تشغيل التطبيقات المبنية على لغة XAML في بعض متصفحات الويب ، مثل إنترنت إكسبلورر وفايرفوكس . وكان ذلك يتم عبر ملفات XBAP المُنشأة من تطبيقات WPF ، أو باستخدام إضافة Silverlight للمتصفح. إلا أن هاتين الطريقتين لم تعدا مدعومتين في جميع المتصفحات الرئيسية نظرًا لاعتمادهما على واجهة NPAPI المتوقفة عن العمل. [ 13 ] [ 14 ]
مخاوف من الانحصار
في عام 2007، اتهمت اللجنة الأوروبية للأنظمة القابلة للتشغيل البيني (ECIS)، وهي ائتلاف يضم في معظمه شركات برمجيات أمريكية، شركة مايكروسوفت بمحاولة الاستيلاء على لغة HTML واستبدالها بلغة XAML، مما يخلق احتكارًا من جانب مورد واحد . [ 15 ] [ 16 ] وصف جيريمي رايمر، في مقال له على موقع Ars Technica، هذا التعليق بأنه "الخطأ الفادح"، وأضاف أن من غير المرجح أن تحل لغة XAML محل لغة HTML على الإطلاق. [ 16 ]
انظر أيضاً
مراجع
- ↑ " [ MS-XAML ] مواصفات تعيين كائنات Xaml 2006" (ملف PDF) . مايكروسوفت . يونيو 2008.
- ↑ "لغة ترميز التطبيقات القابلة للتوسيع (XAML)" . مايكروسوفت . 12 مارس 2019.
- ↑ وورثينجتون، ديفيد. "مايكروسوفت تضيف XAML إلى قائمة "المواصفات المفتوحة" - مجلة تطوير البرمجيات على الإنترنت" . مؤرشف من الأصل بتاريخ 11 ديسمبر 2008. تم الاطلاع عليه بتاريخ 6 أبريل 2021 .
- ↑ "شرح مفصل لبنية XAML" . مكتبة Windows Presentation Foundation . مايكروسوفت . ١٢ أغسطس ٢٠٢١ - عبر مستندات مايكروسوفت .
- 1 2 3 روب ريليا : يناير 2004 - المشاركات
- ↑ غير معروف (30-07-2009). "ما هي لغة BAML؟" . برنامج DOTNET Spider.
BAML تعني لغة ترميز التطبيقات الثنائية، وهي نسخة مُجمّعة من لغة XAML. عند تجميع ملف XAML، يتم إنشاء ملف BAML.
- ↑ أندرو، بول (25 يناير 2006). "xoml أم xaml؟" . أرشيف مجتمع MSDN . مايكروسوفت . مؤرشف من الأصل في 28 نوفمبر 2020.
تُحفظ برامج (أو نماذج) سير العمل بتنسيق XAML، وهو تنسيق شائع في Avalon لتسلسل أنواع .NET كملفات XML. يركز Avalon XAML على واجهة المستخدم، بينما يركز Workflow XAML على عمليات الأعمال، لذا يوجد فرق دلالي واضح. يبدو أن امتداد ملف XOML سيظل مستخدمًا لنماذج سير العمل، على الرغم من أن تنسيق الملف هو XAML.
- ↑ غوثري، سكوت (22 فبراير 2008). "الجزء السابع من سلسلة دروس سيلفرلايت: استخدام قوالب التحكم لتخصيص مظهر عنصر التحكم" . مدونة سكوت غو .
- ↑ أفيري، جيمس؛ هولمز، جيم. "3.3 كتابة XAML في XamlPad - أدوات مطوري ويندوز المتقدمة [ كتاب ] " . www.oreilly.com . أورايلي.
- ↑ صفحة نظرة عامة على Microsoft XAML في نظرة عامة على XAML (العنصر الجذر و xmlns)
- ↑ "اختلافات معالجة XAML بين إصدارات Silverlight وWPF" . أرشيف Silverlight . مايكروسوفت . 17 نوفمبر 2011 - عبر وثائق مايكروسوفت .
يتضمن Silverlight محلل XAML كجزء من تثبيت Silverlight الأساسي. يستخدم Silverlight محللات XAML مختلفة اعتمادًا على ما إذا كان تطبيقك يستهدف Silverlight 3 أو Silverlight 4. يوجد المحللان جنبًا إلى جنب في Silverlight 4 لتحقيق التوافق. في بعض الحالات، يختلف سلوك تحليل XAML في Silverlight عن سلوك التحليل في Windows Presentation Foundation (WPF). يمتلك WPF محلل XAML خاصًا به.
- ↑ "اختلافات معالجة XAML بين إصدارات Silverlight" . أرشيف Silverlight . مايكروسوفت . 17 نوفمبر 2011 - عبر مستندات مايكروسوفت .
- ↑ adegeo. "أسئلة وأجوبة حول دعم XBAP" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 16-05-2024 .
- ↑ ناكارنام (16 مارس 2020). "نهاية دعم سيلفرلايت - دورة حياة مايكروسوفت" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 16 مايو 2024 .
- ↑ بير، ستان (28 يناير 2000). "مايكروسوفت تواجه رسومًا من الاتحاد الأوروبي على نظام التشغيل فيستا" . iTWire . تم الاطلاع عليه بتاريخ 22 أغسطس 2013 .
- 1 2 رايمر، جيريمي (26 يناير 2007). "رئيس اللجنة الأوروبية يتهم مايكروسوفت باختطاف الإنترنت" . آرس تكنيكا . كوندي ناست . تم الاطلاع عليه بتاريخ 22 أغسطس 2013 .
روابط خارجية
- مصطلحات .NET
- لغات الترميز التصريحية
- لغات البرمجة التصريحية
- لغات الترميز
- واجهات برمجة تطبيقات مايكروسوفت
- تقنية الوسائط المتعددة لنظام التشغيل مايكروسوفت ويندوز
- لغات ترميز واجهة المستخدم
- لغات ترميز الرسومات المتجهة
- المعايير القائمة على لغة XML
