بسم الله الرحمن الرحيم
قبل زمن ليس ببعيد أخرجت لنا مايكروسفت تقنيتها الجديد او ال PlatForm الجديد الذي يعتبر امتدادا لل Net FrameWork و الموجه او المصصم خصيصا للفيستا هذه ال PlatForm هي ال WinFX لربما العديد سمع عنها لكنها رغم ذلك لازالت مجهولة للعديدين و الكثير لم يبرمج بها خصوصا ان مايكروسفت عملت حظرا عليها :) حيث انك لن تستطيع تحميل ال SDK الخاصة بها و لا حتى ال RunTime Components من موقع مايكروسفت الا اذا كنت تملك نسخة أصلية للويندوز .
المهم هذه التقنية أتت باشياء رائعة أضيفت الى ال Dot Net FramWork مثل ال Avalon و ال Indego و نظام الملفات الجديد Win FS تعتبر (بالنسبة لي نقلة نوعية لنظم تشغيل الويندوز) و طبعا يمكنك البرمجة بها في الويندوز XP و ال VS.NET 2005 Beta1,2 ...
شوف نقتصر على الكلام على التقنية Avalon و ان شاء الله نتكلم عن باقي التقنيات الأخرى لاحقا (و هذا ليس وعد بسبب انشغالي و اقتراب الدراسة :( )
AVALON
هذه الطبقة تعتبر من أهم الطبقات في هذا النظام (WinFX) حيث انها الطبقة الظاهرة للعين و التي تهتم بالشكل الخارجي لنظام التشغيل (مثلا ال LongHorn) و التي تمكن من عمل تأثيرا رائعة مثل ال Alpha Blending و ال transparency effects ... الشئ الذي يعطي للنظام شكل رائع لكن بطبيعة الحال ينقص من كفائته (اذا كان جهاز متوسط الكفائة) ذلك لأنه بكل بساطة ما يظهر على الشاشة ليس بصور (Bitmaps) و لكن ما يظهر عبارة عن Vectors الشئ الذي يعني انه مهما كانت ال Resolution الخاصة بكمبيوترك فنوعية الصورة ستبقى كما هي (حتى لو كانت لديك شاشة ذات 10 أمتار في الشعاع :o ) و طبعا لن تحصل على هذا مجانا فالنظام يستهلك الذاكرة من ال Graphic Card كأنك تلعب لعبة 3D :) .
الشئ المثير في هذه التقنية (أعني ال Avalon) هو اللغة الجديدة XAML (eXtesible Application Markup Language) و التي تنطق (Zammel) و هي لغة جديدة و فائدتها تصميم واجهات برامج مستقلة عن الكود يعني ممكن أن يقوم مصمم ببناء الواجهة كاملة و أنت تقوم فقط بعمل الكود في نفس الوقت فقط تتفقوا حول التسميات للأدوات
مثال :
<Button Click="btnClick" Name="MyButton"> Click Me </Button>
ملاحظة -- يمكنك تغيير الخصائص للبوتن مثلا ال Width و ال Height و ال FontSize ... و اللغة على فكرة Case Sensitive ---
كما تلاحظون هذا كود جد جد بسيط بال XAML و مقروء و مفهوم و معناه اننا أنشأنا بوتن حدث ال Click اسمه btnClick و اسمها MyButton و ال Text الخاصة بها هي Click Me و عن طريق الكود نقوم بكتابة التالي (على فكرة الكود يكون مثل ال Code-Behind في ال Web App) :
Sub OnClick7(ByVal sender As Object, ByVal e As RoutedEventArgs) MyButton.FontSize="15" MsgBox "Hi Every Body That's Me Crazy-Man" End Sub
و طبعا من فوائد هذه الطريقة امكانية عمل عدة واجهات لبرنامج واحد دون المساس بالكود يعني ممكن تعمل 10 ملفات XAML لبرنامج واحد و تغيير وقتما شئت او تعرض على الزبون الشكل الذي يحب :)
أتمنى أن يكون الشرح واضح و اتمنى منكم ان تحملو ال WinFX لكي تجربوها لأني " ليس من رأى كمن سمع"



