اين كتابخانهها عبارتند از WPF ، WCF WWF و WCS كه در اين مقاله قصد داريم قدري بيشتر با WPF آشنا شويم.
WPF يا همان بنيان گرافيكي ويندوز، مدل جديدي از برنامههاي تحت ويندوز ارائه ميدهد و ديگر اشياي بصري كه در مدلهاي قبلي توسعه برنامههاي ويندوزي استفاده ميشد مثل Win Form و MFC نيستند. در اين مدل اشيا از يكسري بردار تشكيل شدهاند و براي رسم آنها در صفحه نمايش نياز به نقاشي آنها در روي صفحه نمايش نيست. (در مدلهاي قبلي زماني كه يك كنترل روي صفحه قرار ميگرفت و سيستم ميخواست آن را نمايش دهد، سيستمعامل آن را روي صفحه نمايش نقاشي ميكرد و زماني كه آن را جابهجا ميكرديد باز آن را در مكان جديد نقاشي ميكرد. يكي از معضلات اين مدل اين بود كه اگر ويندوز هنگ ميكرد و شما صفحه را جابهجا ميكرديد، جاي آن روي صفحه باقي ميماند).
يكي از مزيتهاي WPF اين است كه به خاطر برداري بودن سرعت لود شدن آنها بيشتر بوده و با بزرگنمايي افت كيفيت مشاهده نميشود.
WPF يك زبان نشانهگذاري جديد به نام XAML (Extensible Application Markup Language) را ارائه كرده است، اين زبان كه اصطلاحا به آن Super HTML گفته ميشود، از قواعد گرامري مبني بر XML پشتيباني ميكند و شما براحتي ميتوانيد اشياي خود را كه قرار است نمايش دهيد در آن تعريف ميكنيد به عنوان مثال:
«Button x:Name=»button1» Content=»Click!» /»
در بالا ما يك دكمه با متن Click! روي آن ساختيم و اسم آن را button1 گذاشتيم. اما آيا براي طراحي فرمها بايد حتما از XAML استفاده كرد؟ جواب خير است. مثال:
Button button1 = new Button();
Button1.Content = «Click!»;
زبان XAML يك مزيت بزرگ دارد و آن هم تعامل هر چه بيشتر برنامهنويسان و طراحان است. در معماري Windows Form آن چيزي كه طراح، طراحي ميكرد با خروجي يكسان نبود. به خاطر اين كه Windows Form براي نمايش گرافيك ضعفهايي دارد. اما در WPF اين ضعفها برطرف شده و با آوردن يك زبان نشانهگذاري مثل XAML اين مشكلات برطرف شده طراح، فرمها و نحوه قرارگيري اشيا را طراحي ميكند و خروجي را به صورت يك فايل XAML به برنامهنويسان ميدهد و برنامهنويسان بر مبناي آن شروع به كدنويسي ميكنند و نتيجه كار همان چيزي هست كه طراح، طراحي كرده است.
اما شروع كار با WPF. براي شروع شما ميتوانيد از ويژوال استوديو استفاده كنيد. ولي از آنجا كه ويژوال استوديو يك محيط براي توسعه برنامههاست، جوابگوي تمام نيازهاي شما نخواهد بود، مايكروسافت براي اين مشكل هم راهحلي ارائه كرده است. آن هم بسته Microsoft Expression Blend است، در اين برنامه هم شما ميتوانيد طراحي كنيد هم برنامه بنويسيد. ولي از هر كدام يك مقداري را به شما ارائه ميدهد. يعني به قدرتمندي ويژوال استوديو نيست و به قدرتمندي يك برنامه طراحي نيست.
اما يكي از بهترين گزينهها محسوب ميشود. طراحها هم ميتوانند از برنامه Microsoft Expression Design استفاده كنند. اين برنامه يك برنامه كامل براي طراحي است و شما ميتوانيد انواع فايلهاي ايجاد شده با ديگر نرمافزارهاي گرافيكي مثل فتوشاپ و Corel Draw را با آن باز و ويرايش كنيد و در نهايت يك فايل XAML از آنها خروجي بگيريد و به عنوان يك Resource به برنامهنويس بدهيد و آنها به عنوان يك قالب كلي از آن استفاده كنند.
همانطور كه گفته شد، WPF مراحل طراحي رابط گرافيكي كاربر و توسعه فني را تسريع ميبخشد و خروجي دقيقا چيزي است كه خواسته شده است.
بعد از ظهور WPF و استقبال از آن براي توسعه برنامههاي تحت ويندوز و دسكتاپ مايكروسافت تصميم گرفت به رقابت با Adobe Flash بپردازد و بر مبناي WPF، Silverlight را ارائه كرد.
Silverlight مانند WPF از يك زبان نشانهگذاري به نام XAML پشتيباني ميكند، اولين نسخه Silverlight مبتني بر Javascript بود و شما براي پيادهسازي برنامه بايد از جاوا اسكريپت استفاده ميكرديد، اما از نسخه ? به بعد مايكروسافت بخش CLR را در Silverlight شبيهسازي كرد، از آن پس شما ميتوانستيد از زبانهاي C# و VB.Net براي توسعه برنامههاي خود با استفاده از Silverlight استفاده كنيد. در نسخههاي بعدي تعامل بين WPF و Silverlight بيشتر شد تا جايي كه شما با تغييرات كوچك در كد خود كه با استفاده از WPF نوشتهايد، ميتوانيد آن را در Silverlight پيادهسازي كنيد.
در مقالههاي بعدي بيشتر با WPF آشنا ميشويم.
اميربهاالدين سبطالشيخ