
سلام دوستان عزیزم
ویرگول رو از زمان جنگ بهتر پیداش کردم، که میتونم حرفامو بزنم. اینجا کسی منو نمیشناسه، راحت تر صحبت میکنم. از طرفی هم شاید فرد علاقه مندی(maybe) با خوندن مطلبم لذت ببرد.
ویندوز فرم چی میشه؟ الان ماکروسافت چند ساله که تمرکز توسعه رو سمت .Net Coreش برده و عملا توسعه خاصی روی .net framework نمیده.
از زمانی که یادمه ماکروسافت آرزو داشت .net framework رو به نحوی روی سیستم عامل های دیگه از جمله اندروید و لینوکس اجرا کنه. چندین پروژه هم لانچ کرد. اما نهایتا به خاطر اینکه بنای دات نت روی ویندوز بود، هرگز برنامه ای با هدف multiPlatform واقعی توسعه پیدا نکرد.
شاید با اومدن .net core این آرزوی دیرینه ماکروسافت به وصال رسیده باشه و برای همین حداقل 7 ساله که تمرکز اصلی رو برده روی .net Core.
از زمان دات نت کور 3 هی میگفت بیایید ویندوز فرم هم با .net core بزنید نه .net framework اما واقعیت قضیه این بود که دات نت کور در ویندوز فرم هنوز به اندازه قابل قبولی خوب نبود.
این ماه مطالب این حوزه رو مطالعه میکردم که الان برنامه هامون رو به کدوم سمت ببریم؟ الان ماهایی که کلی برنامه ویندوزی دولوپ کردیم باید چیکار کنیم؟
خلاصه برداشت من از کنارهم گذاشتن تمام مطالب رسمی ماکروسافت در این حوزه این شد:
اگر برنامه نویس ویندوزی هستید که برنامه شما در سطح پروداکشن هست و کاربران زیادی دارد، در سال 1404-1405 باید حداقل .net framework 4.7.2 استفاده کنید و اگر برنامه شما با دات نت های پایین تر هست حتما به 4.7.2 برسونید. اگر کاربران برنامه شما ویندوز 10 دارند و تعدادشون هم زیر 100 نفر هست به دات نت 4.8 ارتقا دهید و فعلا ادامه بدین.
اما اگر قصد تولید برنامه جدیدی دارید و میخواید تازه منتشر کنید و کاربرانتونم میتونید توجیه کنید که ران تایم دات نت کور نصب کنند، .net 10 (یا اسم دیگش .net core 10) گزینه مناسبیه و من 3تا پروژه باهاش زدم خوب عمل کرد و حداقل همان برنامه روی 20 30 تا سیستم نصب شد و بدون مشکل خاصی اجرا شد.
اگر قصد تولید برنامه ای دارید که خیلی براتون مهمه که نیاز به نصب ران تایم نداشته باشه و حجم فایل خروجی هم مهمه براتون، استارتشو با همون .net framework 4.8 بزنید. چون طبق بررسی ای که کردم حداقل 5-10سال دیگه برنامه های .net framework بدون مشکل روی ویندوزهای فعلی و آینده ساپورت میشوند.
پس خلاصه:
اگر برنامه ویندوز فرم قدیمی دارید حداقل به .net 4.7.2 و بهترین حالت اینه که به 4.8 آپگرید کنید.
اگر برنامه ویندوز فرم جدید میخواید تولید کنید برید سراغ .net 10
اگر برنامه ویندوز فرم جدید میخواید تولید کنید اما مشتریانتون ممکنه حوصله نصب ران-تایم جدید نداشته باشن و حجم کمتری هم میخواید خروجی شما داشته باشه، .net framework 4.8 رو انتخاب کنید.
(برای برنامه های تحت وب asp هم اگر حوصله داشتم در مطلبی دیگر توضیح میدم)
خدا یار و نگهدارتان باشد