نماد سایتنماد سایت بلاگ ایران هاست

تکنولوژی WPF چیست؛ بررسی مهمترین ویژگی Windows Presentation Foundation

WPF چیستWPF چیست

در بررسی و پاسخ به پرسش تکنولوژی WPF چیست بایستی گفت در اولین روز هایی که تکنولوژی dot net پدیدار شد، مایکروسافت به طور ناگهانی طیف کاملی از فناوری های جدید را معرفی کرد. یک راه کامل برای نوشتن اپلیکیشن های وب وجود داشت ASP.NET، یک راه کامل برای وصل شدن به انواع دیتابیس ها ADO.NET، دو زبان برنامه نویسی جدید(VB.NET & C#)  و یک ابزار مدیریتی برای رانتایم. ما پیش از این درباره اینکه vb.net چیست و چه تفاوت با c# دارد صحبت کرده ایم.

در میان این تکنولوژی ها ، هنوز یک فناوری قدیمی وجود داشت و آن چیزی نبود جز Windows Forms  که یک ابزار ساخت اینترفیس برای اپلیکیشن های ویندوز است که به عنوان یک فناوری ساخت اینترفیس برای روزگار ما ، می توان آن را عقب افتاده دانست! اما با پدید آمدن WPF ورق برگشت و بازی عوض شد.

به شما پیشنهاد میشود برای کسب اطلاعات در حوزه asp.net چیست مقاله ما را مطالعه نمایید.

WPF چیست ؟

در پاسخ به WPF چیست بایستی گفت WPF  مخفف Windows Presentation Foundation یک تکنولوژی جدید ساخت و اجرای اینترفیس در برنامه های جدید ویندوز است که اولین بار با .net فریم ورک ۳.۵ و در ویندوز ویستا ارائه شد. اما حالا با نسخه ۴ خود و به کمک ویندوز ۷ ، آمده تا بازی را عوض کند.

کاربرد WPF چیست ؟

همین حالا هم نرم افزار هایی نظیر فایرفاکس ۴ ، اینترنت اکسپلورر ۹ و … از WPF برای ساخت اینترفیس هایشان استفاده می نمایند. پس اگر شما هم به عنوان یک “توسعه دهنده” یا یک “کاربر علاقه مند به دانستن مبانی تکنولوژی های مختلف” ؛ دوست دارید که به طور کاملی با قابلیت ها و امکانات مختلف WPF آشنا شوید؛ این مطلب مناسب شماست. پس آن را از دست ندهید.

اگر چه ویندوز فرم یک ابزار بزرگ و پرقابلیت است ، تغییرات ضروری ای را که باید در سیستم ارتباط با سخت افزار خود اعمال می کرد؛ اعمال نکرده است و به طور کلی می توان آن را ابزاری دانست که در طی ده سال گذشته، دستخوش تغییر اساسی خاصی نشده. ویندوز فرم برای ساختن یک ظاهر بصری و یا استفاده از عناصر استاندارد رابط کاربری ویندوز – مانند  Button , Textbox , Checkbox – به طور قابل ملاحظه ای، متکی به API های کلاسیک ویندوز است. همین مساله در عمل باعث می شود که سفارشی سازی به طور بسیار ناقصی در اجزای رابط کاربری اعمال گردد. به طور کلی ویندوز فرم نمی تواند قابلیت های ترسیمی مدرن و پیشرفته را در اختیار شما قرار دهد و به محض این که کمی آن را از نظر عناصر گرافیکی غنی کنید؛ آنچنان کند و سنگین می شود که از کارتان منصرف می گردید.

 اما حالا WPF یا Windows Presentation Foundation آمده تا همه چیز را عوض کند. مدلی که WPF برای مدیریت منابع سیستم و اجزای رابط کاربری از آن تبعیت می کند؛ کاملا با ویندوز فرم متفاوت است. در همین حال WPF شامل کنترل های استانداردی است که در ویندوز فرم هم دیده می شدند. پس علاوه بر امکانات قبلی، توسعه دهندگان می توانند به قابلیت های ترسیمی کاملا مدرن با استفاده از دایرکت ایکس دست پیدا کنند و به طور کلی یک ظاهر کاملا مدرن را برای برنامه های خود بسازند. نکته دیگر این است که در WPF، زیبایی در عین سرعت به کار برده شده است.

پایه و اساس WPF چیست ؟

پایه و اساس WPF، زیر بنا و ساختار قدرتمندی است که بر اساس DirectX ساخته شده. API های شتاب دهنده گرافیک سخت افزاری که در بازی های کامپپیوتری هم استفاده گسترده ای دارد. معنی اش آن است که شما می توانید از افکت های گرافیکی غنی ای استفاده کنید. بدون آن که نگران کاهش عملکرد و فشار آمدن زیاد به پردازنده شوید. چرا که تمام این افکت ها روی پردازنده گرافیکی پردازش می شوند و GPU ها هم به دلیل معماری موازی در ساختارشان؛ بسیار سریع تر از پردازنده ها به شمار می روند. این همان نقطه ضعف بزرگ ویندوز فرم در برابر WPF می باشد.

در واقع شما می توانید حتی از قابلیت های پیشرفته تری هم استفاده کنید. مانند پشتیبانی از فایل های ویدئویی و محتوای سه بعدی! با استفاده از این قابلیت ها (و یک ابزار خوب برای طراحی) قادر خواهید بود که رابط های کاربری و افکت های بصری بسیار چشم نوازی بسازید. در حالی که هیچ کدام از این کار ها برای ویندوز فرم ممکن نبود.

 در این میان، ویدئو ها ، انیمیشن ها و امکانات ۳ بعدی، توجه بیشتری را در WPF می طلبند. این مهم است که در یاد داشته باشید که شما می توانید از WPF برای ساخت ویندوز اپلیکیشن های عادی با کنترل های استاندارد و افکت های پیش فرض استفاده کنید. در واقع استفاده از کنترل های متداول ویندوز، به همان سادگی ویندوز است. حتی بهتر از این، باید بدانید که WPF برای برنامه های تجاری، سازگاری بیشتری نسبت به ویندوز فرم دارد. یک سری از کلاس های مختلف هم برای محتوای پرینت شده و مدیریت صف های پرینت به وجود آمده اند که بسیار بهتر از نمونه های مشابه در ویندوز فرم هستند. در نهایت هم به امکانات جدیدی می رسیم که در پرونده ها به کار گرفته می شود و به وسیله این امکانات می توانید مقدارهای بزرگی از متن های با فرمت های مختلف را نمایش دهید. برنامه های کاربردی مبتنی بر وب هم، در WPF فضای باز تری برای زندگی دارند. اپلیکیشن های صفحه ای می توانند به طور یک پارچه با Intenet Exploler هماهنگ شوند و یا از یک وب سایت به طور مستقیم اجرا شوند. همه این ها بدون هشدار های امنیتی متداول و آزار دهنده؛ و در عین حال با امنیت کامل اجرا خواهند شد! البته امکان اجرای آن ها روی نسخه های جدید فایر فاکس هم محیاست.

 به طور کلی، WPF  بهترین های دنیای قدیمی توسعه دهندگان ویندوز را در کنار هم جمع کرده و با نو آوری های خود در زمینه درست کردن رابط های کاربری مدرن، با گرافیک غنی مخلوط کرده تا بتواند به نوبه خود بهترین تجربه ممکن را به شما بدهد. اگر چه تولید اپلیکیشن های مبتنی بر ویندوز فرم، تا سال ها ادامه خواهد یافت؛ اما توسعه دهندگانی که هنوز در اول راه قرار دارند یا توسعه دهندگانی که می خواهد رابط کاربری سریع و زیبایی را برای برنامه خود پدید آورند. حتما باید اول به WPF نگاه بیاندازند.

موارد لازم برای استفاده از WPF چیست؟

حالا باید به این سوال پاسخ دهیم که برای استفاده از WPF و همچنین توسعه دادن اپلیکیشن ها بر مبنای آن، به چه چیز هایی نیاز داریم؟ برای اجرای یک برنامه ی WPF، کامپیوتر شما باید مجهز به یکی از نسخه های ویندوز ۷، ویستا یا XP Service Pack 2 باشد. همچنین به نسخه چهارم فریم ورک دات نت هم نیاز دارید. برای ساخت یک اپلیکیشن WPF 4 به نرم افزار Visual Studio 2010 نیاز دارید که .NET Framework 4 را هم داشته باشد.

یک گزینه دیگر برای شما این است که به جای استفاده از Visual Studio، از نرم افزار Expression Blend استفاده کنید که یک ابزار طراحی گرافیک محور می باشد. کاربرد این نرم افزار در ساخت و تست اپلیکیشن های WPF می باشد. به طور کلی، این نرم افزار برای طراحان گرافیکی ای در نظر گرفته شده که دوست دارند وقتشان را به درست کردن رابط های چشم نواز و جدی بگذرانند. اما ویژوال استودیو بیشتر برای برنامه نویس هایی مناسب است که می خواهد برنامه هایی با کد نویسی زیاد تولید کنند. این کتاب پیشفرض را بر این قرار داده که از ویژوال استودیو استفاده می نمایید. اما اگر دوست دارید که چیز های بیشتری در مورد Expression Blend یاد بگیرید، می توانید به عناوینی در همان زمینه که خوشبختانه کم هم نیستند؛ مراجعه فرمایید.

موشن گرافیک چیست؟ در مقالات دیگر ما در این باره بخوانید.

منظور از سیر تکاملی گرافیک در ویندوز و WPF چیست ؟

 حالا وقت آن است که ببینیم: گرافیک و رابط کاربری ویندوز، از ابتدا تا به حال دستخوش چه تغییرات اساسی و مهمی شده است تا بتوانیم به قدرت واقعی WPF در زمینه پردازش گرافیکی پی ببریم.

 بدون این که بدانیم، توسعه دهنده های ویندوز بیش از ۱۵ سال بود که از یک تکنولوژی تقریبا ثابت برای برنامه های خود بهره می بردند، سخت است که بتوانیم از WPF قدر دانی کنیم. اپلیکیشن های استاندارد ویندوز، برای ساختن رابط کاربری خود متکی به دو قطعه ناقص و پیش پا افتاده از سیستم عامل ویندوز بودند. البته از ۱۰ سال پیش تغییرات نسبتا خوبی در ویندوز فرم انجام شد، اما نمی توان آن ها را اساسی دانست.

User32 :

این تکنولوژی همان ظاهر آشنای ویندوز را برای عناصری نظیر پنجره ها، دکمه ها، جعبه متن ها و… پدید می آورد.

GDI/GDI+ :

 این تکنولوژی از قابلیت های ترسیم و رندر سازی: اجسام، متن ها و تصاویر و … پشتیبانی می کرد. بهای استفاده از آن پیچیدگی زیاد و کارایی ضعیف در برنامه ها بود.

در طول چند سال، هر دوی این تکنولوژی ها تصفیه شدند و API هایی که توسعه دهنده ها از آن ها برای تعامل با کاربر استفاده می کردند؛ به طرز چشمگیری تغییر نمودند. اما هنوز هم وقتی با چهارچوب دات نت و ویندوز فرم یا Visual Basic 6 یا کد های C++ مبتنی بر MFC کار می کردید؛ در پشت صحنه همان بخش های مذکور از سیستم عامل به کار گرفته می شدند. فریم ورک های جدید تر، پوشش بهتری را برای تعامل با User 32 و GDI/GDI+  عرضه کردند. این فریم ورک ها توانستند عملکرد و اثر کار را بهبود ببخشند و پیچیدگی کار را کاهش دهند. قابلیت های نمایش پیش از رندر (یا پیش از کامپایل) برنامه ها بهبود یافت و برای بسیاری از کار ها دیگر نیازی به کد نویسی نبود. اما مشکل بزرگتری وجود داشت. این فریم ورک ها هیچ وقت نمی توانستند محدودیت های اساسی کامپوننت های سیستم را که بیش از یک دهه پیش طراحی شده بودند؛ از بین ببرند.

دایرکت ایکس چیست ؟

مایکروسافت یک راه دیگر برای از بین بردن محدودیت های User 32 و GDI/GDI+ ارائه داد و آن چیزی نبود جز Direct X. دایرکت ایکس در ابتدا تبدیل به یک ابزار برای ساخت بازی ها روی پلتفرم ویندوز گردید. اولین تعهد دایرکت ایکس، سرعت بالا بود و به همین دلیل مایکروسافت همکاری های نزدیکی را با سازندگان کارت های گرافیک ترتیب داد تا بتواند شتاب دهنده سخت افزاری لازم را برای دایرکت ایکس به ارمغان آورد. چراکه یک شتاب دهنده سخت افزاری برای پردازش بافت های پیچیده، جلوه های ویژه و گرافیک های سه بعدی لازم و حیاتی بود.

WPF  تمام این ها را تغییر می دهد. در WPF زیربنای تکنولوژی گرافیکی، GDI/GDI+ نیست. به جای آن دایرکت ایکس به کار گرفته شده است. شایان ذکر است که در اپلیکیشن های دبلیو.پی.اف، مهم نیست می خواهید چه نوع رابط کاربری ای را ایجاد نمایید. در هر حال شما با دایرکت ایکس کار خواهید کرد! پس چه به طراحی های پیچیده سه بعدی مشغول باشید و چه به اختصاصی کردن دکمه ها و عوض کردن رنگ متن و …، تمام کار های ترسیمی به دایرکت ایکس محول خواهند شد. در عمل، حتی اپلیکیشن های جهانی و تجاری هم می توانند از جلوه های غنی مانند شفافیت یا فیلتر های AA (Anti Aliasing) استفاده نمایند و بهره مند شدن از شتاب دهنده ی سخت افزاری هم که جای خود را دارد! به طور ساده می توانیم بگوییم که دایرکت ایکس تا هرچقدر که بتواند، سعی می کند عملیات پردازشی را با واحد پردازش گرافیکی (GPU) هماهنگ نماید. این کار علاوه بر آزاد کردن پردازنده برای کار های محاسباتی بیشتر و بهره برداری بهتر از منابع سیستمی، عملکردی خارق العاده در گرافیک نسبت به GDI/GDI+ نصیب شما می کند. چرا که کارت های گرافیک بسیار بسیار قوی تر از پردازنده ها هستند. (به گفته خود اینتل: حدودا ۱۴ برابر)

اما یکی از کامپوننت هایی که همچنان در صحنه حضور دارد و فعالیت می کند(البته به طور محدود) User 32می باشد. WPF هنوز هم برای برخی از سرویس ها متکی به این کامپوننت می باشد. کار هایی مانند اداره و مسیر یابی ورودی ها و طبقه بندی مکان اپلیکیشن ها و پنجره ها، از مواردی هستند که بدون User 32 قابل انجام نمی باشند.

منظور از شتاب دهی سخت افزاری در WPF چیست ؟

 شما حتما می دانید که کارت های گرافیک در ویژگی های تخصصی رندر سازی و بهینه سازی با هم تفاوت بسیاری دارند. اما خوشبختانه، این برای WPF مشکلی به حساب نمی آید. چرا که WPF تقریبا همه ی کار ها را با تکیه بر محاسبات نرم افزاری و رابط های برنامه کاربردی (APIs) انجام می دهد. به همین دلیل نیازی نیست که به پشتیبانی داخلی از کارت گرافیک تکیه نماید.

البته یک استثنا در پشتیبانی نرم افزاری WPF وجود دارد. به دلیل ضرورت پشتیبانی از درایور های ساده و فقیرتر، یا اجرای برنامه ها در ویندوز ایکس پی، WPF امکانات Anti-aliasing سه بعدی را فقط در صورتی ارائه می کند که اپلیکیشن برروی ویندوز های ویستا یا ۷ اجرا گردد و همچنین درایور کارت گرافیک شما از WDDM یا Windows Display Driver Model پشتیبانی کامل بنماید. این یعنی اگر شیء های سه بعدی روی یک کامپیوتر ویندوز ایکس پی نمایش داده شوند؛ به جای خط های صاف و هموار، شکل را با لبه های دندانه دار و تیز خواهید دید. اگر چه برای حالت ۲ بعدی چنین مشکلی وجود ندارد و فرقی نمی کند که از چه سیستم عامل و چه نوع درایوری بهره ببرید.

WPF: یک API سطح بالاتر

اگر تنها چیزی که WPF ارائه می داد یک شتاب دهنده سخت افزاری خوب از طریق دایرکت ایکس بود؛ تبدیل به یک بهبود قانع کننده در رابط کاربری ویندوز می شد. اما به هر حال درآن صورت نمی توانستیم این تکنولوژی را انقلابی بنامیم. اما خوشبختانه WPF یک سبد از انواع سرویس های سطح بالا را با خود به همراه دارد که برای برنامه نویسان بسیار به درد بخور هستند. لیست زیر مهم ترین ویژگی هایی را که WPF با خود و با هدف تغییر، به دنیای برنامه نویسی ویندوز آورده نشان می دهد. پس مطالعه آن را فراموش نکنید:

مهم ترین ویژگی WPF چیست ؟

مدل طرح بندی شبیه به وب

به جای ثابت کردن کنترل ها در محل هایی با مختصات ثابت، WPF روی طرح بندی روان و انعطاف پذیری تاکید دارد که کنترل ها را بر اساس محتوای آن ها رده بندی و تنظیم کند. نتیجه کار پدید آمدن یک رابط کاربری است که می تواند به طور کاملا بهینه خود را با نحوه های نمایش گوناگون و رزولوشن های مختلف تطبیق دهد و از زبان های مختلفی نیز پشتیبانی کند.

مدل ترسیمی غنی

WPF به جای کار کردن با پیکسل ها و وادار کردن کارت گرافیکی به پردازش پیکسل به پیکسل؛ ترکیبی از شکل های هندسی اولیه را به صورت وکتور، به پردازنده گرافیکی می دهد. یعنی اشکال پایه، بلوک های متنی و سایر موارد تشکیل دهنده گرافیکی. همچنین شما به قابلیت های جدیدی دست پیدا خواهید کرد. مانند کنترل واقعی میزان شفافیت، قابلیت دسته بندی کردن لایه های چند گانه با شفافیت های مختلف و پشتیبانی بومی از اشکال سه بعدی.

مدل متنی غنی تر

بعد از سال ها استفاده از مدل های معمولی و ساده ی متنی، حالا WPF امکان استفاده از مدل های متنی غنی و شکل دار را در هر کجای رابط کاربری فراهم کرده است. حتی می توانید متن را با لیست ها، حالت های نمایشی شناور و سایر اجزای رابط کاربری مخلوط کنید. اگر نیاز به نمایش مقادیر زیادی از متن دارید، می توانید از امکانات پیشرفته نمایش پرونده استفاده کنید. مانند ستون بندی، سطر بندی و Justify (هم سو کردن عمودی متن ها از هر دو جهت در پاراگراف ها) کردن متن ها به منظور نمایش بهتر.

پشتیبانی عالی از انیمیشن، به عنوان یک مفهوم از برنامه نویسی

در WPF، نیازی نیست برای وادار کردن یک فرم بری تغییر دادن خودش و یا انیمیشن سازی، به تایمر متوسل شوید. به جای آن، انیمیشن به عنوان یک خصلت ذاتی در فریم ورک گنجانده شده است. شما می توانید با استفاده از برچسب های اعلانی (Declarative Tags) ، انیمیشن را تعریف کنید و به اجرا در آوردن آن را به عهده خود WPF بسپارید.

پشتیبانی از محتوای صوتی و تصویری

ابزار های قبلی رابط کاربری مانند ویندوز فرم، به طرز شگفت آوری در استفاده از محتوای مولتی مدیا محدودیت ایجاد می کردند. اما WPF آماده است تا هر فایل صوتی یا تصویری ای که توسط ویندوز مدیا پلیر پشتیبانی میشود را اجرا کند. علاوه بر این به شما اجازه می دهد که در یک زمان واحد بتوانید بیش از یک فایل رسانه ای را پخش نمایید. و این که WPF به شما ابزار اجرای محتوای ویدئویی در سایر اجزای رابط کاربری را می دهد، باز هم به موثر تر شدن عملکرد آن در مولتی مدیا کمک می نماید. کار های عجیب و قریب زیادی هستند که می توانید با WPF انجام دهید. برای مثال پخش کردن یک فایل ویدئویی روی یک مکعب سه بعدی در حال چرخش!

قابلیت استفاده از قالب ها و سَبک ها

سَبک ها اجازه استاندارد کردن قالب بندی برنامه و استفاده ی دوباره از آن در جای جای اپلیکیشن را می دهند. قالب ها هم به شما اجازه می دهند که خواص رندر سازی هر عنصری را که خواستید تغییر دهید. حتی کنترل های هسته ای ویندوز مانند Button ها. ساختن اینترفیس های مدرن در برنامه ها، هیچ گاه تا این حد آسان نبوده است.

دستورات (Commands)

بسیاری از کاربران به این نکته پی بردند که بین این که (برای مثال) فرمان Open را در منو بگذارند یا در نوار ابزار، فرقی وجود ندارد و نتیجه هر دو یکسان است. اما مساله این جا بود که برای پدید آوردن چند راه مختلف برای انجام یک کار واحد، می بایست کد نویسی بیشتری انجام می دادید. (البته امکان نسبت دادن یک سابروتین به چند کنترل مختلف هم وجود داشت اما با محدودیت و پیچیدگی رو به رو بود.) اما حالا WPF این امکان را به وجود آورده که یک دستور را در یک قسمت تعریف کنید و آن را به کنترل های دیگر لینک نمایید. به این صورت کار ها بسیار راحت تر خواهد شد.

رابط کاربری اعلانی

اگر چه شما قادر خواهید بود که یک پنجره WPF را با کد نویسی کلاسیک درست کنید؛ اما ویژوال استدیو، اکنون راهی متفاوت را برای این کار در اختیار شما قرار می دهد. با سریال بندی هر محتوای خاص از یک پنجره در یک سری از تگ های XML، پرونده های XAML پدید آمده اند! مزیت XAML این است که رابط کاربری را به طور کامل از کد نویسی جدا می نماید. با این قابلیت، طراحان گرافیکی می توانند از ابزار های حرفه ای برای ویرایش فایل های XAML استفاده نمایند و خودشان مستقلا بخش ظاهری نرم افزار را طراحی نمایند. (یاد گرفتن XAML کار سختی نیست و با کمی مطالعه می توانید آن را یاد بگیرید. این زبان، در ساختار شباهت زیادی با زبان HTML دارد.)

اپلیکیشن های مبتنی بر صفحه

با استفاده از WPF می توانید اپلیکیشن هایی مانند مرورگر ها را بسازید. اپلیکیشن هایی که به شما اجازه می دهند در میان مجموعه ای از صفحات گردش کنید. در ضمن امکان استفاده از دکمه های forward و back هم در آن ها وجود دارد. WPF می تواند داده ها را در قالب History صفحه مدیریت کند و شما حتی می توانید پروژه هایتان را به عنوان یک برنامه مبتنی بر مرورگر بسازید که به طور مستقیم در اینترنت اکسپلولر (یا حتی فایرفاکس) اجرا بشوند!

چرا  ویندوز فرم زنده خواهد ماند!

WPF، پلتفرم آینده رابط کاربری اپلیکیشن های ویندوز است. اما به هیچ عنوان نمی تواند یک شبه جای ویندوز فرم را بگیرد. ویندوز فرم در موارد زیادی در اوج نسل “قبلی” تکنولوژی نمایشی قرار دارد. حتی با وجود این که از GDI/GDI+ و User32 برای ظاهر خود استفاده می کند.

 اما سوال اصلی اینجاست که شما باید کدام پلتفرم را برای شروع به طراحی یک ویندوز اپلیکیشن جدید، انتخاب کنید. اگر شما هنوز به آشنایی کامل با ویندوز فرم نرسیدید و در ابتدای راه طراحی واسط کاربری قرار دارید؛ WPF می تواند یک انتخاب ایده آل برای شما باشد. چرا که بهترین چشم انداز را نسبت به بقیه گزینه ها دارد. در همین حال، اگر به امکاناتی نیاز دارید که WPF آن ها را ارائه می دهد؛ اما ویندوز فرم از استفاده آن ها عاجز است (مانند ترسیم سه بعدی یا اپلیکیشن های Page-Based)؛ حتی اگر کار را روی ویندوز فرم هم آموخته باشید، باید به WPF کوچ کنید. حالت دیگر این است که شما سرمایه گذاری قابل توجهی را روی اپلیکیشن های تجاری مبتنی بر ویندوز فرم انجام داده اید و در حال حاضر هیچ نیازی نیست که به WPF مهاجرت کنید. در این صورت می توانید اطمینان خاطر خود را حفظ نمایید. چرا که ویندوز فرم برای چند سال دیگر هم به طور مداوم پشتیبانی خواهد شد.

 شاید بهترین بخش از داستان این باشد که مایکروسافت سرمایه گذاری و تلاش زیادی را به ایجاد لایه ای بین WPF و ویندوز فرم اختصاص داده است. این لایه می تواند در اپلیکیشن های ویندوز فرم، یک میزبان برای کنترل های WPF باشد و به طور بر عکس هم عمل نماید. پس در WPF هم شما امکان استفاده از کامپوننت های قدیمی COM را دارید.

 سیلورلایت

WPF هم یک تکنولوژی مرکزی ویندوز است. درست مثل فریم ورک .NET! معنی اش آن است که اپلیکیشن هایWPF فقط در کامپیوتر هایی اجرا می شود که از سیستم عامل ویندوز استفاده می کنند. حتی اپلیکیشن های مبتنی بر مرورگر (Browser-based) هم با محدودیت هایی این چنینی رو به رو هستند. پس فقط می توانند در ویندوز اجرا شوند اما خوبی آن ها در این است که هم از IE و هم از Fire Fox پشتیبانی می نمایند.

 خوشبختانه یا بدبختانه، این محدودیت ها تغییری نخواهند کرد. چرا که بخشی از هدف مایکروسافت با WPF، این بوده که مزیت استفاده از قابلیت های غنی کامپیوتر های ویندوزی را با سرمایه گذاری اش در تکنولوژی هایی همچون دایرکت ایکس مخلوط کند تا یک تکنولوژی اختصاصی و نوآورانه برای پلتفرم خودش تولید نماید. اما نگران نباشید. سیلور لایت (Silverlight) به عنوان یک زیرمجموعه از WPF عمل می کند. می تواند در مرورگر های مدرن (مانند فایر فاکس، کروم، سافاری و ..) پشتیبانی شود و همچنین روی سیستم عامل های دیگر هم (مانند لینوکس و MAC OS X) اجرا گردد. سیلور لایت از جهاتی شبیه به فلش می باشد و برای توسعه دهندگان علاقه مند، طعمه واقعا لذیذی است.

 گُل اصلی سیلور لایت این است که به رقیبی قدرتمند برای فلش از شرکت آدوبی تبدیل شود. با این همه، فلش یک مزیت کلیدی دارد: این که در سراسر وب استفاده می گردد و تقریبا روی هر کامپیوتری نصب است. با این حال مایکروسافت به منظور رساندن این تکنولوژی جوان را به جایگاهی قدرتمند؛ باید امکاناتی قدرتمندتر را در نسل های بعدی آن بگنجاند. مانند سازگاری بسیار بالاتر و همچنین امکانات بی نظیر برای طراحی! هر چند که باید اعلام کنیم در طول این مدت استقبال از سیلور لایت خوب نبوده و مایکروسافت هم دیگر آن جدیت سابق را روی آن اعمال نمی کند. اما بحث WPF کاملا با سیلور لایت متفاوت می باشد. به هر حال برای آموختن چیز های بیشتر درباره آن، می توانید به وب سایت Silverlight.net مراجعه نمایید.

 سخن آخر

اگر این مقاله را با دقت و با حوصله خوانده باشید؛ با بسیاری از مبانی نسل بعدی اپلیکیشن های ویندوز آشنا شده اید. حال چه به عنوان توسعه دهنده قصد ادامه کار را دارید و چه به عنوان یک کاربر؛ می توانید از اطلاعات مفیدی که در حوزه ی wpf چیست کسب کردید، نهایت استفاده را ببرید. شاید مهمترین مزیت آشنا شدن با WPF این است که بتوانیم اپلیکیشن هایی پایدارتر، سریع تر و زیبا تر برای سیستم عامل ویندوز تولید کنیم و خیلی از مشکلات اپلیکیشن های فعلی را از نظر عدم پایداری و سرعت مناسب ریشه یابی کنیم.

سوالات متداول

WPF یک تکنولوژی جدید ساخت و اجرای اینترفیس در برنامه های جدید ویندوز است که اولین بار با .net فریم ورک ۳.۵ و در ویندوز ویستا ارائه شد.
برای اجرای یک برنامه ی WPF، کامپیوتر شما باید مجهز به یکی از نسخه های ویندوز ۷، ویستا یا XP Service Pack 2 باشد. همچنین به نسخه چهارم فریم ورک دات نت هم نیاز دارید. برای ساخت یک اپلیکیشن WPF 4 به نرم افزار Visual Studio 2010 نیاز دارید که .NET Framework 4 را هم داشته باشد.
این تکنولوژی همان ظاهر آشنای ویندوز را برای عناصری نظیر پنجره ها، دکمه ها، جعبه متن ها و… پدید می آورد.
WPF به جای کار کردن با پیکسل ها و وادار کردن کارت گرافیکی به پردازش پیکسل به پیکسل؛ ترکیبی از شکل های هندسی اولیه را به صورت وکتور، به پردازنده گرافیکی می دهد. یعنی اشکال پایه، بلوک های متنی و سایر موارد تشکیل دهنده گرافیکی. همچنین شما به قابلیت های جدیدی دست پیدا خواهید کرد. مانند کنترل واقعی میزان شفافیت، قابلیت دسته بندی کردن لایه های چند گانه با شفافیت های مختلف و پشتیبانی بومی از اشکال سه بعدی.

خروج از نسخه موبایل