-
محدودیت ها و مزایای WPF نسبت به WinForm
سلام
نیاز مبرم به راهنمایی دوستان
1- محدودیت ها و نقاط قوت WPF نسبت به WInForm
2- ایا یک برنامه کاربردی رو میشه بطور کامل با WPF نوشت و از کامپوننت های Windows Form
استفاده نکرد
3- ایا میتوان WinForm و WPF را در یک پروژه با هم استفاده کرد؟
4- چرا با وجود گرافیک بالا و طراحی راحت برنامه های WPF (Microsoft Expression Blend) انطور که باید و شاید از WPF استقبال نمیشه
5- جایگاه WPF در ویندوز 8
6- چرا بیشتر برنامه ها که در ان از کنترلر کینکت مایکروسافت استفاده شده از WPF استفاده میشه و نه WinForm
با تشکر
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
1) من با هر دوشون کار کردم (هم WPF و هم Win Form) و هیچگونه محدودیتی تا حالا توی WPF ندیدم - نقاط قوت WPF خیلی زیاد هست ولی دو مورد خیلی اصلی داره یکی ظاهر کاربرپسند اون و دیگری Data Binding فوق العادش. (به نظرم محدودیت یعنی خود Win Form!)
2) بله خیلی راحت و یکی از مواردی که WPF به خاطرش ایجاد شد همین بود که مدام برای هر کاری نیاز به Component نداشته باشی. توی WPF خیلی راحت میشه کنترل مخصوص خودتون رو درست کنید.
3) فکر کنم میشه ولی به نظرم اصلاً راه حل خوبی نیست.
4) اتفاقاً از WPF هم خیلی استقبال شده ولی یه چیزی که هست اینه که حجم مطالب WPFیه مقدار زیاده و خیلی ها به همین خاطر سراغش نمیان در حالی که اگر WPF رو یاد بگیرن تازه میفهمن که با Windows Form چه عذابی میکشیدن!
5) WPF و Xaml توی Win 8 هم پشتیبانی میشن (توسعش ادامه پیدا میکنه).
6) نمیدونم!
خیلی از افراد به WPF فقط به چشم ظاهر زیبا نگاه میکنن! در حالی که امکانات WPF خیلی بیشتر از این هست.
نکته دیگه این که میگن با WPF نمیشه برنامه های تجاری و بزرگ (LOB) نوشت که این مورد هم کاملاً اشتباه هستش چون Data Binding قوی WPF کار رو برای نوشتن راحت و سریع این نوع برنامه ها هم خیلی راحت میکنه.
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
سلام دوستان عزیز.
من یک لینک برای شما قرار می دم که تو اون مقایسه ای نسبتاً کوتاه بین تکنولوژی wpf و win form انجام شده. تو این مقایسه ، زمان بارگذاری یا لود برنامه و میزان حافظه مصرفی هر دو تکنولوژی با هم مقایسه شده اند.
در ضمن مطالب جالبی در مورد wpf تو این سایت قرار داده میشه. چون یک از اهدف این سایت معرفی امکانات و آموزش هایی از wpf می باشد.
مقایسه تصویری بین WPF و Windows Form – زمان شروع و حافظه
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
علاوه بر این که سیستم Rendering در WPF از Direct X استفاده می کنه (Win Fromها از GDI+ استفاده می کنند)، باید گفت که ساختار WPF App ها کاملا متفاوت است. از سیستم Property ها بگیرید تا سیستم Event ها، کنترل ها، Binding ها، Style ها، Template ها، Validation ها، Command ها، Animation ها، StoryBoard ها و ... همشون مفاهیم جدیدی هستند که تو WPF وجود دارند.
از هر زاویه که در نظر بگیرید WPF App ها گوی سبقت را به سادگی از Win Form ها خواهند ربود. البته یک نکته وجود داره که Minimum System Requirement های WPF App ها مقداری بالاتر از Win App هاست که البته این موضوع هم با توجه به پیشرفت سخت افزارها منجر به مشکل نخواهد شد.
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
سلام
تمام موارد و امکانات و قابلیت های WPF درصورتی برتری محسوب میشود که شما برای نوشتن برنامه های wpf به سبک Win_app برنامه ننویسید چه از لحاظ برقرای ارتباط با دیتابیس چه استفاده از کنترل ها و چیدمان اونها و خاصیت های آنها و ...
در غیر این صورت توفیقی حاصل نخواهید کرد
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
مشکل اصلی WPF بالاتر رفتن زمان طراحی فرمها و اینترفیس برنامه است. درسته که ایجاد کامپوننت راحته اما اینجور کارها وقت گیره.
واقعا برنامه ای که مینویسید باید نیاز به محیط گرافیکی خوبی داشته باشه که بیایید و از WPF استفاده کنید. مزایاش خیلی زیاده و یعنی بیش از حد زیاده و به جرعت میگم خود VS و Blend هم نتونستن محیط برنامه نویسی کاملی براش درست کنند. در واقع منوها و ابزار گنجایش این همه قابلیت رو نداره هنوز .
اینترفیس خوب رو فقط میشه با Blend ساخت و کد خوب رو هم فقط میشه با VS نوشت. این یعنی شما باید در استفاده از هر دو نرم افزار مسلط بشید
نمیشه همینجوری شروع کرد و کنترل روی کنترل کذاشت. برای خیلی از فرمهای پر کردن اطلاعات دیتابیسی باید زحمت بکشید که یک فرم ساده در WPF ایجاد کنید.
اما بعدش Binding به کمکتون میاد و خیلی از زحمات معمول کد نویسی توی Win form رو حذف می کنه.
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
ویندوز 8 باعث مطرح شدن XAML در دنیای برنامه نویسی مایکروسافت میشه و خود WPF هم در طراحی خود از XAML بهره میگیره
با ابن وجود برخی برنامه نوسیان WPF صحبت از کمرنگ شدن نقش WPF و سیلورلایت در ویندوز 8 میکنند و بابت این امر مایکروسافت رو سرزنش میکنند علت این نگرانی آنها چیه ؟
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
شایعاتی بوده که به نظر من دیگه بی معنی هستند.
همه نگران بودند که مایکروسافت چرا تو نسخه 5 expression blend پروژه های wpf رو قرار نداده و پیش بینی می کردن که قراره مایکروسافت دیگه توسعه اش نده. اما با قرار دادن همه قابلیت های expression blend در خود visual studio 2012 و توسعه wpf library تو دات نت 4.5 مطمعن باشید که چنین اتفاقی نخواهد افتاد.
به وجود اومدن metro style به عنوان نسل جدید برنامه های مایکروسافت بیشتر دلیل جذب برنامه نویس های غیر مایکروسافتی بوده تا تغییر مسیر برنامه نویس های فعلی مایکروسافتی. به همین دلیل هم هست که امکان ساخت metro style ها با استفاده از ابزار های غیر مایکروسافتی (مثل html و css و js) وجود داره.
در واقع metro style قراره که در عرض تکنولوژی های فعلی قرار بگیره و عامل حذف بقیه نمیتونه باشه به هیچ وجه. (اصلا ماهیتش هم یه جوری هست که ذاتا نمیتونه جای بقیه رو بگیره)
موفق باشید.
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقل قول:
نوشته شده توسط
hakim22
مشکل اصلی WPF بالاتر رفتن زمان طراحی فرمها و اینترفیس برنامه است. درسته که ایجاد کامپوننت راحته اما اینجور کارها وقت گیره.
واقعا برنامه ای که مینویسید باید نیاز به محیط گرافیکی خوبی داشته باشه که بیایید و از WPF استفاده کنید. مزایاش خیلی زیاده و یعنی بیش از حد زیاده و به جرعت میگم خود VS و Blend هم نتونستن محیط برنامه نویسی کاملی براش درست کنند. در واقع منوها و ابزار گنجایش این همه قابلیت رو نداره هنوز .
اینترفیس خوب رو فقط میشه با Blend ساخت و کد خوب رو هم فقط میشه با VS نوشت.
با این بخش از حرفاتون مخالفم. قابلیت های گرافیکی برای ساخت ظاهر برنامه تنها بخش کوچکی از قابلیت های WPF App ها محسوب میشه. یعنی حتی اگر شما به ظاهر کاربری در حد win app های ساده هم بسنده می کنید، دلیل نمیشه که از WPF استفاده نکنید.
در مورد زمان بر بودن ساخت ظاهر کاربری با WPF هم باید بگم که همش به خاطر این بوده شاید که مفاهیم جدیدی توش وجود داره و برای کسانی که تازه شروع می کنند زمان بر جلوه می کنه. ولی مطمئن باشید بعد از مدتی خیلی سریع تر خواهد براتون. در ضمن شما فقط به ساخت ظاهر برنامه برای اولین بار فکر نکنید، به یک پروژه بزرگ نگاه کنید که ممکنه پس از یک بار ساخته شدن، چندین بار دچار تغییر و تحول بشه. اون وقت خواهید دید که اعمال این تغییرات تو WPF App چقدر سریع تر از یک win app خواهد بود.
در مورد اینکه ظاهر خوب رو فقط میشه با expression blend ایجاد کرد و کد خوب رو فقط میشه با vs نوشت کاملا مخالفم! این امر کاملا بستگی داره به فرد، سلیقه اش و میزان حرفه ای بودنش. بعضی های ممکنه کد زدن با notepad (هم xaml و هم cs) براشون راحت تر و جذاب تر باشه. بعضی ها ممکنه همه کدهای Xaml رو دستی کد بزنن (و مطمئن باشید وقتی راه بیفتید این راه خیلی سریع تر از کار کردن با expression blend هست). و بعضی ها هم ممکنه راحت باشند که همه کار ها رو با Expression blend انجام بدن.
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
به عنوان یک برنامه نویس که از سال 2008 تا به حال به Wpf برنامه مینویسم(یعنی از سال ظهور این تکنولوژی)
میتونم بگم wpf معرکست....بزرگترین دلیلی که من از دات نت و سی شارپ به سمت زبون دیگه ای نرفتم همین wpf بوده و هست!
مفاهیم خیلی زیادی داره ولی وقتی یاد بگیرید..برنامه نویسی با استفاده از تکنولوژی wpf رو با هیچی عوض نمیکنید!
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقل قول:
به عنوان یک برنامه نویس که از سال 2008 تا به حال به Wpf برنامه مینویسم
با سلام
تکنولوژی WPF برای اولین بار تو کنفرانس PDC 2006 معرفی شد و می توانستید با اضافه کردن Extension هایی با VS 2005 نیز باهاش کار کنید . با تشکر
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
با سلام
دوستان در مورد سوال سوم آقای نادری :1-آیا میتوان WinForm و WPF را در یک پروژه با هم استفاده کرد؟
میشه بیشتر توضیح بدید؟
2-ایا برای برنامه نویسی با wpf یکبار برای همیشه برنامه نویسی با winForm رو کنار گذاشت ؟
3- آیا در پروژه های wpf با زبانهای موجود در net. برنامه نویسی میشه ؟ و انموقع نقش xaml چیه
با تشکر
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
1.بله راهایی وجود داره..ولی به طور کلی توصیه نمیشه و منطقی نیست
2.خیر..این بستگی به خودتون داره
3.بله با یکی از زبون های دات نت برنامه نویسی میشه..نقش xaml طراحی ظاهر برنامست.. مثل HTML/CSS
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقش اصلی تو WPF رو XAML بر عهده داره
الآن دنیا رسیده به جایی که شما با تگ ظاهر برنامه رو طراحی می کنید، حالا چه HTML، چه XAML و ...
چون هم منعطف تر هستش و هم سرعت توسعه بالاتری رو به برنامه نویس می ده، فرض کنید بتونید Tooltip یه کنترل رو به دلخواه طراحی کنید، تو Header یه Tab Item هر چی خواستید نمایش بدید، Combo Box های چند ستونه داشته باشید، با کمترین حجم کد
علاوه بر این، امکاناتی مثل Animation , Effect , Style , Trigger و خیلی امکانات دیگه زیبایی مثال نزدنی رو برای برنامه ایجاد می کنه
همچنین WPF پشتیبانی خیلی بهتری از Object Oriented Programming ارائه می ده
و همچنین شما با یادگیری XAML ، می تونید هم WPF، هم Silverlight، هم Windows Phone 7، هم Windows 8 رو به عنوان سکوهای کاری خودتون انتخاب کنید
در نهایت WPF، پشتیبانی بهتری از Design Pattern داره و به خوبی از MVVM پشتیبانی می کنه، و در نهایت برای DI و AOP و بسیاری کارهای دیگه امکانات ارائه می کنه،
واقعا WPF محشره، به شرطی که درست یاد بگیرید
موفق و پایدار باشید
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
با تشکر از پاسخ شما دو دوست عزیز
پس حالا اگه یک پروژه ای که با winApp طراحی شده و تمام شده است رو بخواهیم ظاهرش رو با استفاده از wpf طراحی و اصلاح و کاربر پسند تر کنیم اونموقع راه حل چیه؟
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقل قول:
نوشته شده توسط
NaserHadi
با تشکر از پاسخ شما دو دوست عزیز
پس حالا اگه یک پروژه ای که با winApp طراحی شده و تمام شده است رو بخواهیم ظاهرش رو با استفاده از wpf طراحی و اصلاح و کاربر پسند تر کنیم اونموقع راه حل چیه؟
شما اگر برنامه ات رو با winapp ساختی دیگه برای ظاهرش باید بری سراغ اسکین و اینجور چیزها-نهایتش بتونی با کامپوننت هایی مثل تلریک بیایی مثلا دیتاگرید تون رو عوض کنید
اگر بخوای با wpf برنامه رو زیبا کنی باید از اول بسم الله برنامه تون رو با این تکنولوژی از اول بنویسید!
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقل قول:
اگر بخوای با wpf برنامه رو زیبا کنی باید از اول بسم الله برنامه تون رو با این تکنولوژی از اول بنویسید!
نه الزاما!
اگر پروژه win form app ای که هست، به درستی طراحی و پیاده سازی شده باشه، میشه از کلاس های لایه های model و business (شاید با تغییرات خیلی کم) تو پروژه wpf app هم استفاده کرد.
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقل قول:
نوشته شده توسط
Amir Oveisi
نه الزاما!
اگر پروژه win form app ای که هست، به درستی طراحی و پیاده سازی شده باشه، میشه از کلاس های لایه های model و business (شاید با تغییرات خیلی کم) تو پروژه wpf app هم استفاده کرد.
همیشه یه راه گریزی هست...ولی بهتره در فازهای تحلیل پروژه تکنولوژی ها و ابزارهای ساخت برنامه انتخاب بشن و حتما مورد بررسی قرار بگیرن تا یهو وسط کار یا بعد از اتمام کار به فکر دوباره نویسی یا تغییرات گسترده نباشیم
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
سلام
نقل قول:
گر پروژه win form app ای که هست، به درستی طراحی و پیاده سازی شده باشه، میشه از کلاس های لایه های model و business (شاید با تغییرات خیلی کم) تو پروژه wpf app هم استفاده کرد.
من متوجه نشدم که چگونه باید این کار را انجام دهیم.
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقل قول:
4- چرا با وجود گرافیک بالا و طراحی راحت برنامه های WPF (Microsoft Expression Blend) انطور که باید و شاید از WPF استقبال نمیشه
5- جایگاه WPF در ویندوز 8
6- چرا بیشتر برنامه ها که در ان از کنترلر کینکت مایکروسافت استفاده شده از WPF استفاده میشه و نه WinForm
با تشکر از دوستان عزیز
لطفا در مورد سه سوال اخر راهنمایی نمائید
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
4- اغلب پروژه های جدید مبتنی بر #C، که همین الآن دارن تو کشورمون شروع می شوند، با WPF، یا Silverlight هستن
5- WPF در NET. هستش، و NET. توی Windows 8 معمولی پشتیبانی میشه، Windows 8 معمولی همون ویندوزی هستش که شما می خوای روی Laptop، Notebook یا PC تون نصب کنید
یه مدل دیگه از Windows 8 هستش به نام Win-RT که روی پردازنده های ARM کار می کنه، که اون NET. رو ساپورت نمی کنه، کلا خیلی آیتم های دیگه رو هم ساپورت نمی کنه
تو اون شما می تونید با استفاده از XAML برنامه های جدیدی به سبک Metro Style بنویسید
اگه دقت کنید Surface مایکروسافت ( Tablet جدیدش )، دو نسخه داره، که یکی حدودا 600 دلاره، اون یکی 1100 دلار
1100 دلاریه معمولیه، 600 تایی Win RT هستش، مزیت Win RT مبتنی بر ARM بودنش هستش که باعث میشه هزینه سخت افزاریش کمتر باشه، مصرف برقش کمتر باشه، ولی ضعفش اینه که
هر چیزی رو اجرا نمی کنه، از جمله NET. و Silverlight و Photoshop و ...
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
نقل قول:
نوشته شده توسط
S A F A R I
همیشه یه راه گریزی هست...ولی بهتره در فازهای تحلیل پروژه تکنولوژی ها و ابزارهای ساخت برنامه انتخاب بشن و حتما مورد بررسی قرار بگیرن تا یهو وسط کار یا بعد از اتمام کار به فکر دوباره نویسی یا تغییرات گسترده نباشیم
اصلا نیاز به راه گریز نیست. اصل معماری سه لایه و هدفش اینه که لایه های رو از هم جدا و مستقل کنیم. چرا میخوایم این کار رو بکنیم؟ برای اینکه قابلیت استفاده مجدد از ماژول های داخل برنامه افزایش پیدا کنه و هزینه اعمال تغییرات و توسعه نرم افزار کاهش پیدا کنه.
اگر طراحی و تکنیک ما برای تولید لایه های مدل و business درست و منطبق بر اصل عدم وابستگی به لایه های دیگه باشه، اون موقع میتونیم با هزینه ای کمتر از دوباره نویسی اون ماژول ها تو پروژه جدید، اونا رو بیاریم تو پروژه جدید و تغییرات محدود و کمی رو روشون اعمال کنیم تا با تکنولوژی جدید سازگار بشه.
باز هم تاکید می کنم، معماری چند لایه اینجور جاهاست که به درد می خوره.
-
1 ضمیمه
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
1-آقای اویسی منظورتون از لایه مدل چیه؟ چون برنامه سه لایه معمولا باید مثل شکل زیر باشه؟
ضمیمه 91083
2- و نیز اونطور که من فهمیدم اگر در یک برنامه لایه های BusinessLogicLayer و DataAccessLayer درست طراحی و از هم تفکیک بشن در یک پروژه جدید Wpf میتوان به راحتی این دو لایه را انتقال داد و فقط لایه Presentation (یا UserInterface) هست که با یک تکنولوژی دیگه طراحی طراحی میشه آیا درسته؟
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
پس اگه من منظور آقای اویسی ر و درست فهمیده باشم با کمترین هزینه میشه یک پروژه WinApp رو به یک پروژه WpfApp تبدیل کرد به شرطی که برنامه بر پایه اصول معماری چند لایه طراحی شده باشه
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
دقیقا همینطوره.
منظور بنده از لایه مدل، همون مفهوم مدل تو الگوی MVVM هست. در اصل میشه مدلی از موجودیت (Entity) هایی که قراره در لایه Business (یا ViewModel) باهاش کار بشه و تو لایه Presentation (یا View) به کاربر نشون داده بشه.
دیاگرام زیر فکر کنم واضح تر باشه:
http://www.c-sharpcorner.com/UploadF...ages/MVVM1.gif
-
1 ضمیمه
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
یک سوال
آقای اویسی آیا الگو ی زیر برای طراحی یک برنامه چند لایه کافیه یا اینکه نه این الگو تغییر یافته
و اگه ممکنه یک مقایسه هم در مورد الگویی که خودتون برای MVVM فرستادید رو با این الگو ی زیر انجام بدید
با تشکر
ضمیمه 91241
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
آقای اویسی لطفا در مورد الگوی MVVM و سوال پرسیده شده در پست قبلی کمی صحبت کنید
با تشکر
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
با اینکه آقای اویسی مستقیما جواب این سوال رو ندادند ولی من پاسخ این سوال رو در یک تاپیک دیگه و از خود ایشان پیدا کردم که همینجا لینک اونو میذارم
https://barnamenevis.org/showthread.p...%D9%87+%D9%86%
با این حال اگه مطلبی مونده باشه لطفا این بحث رو ادامه بدید
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
سلام
خوب تا اینجا همه از مزایا و برتری WPF در برابر Win App گفتن. حالا لطفا یکم از معایب WPF بگین. من خودم چند ماهی هست که WPF رو شروع کردم و به قول دوستان یادگیریش زمان خیلی بیشتری میبره و احساس میکنم که یکم هم کار کردن باهاش سخت تره. ( البته شاید با کسب تجربه بیشتر حل بشه)
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
لینک زیر هم میتونه مفید باشه در مورد معماری MVVM بامثال توضیحات کافی وجود دارد
https://barnamenevis.org/showthread.p...زمینه-WPF
در مورد معایب من هم فکر میکنم که اینطور باشه یادگیریش سخت و زمان بره
-
نقل قول: محدودیت ها و مزایای WPF نسبت به WinForm
چرا بیشتر برنامه هایی که کنترولر کینکت مایکروسافت در آن استفاده میشه با WPF نوشته میشه؟