تفاوت WPF با Windows Forms چیست

  • پنجشنبه ۸ شهریور ۱۳۹۷
  • بازدید ۷,۲۹۱ نفر

تصویر difference-between-wpf-and-windows-forms_3841 تفاوت WPF با Windows Forms چیست

تفاوت WPF با Windows Forms

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

WPF چیست؟

WPF یک فریم ورک قدرتمند است که برای ساخت برنامه های ویندوزی ارائه شده است. کلمه WPF مخفف شده عبارت Windows Presentation Foundation می باشد. این تکنولوژی توسط شرکت مایکروسافت توسعه یافته است.

برخی از ویژگی های WPF

  • WPF جدیدتر است، بنابراین با استانداردهای جدید نیز سازگار می باشد.
  • عدم وابستگی به رزولوشن صفحه نمایش.
  • پشتیبانی از محتوای چند رسانه ای.
  • امکان ایجاد انیمیشن های مختلف و محتوای 3D.
  • بسیاری از برنامه های جدید با استفاده از تکنولوژی WPF ساخته شده اند.
  • WPF بسیار انعطاف پذیر است می توانید کنترل های مورد نظر خود را به راحتی ایجاد یا شخصی سازی کنید.
  • در WPF برای ساخت UI برنامه از زبان نشانه گذاری Xaml استفاده می شود که کار طراحی ظاهر برنامه را فوق العاده راحت تر می کند.
  • Databinding در WPF بسیار راحت تر شده است.
  • WPF در لایه نمایشی قوی تر از Windows Forms است.

برخی از معایب WPF

  • در مقایسه با Windows Forms منابع بیشتری مصرف می کند.
  • پشتیبانی کمتر از کنترل ها و کامپوننت های آماده.
  • نمی توان برنامه های نوشته شده در WPF را در Windows 98 اجرا کرد.
  • برای ایجاد گرافیک های پیشرفته نیاز به کارت گرافیک سازگار با Dx9 دارد.
  • یادگیری WPF سخت تر از Windows Forms می باشد.

یک برنامه ساخته شده با WPF

تصویر difference-between-wpf-and-windows-forms_3841_1 تفاوت WPF با Windows Forms چیست

Windows Forms چیست؟

Windows Forms فریم ورکی به منظور ایجاد برنامه های گرافیکی برای ویندوز، لپ تاپ و تبلت است. این فریم ورک توسط شرکت مایکروسافت ساخته شده است و بخشی از فریم ورک بسیار قدرتمند .Net می باشد.

برخی از ویژگی های Windows Forms

  • قدیمی تر است، بنابراین بارها تست شده و اشکالات آن برطرف شده است.
  • کامپوننت های بسیار زیادی برای Windows Forms ارائه شده است.
  • Windows Forms در لایه برنامه نویسی قوی تر از WPF است.
  • در اینترنت اسناد زیادی برای Windows Forms موجود است.
  • مناسب برای توسعه برنامه های کاربردی کوچک که با داده ها کار می کنند.
  • برای شروع راحت است.

برخی از معایب Windows Forms

  • امکانات ضعیف برای ایجاد ظاهر زیبا و کاربر پسند.
  • امکان ایجاد گرافیک های پیشرفته وجود ندارد.
  • برای ایجاد کنترل های دلخواه باید کدهای زیادی بنویسید.
  • برای استفاده از کنترل های آماده باید پول پرداخت کنید.

یک برنامه ساخته شده با Windows Forms

تصویر difference-between-wpf-and-windows-forms_3841_2 تفاوت WPF با Windows Forms چیست

سرعت WPF و Windows Forms

سرعت اجرای برنامه WPF نسبت به Windows Forms خیلی بیشتر است، برای مقایسه سرعت اجرای دو تکنولوژی WPF و Windows Forms یک مثال ساده ایجاد کرده ایم که در زیر مشاهده می کنید.


برای درک تفاوت WPF و Windows Forms، یک دکمه را با یک عکس و متن بر روی آن در نظر بگیرید. در حالت عادی چنین کنترلی در Windows Forms وجود ندارد و برای استفاده از چنین کنترلی یا باید خودتان آن را ایجاد کنید و یا از کنترل های آماده استفاده کنید. اما در تکنولوژی WPF، یک دکمه می تواند هر چیزی (مانند متن، عکس و غیره) را به عنوان محتوا داشته باشد. اکثر کنترل های موجود در WPF به صورت “look-less” هستند، به این معنی که می توانند طیف وسیعی از کنترل های دیگر را درون خود داشته باشند. برای نمونه کد زیر یک دکمه با یک عکس و متن ایجاد می کند.

نتیجه گیری

این که کدام یک از این تکنولوژی ها بهتر است، به نیاز شما بستگی دارد. اگر می خواهید برنامه های شما ظاهری زیبا و کاربر پسند، داشته باشند، WPF گزینه مناسبی است. اما زمانی که شما نیازی به ایجاد یک ظاهر زیبا ندارید و می خواهید طراحی نرم افزار شما به صورت کلاسیک باشد، می توانید از Windows Forms استفاده کنید.

مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۳ مورد)
  1. تصویر آواتار کاربر 0
    امیر پنجشنبه , 6 تیر

    جالبه بدونین ویژوال استودیو 2012و2015و2017 با وین فرم نوشته شده ولی... 2019 با WPF درست شده و نکته جالبتر اینه که ظاهرش تغریبا هیچ فرقی نکرده

    • تصویر آواتار کاربر 0
      mahyarپنجشنبه , 6 تیر

      خیلی دلم میخواد منبع این حرف رو بدونم 🤔🤔🤔 ولی درکل قدرت تخیل جالبی داری رفیق دمت گرم 😂

      • تصویر آواتار کاربر 0
        امین احمد میرزاییپنجشنبه , 6 تیر

        نیاز به قدرت تخیل نیست و حتی نیاز به منبع هم نیست شما خودت یک نگاه به ویژوال استودیو و کنترل هاش بنداز جنس کنترل هاش کاملا از جنس wpf و ویندوز فرم هستش