البته هر تکنولوژی معایبی هم داره.

برنامه نویسی هم سلیقه ای هست و هر کسی ایده ی خودش رو داره.

تقریبا میشه با هر فریم ورک وب هر سایتی ساخت. ممکنه انجام بعضی کارهای در یکی ساده تر و در یکی سخت تر باشه ولی محدودیت اساسی ندارن.

اول از همه مطمئن بشید که از زبان سی شارپ خوشتون میاد. چون در ASP.NET Core باید با #C کار کنید. این زبان استاتیک تایپ هست (مانند Java ) برای اجرا باید کامپایل و بیلد بشه و نوع متغیرها مشخص باشه. در مقایسه با PHP یا Python که به صورت اسکریپت قابل اجرا هستن و دینامیک تایپ هستن.

وقتی قراره پروژه های کوچیک کار کنید زبان های اسکرپیتی خیلی سریعتر کار شمارو راه میندازن. مثلا اگه قرار یک وبلاگ درست کنید یا یک سایت برای معرفی شرکت بسازید که تعداد کاربرهای کمی داره خیلی سریع می توانید با WordPress و PHP کار رو انجام بدید. به همین خاطر هست که این دو تکنولوژی کسب و کارهای کوچک رو قبضه کردن. البته صد در صد میشه با PHP سایتهای بزرگ ساخت. مشکل اینه که ساختن پروژه های بزرگ با زبان های اسکریپتی چالش بیشتری داره و نیاز به تخصص و مهارت بالایی هم داره. نظر شخصی من اینه که زبانهایی مثل PHP برای پروژه های کوچیک خیلی سریع و ساده هستن ولی برای پروژه های بزرگ خیلی کار رو سخت میکنن. بگذریم از اینکه از نظر Performance هیچکدام از این فریم ورکها حتی نزدیک به اعداد و ارقام ASP.NET Core نیستن.

حالا اگر از سی شارپ استفاده کنید به همراه پروژه وب می توانید نرم افزار دسکتاپ یا اندروید (Xamarine) یا WPF هم بسازید. در حالی که با PHP فقط وب کار می کنید.

یادگیری ASP.NET Core سخت تره و نیاز به تلاش بیشتری داره. بعضی کارها ممکنه در 10 دقیقه در سایر فریم ورکها انجام بشه همون کار ممکنه یک ساعت وقت شما رو در ASP.NET Core بگیره. البته حالت عکس هم پیش میاد ولی کم هست. در عوض وقتی سرور شما ترافیک بالایی میگیره بیشتر می توانید روی ASP.NET Core حساب کنید. ASP.NET Core برای سادگی طراحی نشده و بازار اول مایکروسافت برای این محصول کسب و کارهای بزرگ است.

خیلی گشتم مقاله ای پیدا کنم که مشخصا به دلایل بد بودن ASP.NET Core اشاره کنه ولی پیدا نکردم. در عوض برای Node.js از ای دست مقاله ها خیلی می بینید. حتی سازنده ی Node.js که الان دیگه روی اون فریم ورک کار نمیکنه سال پیش در کنفرانس Nodejs یک جلسه ی کامل درباره ی ایرادهای اون و تصمیمات غلتش در پیاده سازی این فریم ورک صحبت کرد. تصمیماتی که الان برای تغییر دادنشون خیلی دیر شده و اگر Node.js بخواد اونها رو اجرا کنه باید مانند مایکروسافت یک نسخه ی کاملا جدید ارائه کنه. حتی شخصی که Express.js رو ساخته چند سال پیش با اعلام اینکه به نظرش Node.js خوبه ولی براش جذاب نیست این فریم ورک رو رها کرد. در حال حاضر Node نزدیکترین رقیب ASP.NET Core هست و وضعش اینه.



آیا درسته که قراره در core3 امکان گرفتن خروجی exe بیاد؟
در Core 3.0 امکان پیاده سازی پروژه های WinForm و WPF اضافه میشه و این موضوع را با تبدیل پروژه های Paint.NET و KeePass تست کردند.

بجای وقت گذاشتن روی WPF آیا core میتونه گزینه مناسبتری باشه؟

این دوتا ربطی به هم نداره. WPF برای ساختن نرم افزارهای ویندوزی هست در حالی که ASP.NET برای ساخت وب سایت هست. اگر WPF بلد باشید در آینده می توانید برنامتون رو در دات نت کور بنوسید و از مزایای این فریم مثل سرعت و پرتابل بودن استفاده کنید.