مقدمة إلى Silverlight - الجزء الثاني
الكاتب: مؤيد مارديني | 15 يناير 2008
في المقالة الماضية قدمنا لتقنية Silverlight و ذكرنا بسرعة لغة XAML "زامل" (هذه الكلمة هنا هي اختصار لـeXtensible Application Markup Language) و التي سنكتب بها واجهات و تصاميم تطبيقات Silverlight، فلنلق الآن نظرة سريعة على هذه اللغة ثم نبدأ بعدها بالاطلاع على الأدوات التي سنستعملها للبدأ العملي باستخدام Silverlight.
قامت مايكروسوفت بتقديم XAML لأول مرة مع تقنية WPF ـ (Windows Presentation Foundation) و هي جزء من إطار عمل دوت نيت 3.0 الذي استهدف ويندوز فيستا، تم تصميم اللغة على أساس تسهيل التعاون بين مصممي التطبيقات و مطوريها و إعطاء مرونة أكبر لكليهما.
عند ظهور Silverlight (و هو ما حدث بعد ظهور WPF) تم اعتماد زامل أيضاً لتمثل تصاميم التطبيقات، و لكن زامل التي استخدمت في Silverlight أصغر من زامل التي استخدمت مع WPF، فهناك بعض الميزات التي سنجدها في زامل الثانية و نفتقدها في زامل الأولى (على اعتبار أن زامل الأولى مجموعة جزئية فقط من زامل الكبيرة)، مثال على ذلك، وسم Windows، موارد الصفحة، Data Binding و بعض الأشياء الأخرى (هل تذكرون الحاجز الذي تحدثنا عنه في مقالنا السابق؟!).
بما أن زامل كما ذكرنا تعتمد على XML، فسيتم كتابتها ببنية مشابهة لبنى ملفات XML القياسية، الوسم الجذر أو الأساسي (root tag) يسمى Canvas.
يحوي كل Canvas وسوم فرعية تمثل عناصره التي قد يكون أحدها Canvas آخر، قد يحوي بدوره (أي الـCanvas الابن) Canvas حفيد و هكذا (ما أجملها من عائلة من الـCanvases!)، يجب أن يحوي الـCanvas الأساس على تعريف للـXML Namespace التي سيستخدمها Silverlight، تذكر الـXMLNS التي نضعها في قمة صفحات HTML و XHTML، هذا المفهوم هو ما نتحدث عنه هنا (إن لم تفهم ما يعني هذا فلا تقلق، ليست المسألة بهذه الخطورة)، أي أن الشكل القياسي الذي سيكون عليه أي ملف XAML لـSilverlight عند إنشاؤه هو :
-
<Canvas xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
-
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”>
-
</Canvas>
حسناً، بهذه الطريقة نكون قد قمنا بتعريف ملف XAML فارغ، يشكل ملف الـXAML هذا واحداً من أربع ملفات يتكون منها أي تطبيق Silverlight قياسي، هذه الملفات هي :
- صفحة HTML تحوي إضافة Silverlight.
- ملف silverlight.js.
- ملف Javascript ثاني ليرافق صفحة HTML.
- الملف الرابع؟ إنه ملف XAML الذي كنّا نتحدث عنه بالطبع.
حسناً، أعتقد أنني قلت كل شيء نظري يجب أن تعرفه قبل أن نندفع وراء حماسنا (حماسي على الأقل) لنبدأ باستخدام Silverlight بشكل عملي، لن تحتاج لذلك (أي للاستعمال العملي) إلا إلى إضافة (Plug-in) Silverlight لمتصفحك، ثم يمكنك استخدام أي محرر نصوص لتقوم بتحرير ملف الـHTML لتضيف إليه Silverlight (يمكنك استخدام Notepad مثلاً).
يمكنك اعتبار كل هذا الكلام نظري، فمن سيقوم بكتابة تطبيق كامل يحوي كود، واجهات، حركة، ... دون أن يقع في مشاكل تضطره لاستخدام الـDebugger الموجود في Visual Studio أو دون أن يستغرق أضعاف الوقت اللازم؟ يمكن للقراء الواقعيين معنا الذهاب إلى الصفحة http://www.silverlight.net/GetStarted و تحميل ما يحتاجونه من برامج و من أدوات تسهل عليهم العملية كثيراً، و تسرعها كثيراً أيضاً.
ستجد في الصفحة السابقة أربعة أقسام :
القسم الأول (Runtimes) و هو للجميع، مستخدمين، مصممين، مطورين، أطباء، محامين،...
القسم الثاني و هو للمطورين، يحوي رابط إلى صفحة Microsoft Visual Studio 2008 و يمكن الحصول على نسخة تجريبية منه، لاحظ أن النسخة Express المجانية لن تؤدي الغرض دائماً، التحميل الثاني في القسم و هو Microsoft Silverlight 1.1 Tools Alpha for Visual Studio 2008 و هو لبرمجة Silverlight باستخدام الـManaged Code ـ (#C أو Visual Basic) و أما إن لم ترغب باستخدام الـManaged Code و أردت فقط Javascript فالنسخة 1.0 من Silverlight ستفي بالغرض (طبعاً هناك الكثير من الميزات التي ستفتقدها إن تنازلت إلى النسخة 1.0، أبرزها الـManaged Code، LINQ و الكثير من ميزات الحماية و الأمن و غيرها، على كل حال، لم تطرح النسخة 1.1 بعد و ما زالت كما هو واضح في الطور Alpha، بالمناسبة، تمت إعادة تسمية هذه النسخة داخلياً إلى 2.0 بدلاً من 1.1 لأن فريق التطوير وجد أن كل الميزات التي تتم إضافتها إلى النسخة 1.0 تستحق أكثر من 1 بعد الفاصلة).
التحميل الثالث Microsoft ASP.NET Futures يحوي أدوات مفيدة فعلاً لمبرمجي ASP.NET للتعامل مع الـMedia و XAML بشكل أساسي.
القسم الثالث و هو للمصممين، اربطوا الأحزمة، فستحصلون على برامج من أسرة Expression تحبس الأنفاس فعلاً، أبرزها Expression Blend 2 الذي يقوم بتصميم واجهات XAML رائعة بسهولة شديدة، بالإضافة إلى Expression Encoder و Expression Design، و بالمناسبة، كل هذه الأدوات يمكن أن تقوم بالتصدير Export إلى XAML.
القسم الرابع و الأخير و هو لعدد التطوير (SDK) بالنسبة للإصدارين، قم بتحميلها إن أردت أمثلة، توثيق (Documentation)، أو Templates لاستخدامها في Visual Studio.
قم بتحميل ما تحتاج إليه و ابدأ العبث مع أمثلة Silverlight ريثما نعود مرة أخرى بعد بضعة أيام إن شاء الله، ستكتب عندئذ أول تطبيق Silverlight و ستجد المتعة التي تتطلع إليها في ذلك.
شكراً لكم جميعاً (و خاصةً للصابرين الذين أتموا قراءة المقال)...