Friday, November 30, 2012

XAML مقدمة حول

قدمت شركة مايكروسوفت لغة  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