قدمت شركة مايكروسوفت لغة Extensible Application Markup Langauge وهي عبارة عن توسيع للغة XML بحيث نرى العلاقة الهرمية والأشجار والنمط الهيكلي قريبة جدا من لغة XML , وتم أصدار اول نسخة في 2008 ضمن3.0 .Net Framework
وكان الهدف الرئيسي من تطوير هذه اللغة لأجل بناء وتصميم الواجهات الرسومية (User Interface) لتطبيقات .Net بحيث ظهرت في البداية مصاحبة لتقنية Windows Presentation Form (WPF) و (SL) Silverlight وذلك من خلال فصل كود التصميمXAML عن الكود الداخلي C#, VB ومن ثم أدخلت هذه اللغة في تقنية Windows Workflow Foundation (WF) و Windows 8 Metro في الأصدارات اللاحقة بحيث نرى ان الكثير من الواجهات في الويندوز 8 أعتمدت على هذه اللغة بسبب سهولة سياقها مقارنة باللغات الأخرى أضافة الى كفائتها وامكانياتها الفائقة في التصميم .
Advantages of XAML
v سهولة تعلمها وقرائتها وقصر اكوادها مقارنة بكود C# , VB
v يتم فصل الكود التصميم عن الكود الداخلي (Code behind)
v يمكن توليدها عن طريق الادوات الرسومية في برنامج Expression Blend
v فصل كود التصميم XAML عن الكود UI Logic يسمح لنا بفصل الأدوار والبيئات مابين المصمم والمطور .
XAML vs. Code
عند أستخدام تقنية الكلاسيكية WinForm في بناء التطبيقات والواجهات نشاهد أن المطور يستخدم لغة C# , VB في كتابة الكود الداخلي وكود التصميم واقصد بناء الأزرار
والتبويبات الى أخره , ونشاهد أيضا في تقنية WPF ايضا يمكن للمطور أستخدام لغة C# , VB لبناء الواجهات الرسومية لكن يوجد سبب رئيسي لعدم أستخدام هذه الطريقة التقليدية بعد أن ظهرت لغة XAML على وجه الأرض بحيث تعمل على أختصار الكود المكتوب وهذا ما
نشاهده من code snippet التالي الذي يتألف من نص (TextBlock) وزر(Button) موجودان داخل وعاء (StackPanel) أضافة الى خاصية الحاشية الداخلية (Margin) والمحاذاة ألافقية (HorizontalAlignment).نشاهد التشابه الكبير بين XAML ولغة XML ,HTML
ونلاحظ نفس الكود السابق لكن بأستخدام لغة #C
نلاحظ من الرسم ان أستخدام لغة XAML يوفر الوقت بسبب الفرق من حيث حجم الكود
في الرسم التالي يوضح نتيجة تنفيذ الكود سواء كان بواسطة لغة XAML , C#
أذن ممكن ان نستنتج بأن لغة XAML تستخدم لبناء الواجهات الرسومية أما لغة C# , VB لبناء الأكواد الداخلية Code behind .
لغة XAML تحتوي على الكثير من الأدوات التي تمكن المصمم من بناء كل شيئ يخطر على بال العميل وذوي المصلحة . ويمكن لأي مصمم ومطور تعلمها بسهولة من خلال
المرجع التالي : XAML Developer Reference
No comments:
Post a Comment