ورود

View Full Version : چه وقتایی از wpf باید استفاده کرد؟



ali_72
دوشنبه 03 آذر 1393, 12:26 عصر
سلام

دوستان چه وقتی از wpf استفاده میکنید؟

میدونم wpf مثل win app برای برنامه های تحت ویندوز ارائه شده

ولی قدرتمند تر در امور گرافیکی

این تنها ملاک برای انتخاب wpf هست؟

تنها جایی که صحبت از انیمیشن یا کار گرافیکی در برنامه های desktop میشه؟

معایب wpf در مقابل win app چیه؟

SabaSabouhi
شنبه 08 آذر 1393, 12:06 عصر
سلام
برتری‌ها
Wpf نسبت به WinForm خیلی برتر هست. اگر تحت DotNetFramework برنامه نویسی می‌کنید. خیلی ارجح هست که از Wpf استفاده کنید.
ظاهر زیباتر، امکانات بسیار برتر برای برنامه نویسی، جدا بودن کد و ظاهر فرم‌ها ( مانند Asp.Net )، سرعت بالاتر برخی از ویژگی‌های wpf هستند.

ضعف‌ها
گمان کنم یاد گرفتنش سخت‌تر از winform باشه. بخصوص اگه بخواین خودتون CustomControl بنویسین. اگه بعد از این که یاد گفتین دیگه سراغ
winForm نخواهید رفت.

خلاصه
Winform برای دیروز بود، و Wpf برای امروز و فردا. مگر این که کلاً محیط Desktop از ویندوزها حذف بشه که حداقل تا Window 10 این اتفاق نخواهد افتاد.

صبا صبوحی

Mori Bone
شنبه 08 آذر 1393, 19:15 عصر
ضعف‌ها
گمان کنم یاد گرفتنش سخت‌تر از winform باشه. بخصوص اگه بخواین خودتون CustomControl بنویسین. اگه بعد از این که یاد گفتین دیگه سراغ
winForm نخواهید رفت.
سلام. ببخشید الان از نظر یه مبتدی cpp هم خیلی دشواره. (چرا cpp، همین vb6) آیا این یه ضعفه(ضعفه زبان یا تکنولوژی)؟

hsgpro
شنبه 08 آذر 1393, 19:31 عصر
سلام
به نظر من بزرگترین عیب WPF اینه که سرعت اجرای برنامه هاش نسبت به Windows Form ها خیلی پایینه که فکر کنم دلیلش اینه که WPF از DirectX استفاده میکنه.
مزیت هاش هم که خودتون احتمالاً فهمیدید امکانات گرافیکی باحال یا پخش فیلم و آهنگ داخلی (بدون ActiveX هایی مثل Windows Media Player) و... اما بازم به نظرم سرعت اجرا چیزی نیست که بی خیالش بشیم.

Mori Bone
شنبه 08 آذر 1393, 20:02 عصر
سلام
به نظر من بزرگترین عیب WPF اینه که سرعت اجرای برنامه هاش نسبت به Windows Form ها خیلی پایینه که فکر کنم دلیلش اینه که WPF از DirectX استفاده میکنه.
مزیت هاش هم که خودتون احتمالاً فهمیدید امکانات گرافیکی باحال یا پخش فیلم و آهنگ داخلی (بدون ActiveX هایی مثل Windows Media Player) و... اما بازم به نظرم سرعت اجرا چیزی نیست که بی خیالش بشیم.

شما تا به حال یه پروژه کامل با این تکنولوژی نوشتین که میاید می گید سرعتش پایینه؟


اصلا لحنم تحقیر آمیز نیست. فکر بد نکنید. و ناراحت نشید. کاملا دوستانست.

hsgpro
شنبه 08 آذر 1393, 20:15 عصر
شما تا به حال یه پروژه کامل با این تکنولوژی نوشتین که میاید می گید سرعتش پایینه؟


اصلا لحنم تحقیر آمیز نیست. فکر بد نکنید. و ناراحت نشید. کاملا دوستانست.

بله یه Video Player خونگی باهاش نوشتم.
نه اصلاً ناراحت نمیشم اما به نظرتون اصلاً ممکنه کسی وقتی با چیزی کار نکرده بعد نظر بده؟

من با WPF یه اشتباهی کردم یه بار AutoPlay سی دی هم ساختم روی سی دی دیگه سرعت اجرای برنامه هاش خیلی خیلی پایین تر میاد که البته این به خاطر سرعت خواندن سی دی است اما به هر حال AutoPlay هایی که با ++C یا حتی Windows Form سی شارپ ساخته شده باشن سرعت اجراشون خیلی بیشتره.

Mori Bone
شنبه 08 آذر 1393, 20:38 عصر
اصلاً ممکنه کسی وقتی با چیزی کار نکرده بعد نظر بده؟
چرا ممکن نیست. بعضی ها هستند که به هر کسی اعتماد می کنن و گوششون رو در اختیار اون شخص قرار می دهند و حرف های شنیده شده، چه درست چه غلط رو همه جا جار می زنند.:چشمک:

elec60
شنبه 08 آذر 1393, 22:00 عصر
اگه سیستم سخت افزار قویتر و مخصوصا گرافیک قویتر داشته باشه و سیستم عامل هم XP نباشه سرعت اجرای WPF بیشتره.
این تکنولوژی رو هم حرفه ای بلد باشی و راه کارهای افزایش کارائی رو بدونی تاثیر زیادی داره!

برای مثال استفاده از خاصیت Virtualizing مربوط به Panel ها
برای مثال استفاده کردن از StataicResource بجای DynamicResource در صورت امکان
برای مثال استفاده کم از ایفکت سایه
برای مثال استفاده مناسب از DataBinding

تو این سایت ۱۰ مورد نوشته شده:

http://www.codeguru.com/csharp/.net/net_wpf/article.php/c18025/10-Ways-to-Improve-the-Performance-of-Your-WPF-Application.htm

SabaSabouhi
چهارشنبه 12 آذر 1393, 09:10 صبح
سلام. ببخشید الان از نظر یه مبتدی cpp هم خیلی دشواره. (چرا cpp، همین vb6) آیا این یه ضعفه(ضعفه زبان یا تکنولوژی)؟

سلام
حق با شماست، «ضعف» واژه مناسبی نیست. در واقع خواستم یه جوری Disadvantage رو ترجمه کرده باشم.
برای کسی که می‌خواد شروع کنه همیشه زمان فراگیری یک پارامتر هست. و طبیعی است دوستانی که یه کمی مبارزه طلب باشن
خیلی به این نکته اهمیت نمی‌دن :)

صبا صبوحی

SabaSabouhi
چهارشنبه 12 آذر 1393, 09:14 صبح
سلام
به نظر من بزرگترین عیب WPF اینه که سرعت اجرای برنامه هاش نسبت به Windows Form ها خیلی پایینه که فکر کنم دلیلش اینه که WPF از DirectX استفاده میکنه.
مزیت هاش هم که خودتون احتمالاً فهمیدید امکانات گرافیکی باحال یا پخش فیلم و آهنگ داخلی (بدون ActiveX هایی مثل Windows Media Player) و... اما بازم به نظرم سرعت اجرا چیزی نیست که بی خیالش بشیم.

سلام
کندی‌ای که شما مشاهده می‌کنید مربوط به زمان بارگزاری اسمبلی‌ها هست. و چیزی که من می‌بینم اینه که بعد از بارگزاری ( که می‌تونید اون رو مخفی کنید )
سرعت اجرا بیشتر از Winform هست. برای اطمینان برنامه رو یک بار اجرا کنید، خارج بشین و دوباره اجرا کنین. اختلاف سرعت رو می‌تونید بخصوص روی
سیستم‌های کند‌تر مشاهده کنید.


صبا صبوحی