PDA

View Full Version : حرفه ای: استفاده از WPF و #C



Iman_1365
شنبه 31 فروردین 1392, 09:05 صبح
سلام
هدف از این تاپیک فقط کسب اطلاع از قابلیت های دو زبان برای افراد مبتدی امثال بنده است که در انتخاب خود سر دو راهی قرار دارند
شکی نیست که سی شارپ در حال حاضر یکی از قذرتمندترین زبان های پشتیبانی شده توسط دات نت است و WPF هم در کنار بهره گیری از تمام کتابخانه دات نت و زبان سی شارپ در پس زمینه بهترین انتخاب برای مایکروسافتی برای برنامه نویسان است

WinForm بسیاز قدیمی است قابلیت های گرافیکی بیسار پائینی دارد و کلا روی کد نویسی تاکید دارد تا گرافیک کاربر پسند و از طرفی سرعت اجرای برنامه های Win Form خیلی پائین تر از WPF است

علت عدم استقبال شما از WPF چیست ؟چرا Windows Form رو ترجیح میدین به WPF چرا در این تالار موندین و نرقتین سمت این زبان؟

danialafshari
شنبه 31 فروردین 1392, 11:14 صبح
۱- wpf فقط روی ویندوز ویستا، ویندوز 2008، win xp sp2 و آخرین RDP ویندوز 2003 کار می‌کند.
۲- بسیار گفته شده که wpf در حوزه کنترل‌های کار با دیتا مثل DataGrid کمبودهای زیادی دارد. البته با وجود این ضعف گفته می‌شود که wpf در DataBindingهای آبجکتی مرسوم در دنیای Domain Drivern Design خیلی خوب عمل می‌کند. این مدل DataBinding از همان نوعی است که همراه با ORMهایی مثل NHibernate و LINQ رایج شده است.
۳- استدلال تعدادی از افراد برای عدم استفاده از wpf عدم علاقه آنها به دست کشیدن از دانسته‌ها و مهارت‌های قبلی‌شان در winforms و یادگیری تکنولوژی جدید wpf است. اگر شما هم مثل ما تجربه چندان با ارزشی روی winforms ندارید می‌توانید با انگیزه بیشتری به wpf فکر کنید.
۴- wpf یک عمو زاده دارد به نام SilverLight که هر دو در استفاده از XAML مشترک هستند. هر چند که SilverLight زیرمجموعه‌ای از wpf محسوب می‌شود ولی می‌توانید امیدوار باشید که با یادگیری wpf خود به خود کمی هم SilverLight یاد گرفته‌اید.
۵- wpf برای تولید و نمایش UI از خیلی از امکانات DirectX ،GPU و حافظه کارت گرافیک استفاده می‌کند و رابطه خیلی خوبی با پخش انواع فایل تصویری، ویدیویی، صوتی و انیمیشن دارد.
۶- ادعا می شود که کد منطق برنامه و کد Prsesentation در wpf کاملا از هم جداست. یعنی می توان کد XAML را به فردی که هیچ اطلاعاتی راجع به C#‎ ندارد سپرد تا آن را با Expression Blend حسابی عمل بیاورد. کد سی‌شارپ هم می‌تواند توسط یک برنامه‌نویس متعارف در Visual Studio توسعه پیدا کند.
۷- علی القاعده در برنامه های فارسی و آنهایی که از تقویم شمسی استفاده می‌کنند مشکلات زیادی وجود خواهد داشت. چون هنوز هیچ‌کس یک DatePicker فارسی با wpf ننوشته است و رفتار بقیه کنترل‌ها هم در محیط‌های پیچیده راست به چپ نویسی معلوم نیست. البته در مستندات خود wpf ذکر شده که پشتیبانی خیلی خوبی از یونیکد و مسایل localization وجود دارد.
۸- اگر خیلی از ژیگول‌بازی‌های wpf و wpfدوستان خوشتان نمی آید اصلا نامید نشوید چون winforms حالا حالاها زنده خواهد بود. همان طور که هنوز VB6 و حتی FoxPro زنده هستند.
۹- اگر برای اتمام پروژه ای عجله دارید از wpf استفاده نکنید چون ممکن است بدجوری شما را غافل‌گیر کند.
۱۰- برای یادگیری از کتاب زیر شروع کنید (بنا به توصیه دوستان wpf):
Windows Presentaion Foundation Unleashed by Adam Nathan
۱۱- بعضی امکانات جدید به wpf اضافه شده‌اند که من هنوز از بیشتر آنها سر در نمی‌آورم:
UI Automation
UI Virtualization
Routed Events
Attached Properties
Property change notification
XBAP

منبع : blog.afsharm.com/2009/03/wpf-winforms.html

Mehdi Naderi
شنبه 31 فروردین 1392, 13:06 عصر
علت عدم استقبال شما از WPF چیست ؟چرا Windows Form رو ترجیح میدین به WPF چرا در این تالار موندین و نرقتین سمت این زبان؟
1- عدم سازگاری کامل با ویندوز اکس پی که پلتفورم غالب سازمانی (99 درصد) است
2- برنامه که با WPF تولید میشه به مراتب گرونتر از Winform در میاد (بخاطر 1000 و یک دلیل)
3- ریسک WPF به خاطر عدم در پیش گرفتن خط و مشی واضح از جانب مایکروسافت (Windows Form الان کاملا جا افتاده و خیلی از توسعه دهندگان حاضر به پذیرش ریسک یاد گیری زبان های جدید نیستند)
4- ویندوز 8 ناخواسته سرنوشت چند زبان مایکروسافت را در هاله ای از ابهام قرار داد ()WPF- SL
5- کمبود منابع فارسی
6- و فکر میکنم بزرگترین مزیت WPF سازگاری با ++ Visual C است