این کتابخانهها عبارتند از 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 آشنا میشویم.
امیربهاالدین سبطالشیخ