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

اگه شما هم برنامه نویس سی‌شارپ (‪C#‬) هستید، احتمالا اولین بار در محیط کنسول (Console) یا ویندوزفرم (Windows Form) برنامه نوشته‌اید و مبانی این زبان را فرا گرفته‌اید. اما بیشتر شما احتمالا با تکنولوژی WPF که آخرین تکنولوژی مایکروسافت برای طراحی رابط گرافیکی (GUI) است آشنا نیستید!تکنولوژی WPF چیست و چرا باید از آن استفاده کنیم؟سلام. من دامون هستم و تصمیم گرفتم که یه سلسله آموزش WPF رو بنویسم. اول از همه بگم که برای این همچین موضوعی رو انتخاب کردم که خودم موقع یادگیری این تکنولوژی هیچ منبع رایگان فارسی پیدا نکردم. گفتم حالا که تونستم از منابع انگلیسی این تکنولوژی رو یاد بگیرم بد نیست اونچه که آموختم رو با شما به اشتراک بگذارم، امیدوارم که مفید واقع بشه.بخش اول: WPF چیست؟تکنولوژی WPF آخرین تکنولوژی مایکروسافت برای طراحی رابط گرافیکی‌یه. رابط گرافیکی (GUI) هم دقیقا همون ظاهر برنامست که شما می‌بینید. GUI مشخص میکنه که هر برنامه چطور نمایش داده بشه و اگه نباشه شما مجبورید تمام بخش‌های برنامه رو به صورت دستی ترسیم کنید و هی کد بزنید که قطعا کار بسیار زمان‌بری هست و حرفه‌ای ترین برنامه‌نویس‌ها هم به این کار تن نمی‌دن (مگه اینکه شما برنامه‌نویس شرکت آدوبی باشید (: )ما توی ویندوزفرم هم از GUI استفاده می‌کردیم با این تفاوت که اونجا مجبور بودیم از کنترل‌های پیش‌فرض ویندوزی توی برنامه‌هامون استفاده کنیم و اگه می‌خواستیم که مثلا یه دکمه طراحی کنیم که پس‌زمینه‌ش یه عکس باشه و یه هاله نور دورش باشه :/ ، باید می‌رفتیم از شرکتایی که المان‌های خودشون رو تولید می‌کنند استفاده می‌کردیم و پای یه شرکت دیگه تو برنامه‌مون باز می‌شد و کلی هزینه رو دستمون می‌افتاد و ...حالا مایکروسافت در WPF اومده یه امکانی رو فراهم کرده که ما برای هر المانی در برنامه‌مون بیایم و بگیم که بیا اینو این شکلی طراحی کن و اونو رنگ کن و دور فلانی رو خط بکش، ببخشید دور المان رو خط بکش! خب بگذریم. WPF ساختارش بر اساس DirectX هست و همین باعث میشه بتونید بدون اضافه کردن هرچیزی به برنامه و سنگین کردن اون، از جنبه‌های گرافیکی زیادی استفاده کنید که انجام دادن اونها توی ویندوزفرم خیلی سخت یا حتی غیرممکنه! کارهایی مثل ترسیم گرادینت‌ها، رسم اشکال دلخواه، اعمال افکت‌های مختلف، ایجاد انیمیشن‌ها و خیلی چیزای دیگه!تا اینجا فهمیدیم که WPF به ما کمک می‌کنه برنامه‌های زیباتری بسازیم. البته که مزیت‌هاش به همین‌جا محدود نمی‌شه. بیاین ادامه نوشته رو بخونیم ;)بخش دوم: چرا باید از WPF استفاده کنیم؟اینجا یه لیست از برتری‌های WPF رو میارم تا بدونید چرا باید این تکنولوژی رو یاد بگیریم:این تکنولوژی جدیدتر از ویندوزفرمه و با استانداردهای فعلی تطابق بیشتری دارهخود مایکروسافت درحال استفاده از این تکنولوژی در برنامه‌هایی مثل VisualStudio هستانعطاف‌پذیری بیشتری داره و نیازی به خرید کنترل‌ها از شرکت‌های دیگه نداریدزبان XAML باعث راحت‌تر شدن کار طراحی میشه و محیط برنامه‌نویسی از محیط طراحی رابط کاربری جدا میشنمورد آخر که خیلی مهمه: WPF برای رابط کاربری مستقیم به GPU میره و این باعث میشه که CPU آزاد باشه و برنامه کارایی بهتری داشته باشهبنابراین WPF هم ظاهر بهتری به ما میده، هم به‌روزه، هم سریعتر اجرا میشه و خیلی هم های دیگه ...البته WPF یه بدی هم داره و اونم اینه که اگه بخواید کنترل‌های ویندوز رو در اون استفاده کنید، به زمان بیشتری نیاز دارید. البته که الان کسی زیاد از کنترل‌های ویندوزی استفاده نمی‌کنه و اگه به دنبال یه برنامه زیبا و پرسرعت هستید، ارزشش رو داره یکم برای طراحی ظاهر دلخواهتون وقت بگذارید.سخن پایانیاگر که قصد دارید در برنامه‌نویسی سی‌شارپ به یه جایی برسید یا توی شرکت‌های مختلف کار کنید، یاد گرفتن این تکنولوژی براتون ضروریه. یادگیری WPF خیلی آسون و لذت‌بخشه. توی قسمت بعدی درمورد زبان XAML بیشتر توضیح میدم و اولین برنامه WPF خودمون رو خواهیم نوشت :)پ ن: لایک و کامنت فراموش نشه!در ضمن، از این بخش هم می‌تونید به قسمت‌های قبل و بعد دسترسی داشته باشید :)قسمت بعدی: https://virgool.io/@Damun/%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-%D8%B3%D9%84%D8%A7%D9%85-wpf-%D8%AD%D8%A7%D9%84%D8%AA-%DA%86%D8%B7%D9%88%D8%B1%D9%87-ocxab08ysy9i موفق و پیروز باشیدبا نگاهی به وبسایت WPF Tutorial