تفاوت ASP.NET و ASP.NET Core چیست؟ یکی از بهترین راه هایی که می توان تکنولوژی های جدید را یاد گرفت مقایسه ان با تکتولوژی های قدیمی است. در این مطلب از سایت آموزش برنامه نویسی الکامکو می خواهیم به این سوال که تفاوت ای اس پی دات نت و ای اس پی دات نت کور بپردازیم.
ASP.NET MVC چیست؟

ASP.NET MVC یک پلتفرم خوب و بنیادی برای توسعه وب است که برای ایجاد وب سایت ها، اپلیکیشن ها و خدمات وب استفاده می شود. ای اس پی دات نت ترکیبی از تکنولوژی های HTML، CSS و جاوا اسکریپت است. Asp.Net بر روی HTTP (پروتکل انتقال ابرمتن) کار می کند و از دستورات و خط مشی های HTTP برای تنظیم یک مرورگر برای ارتباط دوطرفه سرور استفاده می کند.
در ابتدا ASP.NET در سال ۲۰۰۲ منتشر شد. اولین نسخه ASP.NET که مستقر شد ۱.۰ بود. نسخه اخیر Asp.Net 4.6 است.
ASP.NET بخشی از Microsoft .NET Framework است. تصویر زیر پشته کامپوننت را نشان می دهد.

ASP.NET سه سبک توسعه برای ایجاد برنامه های کاربردی وب ارائه می دهد:
- فرم های وب (Web Forms)
- ASP.NET MVC
- ASP.NET Web Pages
۱. فرم های وب (Web Forms) : فرم های وب ASP.NET مدل تعامل مبتنی بر رویداد را به برنامه های کاربردی وب گسترش می دهند. برای توسعه یک برنامه کاربردی با دسترسی به داده ها و همچنین ارائه سمت سرور و رویداد برای ایجاد یک برنامه استفاده می شود.
۲. Asp.Net MVC: فرم های وب ASP.NET مدل رویداد محور تعامل را به برنامه های کاربردی وب گسترش می دهند. برای توسعه یک برنامه کاربردی با دسترسی به داده ها و همچنین ارائه سمت سرور و رویداد برای ایجاد یک برنامه استفاده می شود.
۳. Asp.Net Web Pages: برای ایجاد صفحات وب پویا استفاده می شود. این کد سرور را با HTML به روشی سریع ترکیب می کند.
جدول زیر هر مدل توسعه را نشان می دهد.
| Model | Skills | Development style | Experience |
|---|---|---|---|
| Web Forms | Win Forms, WPF, .NET | توسعه سریع با استفاده از یک کتابخانه غنی از کنترل ها که نشانه گذاری HTML را محصور می کند | Mid-Level, Advanced RAD |
| MVC | Ruby on Rails, .NET | کنترل کامل بر روی نشانه گذاری HTML، کد و نشانه گذاری جدا شده، و آسان برای نوشتن تست. بهترین انتخاب برای اپلیکیشن های موبایل و تک صفحه ای (SPA). | Mid-Level, Advanced |
| Web Pages | Classic ASP, PHP | نشانه گذاری HTML و کد شما با هم در یک فایل | New, Mid-Level |
کد برنامه ASP.NET را می توان به هر یک از زبان های زیر نوشت:
۱. #C | آموزش سی شارپ را می توانید اینجا دانلود کنید.
2. VB.Net
3. J#
معماری ASP.NET و اجزای آن
معماری پایه ASP.NET در زیر نشان داده شده است.

همچنین بخوانید: کدنویسی تمیز چیست؟
فریمورک دات نت دارای اجزای کلیدی زیر است:
۱.Language – یک دات نت فریم ورک انواع زبان های برنامه نویسی از جمله VB.NET و #C است.
۲.Library – .NET Framework مجموعه ای از یک کتابخانه کلاس استاندارد از کلاس ها، رابط ها و انواع مقادیر قابل استفاده مجدد برای فرآیند توسعه ASP.NET و عملکرد سیستم است.
۳. زمان اجرا زبان مشترک (CLR) – Common Language Runtime بخشی از ماشین مجازی چارچوب داتنت است که وظیفهٔ مدیریت اجرای برنامههای داتنت را برعهده دارد.
همچنین بخوانید: آموزش ساخت اپلیکیشن فروشگاهی اندروید
Asp.net Core چیست؟

Asp.net Core نسخه جدیدی از Asp.net است که توسط مایکروسافت منتشر شده است. ای اس پی دات نت کور منبع باز است و به عنوان فریمورک های وب استفاده می شود و می تواند با مرورگرهای مختلف مانند ویندوز، مک یا لینوکس اجرا شود. ASP.Net Core نسخه جدید asp.net است. در ابتدا با نام ASP.NET 5 راه اندازی شد اما بعداً به ASP.NET Core تغییر نام داد و همچنان با همین نام باقی مانده است.

با توجه به شکل بالا Asp.Net Core یک فریمورک وب چند پلتفرمی – کراس پلتفرم (Cross-Platform) مبتنی بر ابر (Cloud Optimized) و منبع باز (Open Source) برای ساخت برنامه های وب در ویندوز، مک و لینوکس از جمله فریمورک MVC است. این ترکیبی از MVC و WEB API در یک فریمورک برنامه نویسی وب واحد است.
همچنین بخوانید: برنامه نویسی چیست ؟ آشنایی با انواع زبان های برنامه نویسی | فواید برنامه نویسی | آموزش صفر تا صد فلاتر
مزایای اصلی ASP.Net Core:
- هسته Asp.Net یک فریمورک بسیار ناب و ماژولار است زیرا چندین معماری دارد.
- Asp.net Core یک فریمورک متن باز است.
- براحتی می توانید با زبان برنامه نویسی سی شارپ کار کنید.
- ساخت برنامه های asp.net چند پلتفرمی در ویندوز، مک و لینوکس آسان است.
- پیکربندی یک محیط آماده برای ابر است.
- قابلیت میزبانی در:
الف) Kestral
ب) IIS
ج) HTTP.sys
د) Nginx
ه) Apache
و) Docker
تاریخچه نسخه های ASP.NET:
ASP.NET Core 2.1 مه ۲۰۱۸
ASP.NET Core 2.0 اوت ۲۰۱۷
ASP.NET Core 1.1 نوامبر ۲۰۱۶
ASP.NET Core 1.0 ژوئن ۲۰۱۶
همچنین بخوانید: گرفتن پروژه برنامه نویسی اندروید، وب و غیره چگونه است؟
تفاوت بین ASP.NET MVC و ASP.NET CORE

-
تفاوت asp.net core و mvc از نظر ویژگی
فرق asp.net با asp.net core از پلتفرم شروع میشود. ASP.NET یک فریمورک سنتی است که به طور اختصاصی برای توسعه برنامهها در محیط ویندوز طراحی شده بود. این وابستگی به ویندوز، یکی از محدودیتهای اصلی آن بود. در مقابل، ASP.NET Core یک فریمورک چند پلتفرمی (Cross-Platform) است. این یعنی برنامههای نوشته شده با ASP.NET Core میتوانند روی سیستمعاملهای مختلفی از جمله ویندوز، لینوکس و macOS اجرا شوند. این قابلیت، برای توسعهدهندگانی که از سیستمعاملهای مختلف استفاده میکنند یا میخواهند برنامههای خود را در محیطهای متنوعی مانند داکر (Docker) مستقر کنند، یک مزیت بزرگ محسوب میشود.
-
تفاوت .net و core از نظر عملکرد
تفاوت .net و core در عملکرد بسیار چشمگیر است. ASP.NET Core از یک معماری جدید و بهینهسازی شده بهره میبرد که به آن اجازه میدهد تا درخواستهای بیشتری را در مدت زمان کوتاهتر پردازش کند. این فریمورک در مقایسه با ASP.NET عملکرد بسیار بالاتری دارد و برای ساخت برنامههایی که نیاز به مقیاسپذیری بالا و سرعت پاسخدهی دارند (مانند میکروسرویسها) ایدهآل است. این افزایش سرعت به دلیل بهینهسازیهای انجام شده در کد هسته و حذف وابستگیهای غیرضروری است که باعث میشود برنامهها سبکتر و سریعتر اجرا شوند.
-
فرق asp.net با asp.net core از نظر فریمورک اجرایی
تفاوت asp.net core و asp.net mvc در فریمورک اجرایی نیز مشخص است. ASP.NET Framework تنها بر روی محیط .NET Framework اجرا میشد، که یک فریمورک اختصاصی ویندوز است. این وابستگی باعث میشد که نتوان برنامههای ASP.NET را در محیطهای دیگر اجرا کرد. اما تفاوت asp.net core و mvc در این زمینه این است که ASP.NET Core بر روی .NET Core اجرا میشود که یک فریمورک متنباز و سبک است و برای کار در محیطهای ابری بهینه شده است. این قابلیت همچنین به ASP.NET Core اجازه میدهد تا بر روی پلتفرمهای مختلف اجرا شود.
-
تفاوت asp.net با asp.net core از نظر پشتیبانی از فرمها و معماری
فرق asp.net با asp.net core در پشتیبانی از Web Forms یکی از مهمترین نکات است. ASP.NET از سه سبک اصلی توسعه (Web Forms، ASP.NET MVC و ASP.NET Web API) پشتیبانی میکرد. با این حال، ASP.NET Core از Web Forms پشتیبانی نمیکند. در عوض، تفاوت asp.net core و asp.net mvc این است که ASP.NET Core معماری MVC و Web API را در یک فریمورک واحد ادغام کرده است که این امر، توسعه را سادهتر و یکپارچهتر میکند.
-
تفاوت asp.net core و asp.net mvc از نظر وابستگی
تفاوت asp.net با asp.net core در وابستگی به سرورهای وب نیز آشکار است. ASP.NET به شدت به سرور IIS مایکروسافت وابسته بود، زیرا از فایل System.Web.dll برای مدیریت درخواستها استفاده میکرد. اما در ASP.NET Core، این وابستگی به طور کامل حذف شده است. این یعنی برنامههای ASP.NET Core میتوانند به صورت مستقل اجرا شوند و میتوان آنها را در سرورهای مختلفی مانند Nginx یا Apache میزبانی کرد. این قابلیت، انعطافپذیری بیشتری در استقرار برنامهها فراهم میکند.
-
فرق asp.net core و asp.net mvc از نظر زبان های برنامه نویسی و کتابخانه
تفاوت asp.net core و mvc شامل زبانهای برنامهنویسی و کتابخانهها نیز میشود. ASP.NET از زبانهای مختلفی مانند C# و VB پشتیبانی میکرد و با کتابخانههایی مانند WCF، WPF و WF کار میکرد. در مقابل، فرق asp.net core و asp.net mvc در این است که .NET Core در ابتدا فقط از C# و F# پشتیبانی میکرد. اگرچه پشتیبانی از زبان VB به آن اضافه شده، اما کتابخانههای قدیمی مانند WCF و WPF در آن پشتیبانی نمیشوند. با این حال، این فریمورک جدید دارای کتابخانههای مدرن و کارآمدی است که جایگزین مناسبی برای ابزارهای قدیمی هستند.
-
مقایسه asp.net core و asp.net از نظر ساختار فایل: Appsettings.json
فرق asp.net با asp.net core در ساختار فایل پروژه به وضوح دیده میشود. در ASP.NET، فایلهای مهم پیکربندی مانند Web.config و Global.asax استفاده میشدند. در مقابل، ASP.NET Core این وابستگیها را حذف کرده و از فایلهای مبتنی بر JSON مانند appsettings.json برای پیکربندی استفاده میکند. این تغییر، مدیریت تنظیمات پروژه را سادهتر کرده و امکان پیکربندی برای محیطهای مختلف (مانند توسعه، تولید) را به راحتی فراهم میکند.
-
تفاوت .net و core از نظر پشتیبانی از کانتینر
تفاوت asp.net و asp.net core در پشتیبانی از کانتینرها نیز قابل توجه است. ASP.NET پشتیبانی محدودی از فناوری کانتینرها داشت. اما ASP.NET Core از ابتدا با هدف کار در محیطهای مدرن مانند داکر (Docker) و میکروسرویسها طراحی شده است. این پشتیبانی کامل از کانتینرها، استقرار و مدیریت برنامهها را به شکل چشمگیری آسانتر میکند و برای توسعه در محیطهای ابری یک مزیت کلیدی است.
-
تفاوت .net و core از نظر نیاز به کامپایل مجدد
تفاوت asp.net با asp.net core در این زمینه به سرعت توسعه کمک میکند. در ASP.NET، هر بار که تغییری در کد ایجاد میکردید، مجبور بودید کل برنامه را مجدداً کامپایل و اجرا کنید. این فرآیند زمانبر بود و سرعت توسعه را کاهش میداد. اما ASP.NET Core با پشتیبانی از قابلیت “Hot Reload” به توسعهدهندگان اجازه میدهد تا تغییرات خود را در کد مشاهده کنند و بدون نیاز به کامپایل مجدد، نتیجه را در مرورگر ببینند. این قابلیت، فرآیند توسعه را بسیار سریعتر و روانتر میکند.
-
تفاوت .net و core از نظر بهینهسازی برای میکروسرویسها و محیط ابری
تفاوت ASP.NET Core و MVC در قابلیتهای آن برای توسعه مدرن، بسیار کلیدی است. ASP.NET Core از همان ابتدا برای پشتیبانی از معماری میکروسرویسها طراحی شده است. میکروسرویسها به شما اجازه میدهند تا یک برنامه بزرگ را به چندین سرویس کوچک و مستقل تقسیم کنید. این معماری به دلیل سبک بودن و سرعت بالای ASP.NET Core، ایدهآل است و به تیمهای توسعه کمک میکند تا به صورت مستقل روی بخشهای مختلف برنامه کار کنند.
همچنین، به دلیل ماهیت Cloud-Optimized (بهینهسازی شده برای محیط ابری)، ASP.NET Core به راحتی با سرویسهایی مانند داکر (Docker) و کوبرنتیز (Kubernetes) سازگار است. این قابلیت باعث میشود که استقرار و مدیریت برنامهها در محیطهای ابری مانند Azure و AWS بسیار سادهتر و کارآمدتر باشد.
مقایسه asp.net core و asp.net در یک نگاه
ASP.NET MVC |
ASP.NET CORE |
|---|---|
| Asp.Net Build برای ویندوز کاربرد دارد. | Asp.Net Core Build برای ویندوز، مک و لینوکس کاربرد دارد. |
| Asp.Net عملکرد خوبی دارد. | هسته ASP.Net عملکرد بالاتری نسبت به ASP.Net 4x دارد. |
| بر روی .Net Framework یا معمولاً به عنوان Full.Net Framework اجرا می شود. | بر روی Net Core و Full.Net Framework اجرا می شود. |
| Asp.Net از WebForm، Asp.Net MVC و Asp.Net WebAPI پشتیبانی می کند. | Asp.Net Core از WebForm پشتیبانی نمی کند. از صفحات وب MVC، Web API و Asp.Net که در اصل در Net Core 2.0 اضافه شده بودند، پشتیبانی می کند. |
| Asp.Net از تنها IIS وابسته به System.web.dll استفاده کرد. | Asp.Net Core به System.web.dll و بنابراین IIS وابسته نیست. |
| از C# ، VB و بسیاری از زبان های دیگر و همچنین پشتیبانی از WCF، WPF و WF پشتیبانی می کند. | فقط زبان برنامه نویسی سی شارپ، F# را پشتیبانی می کند. پشتیبانی از VB برای اضافه شدن زمان کوتاه و بدون پشتیبانی از WCF، WPF و WF، اما پشتیبانی از کتابخانه های مشتری WCF در دسترس است. |
| برنامه Asp.Net MVC Web.config، Global.asax، Application Start را اضافه کرد. | Core از فایل های Web.config و Global.asax پشتیبانی نمی کند. از appsettings.json پشتیبانی می کند. |
| پشتیبانی از کانتینر بیشتر از برنامه ASP.Net Core نیست. | پشتیبانی کانتینر برای استقرارهایی مانند Docker مناسب است. |
| همه نسخه های اصلی پشتیبانی می شوند | Core را از Visual Studio 2015 به روز رسانی ۳ و نسخه فعلی VS 2017 پشتیبانی می کند. |
| پس از تغییر کد باید دوباره کامپایل کنیم. | به روز رسانی Core Browser بدون نیاز به کامپایل مجدد، کد را کامپایل و اجرا می کند. |
همچنین بخوانید: بازار کار زبان برنامه نویسی سی شارپ در ایران و خارج از ایران
نتیجه گیری از تفاوت ای اس پی دات نت و ای اس پی دات نت کور
نکته اول بمنظور درک فرق ASP.NET با ASP.NET Core اینکه Asp.net core یک فریم ورک سبک و قابل ترکیب با سایر فریم ورک ها جهت ایجاد نرم افزارهای تحت وب می باشد. همچنین Asp.net Core کاملا اپن سورس می باشد. بحث اپن سورس بودن Asp.net Core یکی از مهم ترین تفاوت های بین Asp.net Mvc و Asp.net Core می باشد.
از دیگر تفاوت های ای اس پی دات نت و ای اس پی دات نت کور Cross Platform بودن، سادگی در استفاده، سبک ، قوی و ساده بودن، دسترسی به محیط محاسبات ابری، ارتقاء سطح ماژولار بودن، سازگار و مطابقت کامل با NuGet Package، ایجاد یکپارچگی در بین فریم ورک های کلاینت سایدی (Client Side) مدرن و BackEnd و … می باشد. در نهایت می توان گفت که ASP.NET Core یک قدم بزرگ در راستای پیاده سازی اپلیکیشن های مدرن وب میباشد.
در صورتیکه دنبال یادگیری برنامه نویسی ASP.NET CORE هستید دوره متخصص ASP.NET CORE سایت آموزش برنامه نویسی الکامکو زیر را به شما پیشنهاد می کنیم که همه موارد از صفر تا صد به شما آموزش داده می شود پیش نیاز لارم ندارد و شما را به یک متخصص حرفه ای در زمینه ساخت برنامه های وب می کند. بعد از یادگیری این دوره مطمئن باشید که می توانید درامدزایی خوبی داشته باشید، مگر اینکه خودتان کم کاری کنید!
با ثبت نام در دوره متخصص Asp.Net Core از مزایای زیر بهرهمند میشوید :
- دسترسی همیشگی به فایل های دوره به علاوه پشتیبانی رایگان ۱۲ ماهه با قابلیت تمدید
- انجام انواع تمرین ها و مثال ها در طول دوره و ورود آسان به بازار کار ASP.NET CORE
- طراحی و ساخت ۳ پروژه تحت وب فوق حرفه ای (سایت فروشگاهی – اتوماسیون اداری – آزمون گیر آنلاین)
- در اختیار داشتن سورس کد تمامی پروژه های انجام شده و آموزش با جدید ترین ورژن دات نت
- استخدام در شرکت های معتبر و کسب درآمد از ساخت پروژه های وب اپلیکیشن
دوره های برنامه نویسی الکامکو | دوره های برنامه نویسی وب | مقالات برنامه نویسی | مقالات برنامه نویسی وب | مقالات دات نت | مقالات asp.net core



















































































































































































































































































































































































































فرق asp.net با asp.net core از نظر عملکردی بلد تر هستن. ASP.NET Core از نظر عملکرد نسبت به ASP.NET بهبود یافته هست. این به دلیل ساختار مبتنی بر ماژوله اونه که باعث میشه کد کارآمدتر اجرا شه.