شما می توانید با عضویت در انجمن پرسش و پاسخ درسمن هرگونه سوالی دارید را مطرح کنید

تفاوت asp.net core و asp.net mvc

تاریخ بروزرسانی : پنجشنبه 2 خرداد 1398

تعداد بازدید : 93

گروه دوره : برنامه نویسی وب

زمان خواندن مقاله : 5

در این مقاله قصد داریم هر دو تکنولوژی Asp.Net  و Asp.net core را مورد مطالعه و بررسی قرار دهیم. با وجود اینکه هر دو تکنولوژی جدید هستند به نظر می رسد بهترین روش برای یادگیری هر آنچه در این تکنولوژی های جدید وجود دارد مقایسه با نسخه قبلی آن است. با ما همراه باشید.

تفاوت asp.net core و asp.net mvc

تفاوت asp.net core و asp.net mvc

در این مقاله قصد داریم هر دو تکنولوژی Asp.Net  و Asp.net core را مورد مطالعه و بررسی قرار دهیم. با وجود اینکه هر دو تکنولوژی جدید هستند به نظر می رسد بهترین روش برای یادگیری هر آنچه در این تکنولوژی های جدید وجود دارد مقایسه با نسخه قبلی آن است. با ما همراه باشید.

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

Asp.net core یک چهارچوب سازنده برای ایجاد و طراحی صفحات وب است و یک منبع کاملا Open Source است. اینکه یک تکنولوژی کاملا Open Source  باشد کار ساده و پیش پا افتاده ای نیست. مایکروسافت کارهای شگفت انگیزی انجام داده تا بتواند درحوضه ساخت صفحات وب حرفی برای گفتن  داشته باشد.

نگاهی سریع به پیشرفت های asp.net core

  1. دارای قابلیت کراس پلت فرم(Cross Platform): این ویژگی باعث شد تا برنامه هایی که با این نکنولوژی ایجاد می شوند به راحتی روی هر پلت فرم و سیستم عاملی اجرا شوند.
  2. این تکنولوژی به عنوان یک ابزار جدید برای طراحی سایت و توسعه صفحات وب شناخته شده است.
  3. قابلیت میزبانی IIS
  4. پشتیبانی مجتمع برای ایجاد و استفاده  از nuget
  5. پشتیبانی از تزریق وابستگی

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

تفاوت 1 - پشته وب یکسان برای ASP.NET Core MVC و API های وب

ASP.NET MVC 5 گزینه ای برای انتخاب MVC یا Web API یا هر دو در هنگام ایجاد یک برنامه وب فراهم می کند. این به این دلیل است که پشته وب برای MVC 5 و Web API مشابه نیست.

ASP.NET Core MVC در حال حاضر دارای پشته ی وب یکسان برای MVC و Web API است. تصویر زیر پنجره ای را نشان می دهد که مربوط به MVC و Web API GREYED است در حالی که MVC 5 گزینه ای برای افزودن API Web را می دهد.

زبان برنامه نویسی ASP.NET

تفاوت 2 - تغییرات ساختار پروژه (project solotion):

اگر به تصاویر زیر دقت کنید متوجه می شود که در ASP.Net MVC Core فایل های Web.config, Global.asax وجود ندارند. کلیه تنظیمات فایل ها (به جای این فایل ها) در فایلی به نام  appsettings.json  قرار می گیرند که توسط فایل Startup فراخوانی می شوند. اگر به فولدر پروژه ها نگاه کنیم متوجه تغییرات زیادی می شویم.

ویژگی های ASP.NET Core

تفاوت 3- ویژگی Cross-Platform :

یکی از جالب ترین ویژگی هایی که در تکنولوژی Asp.net Core مورد توجه برنامه نویسان طراحی سایت قرار گرفته ویژگی Cross-Platform است.  با وجود این ویژگی در این نسخه از .Net به راحتی می توان برنامه هایی که تولید می شوند را در هر سیستم عاملی ازجمله ویندوز، لینوکس، مک(mac) اجرا کرد و همچنین می تواند به راحتی روی انواع سخت افزارها و در صنعت IOT مورد استفاده قرار بگیرد.

تفاوت 4 – عدم وابستگی به استفاده از میزبان IIS :

با توجه به اینکه Asp.Net Core دارای ویژگی چندمنظوره یا همان Cross Platform است مایکروسافت تصمیم گرفت که نه تنها از IIS استفاده کند بلکه از سرور وب لینوکس بتواند به عنوان میزبان استفاده کند. در حال حاضر Kestrel یک میزبان وب داخلی برای پردازش درخواست ها خواهد بود.

 

تفاوت 5- پوشه wwwroot برای فایل های استاتیک

پوشه wwwroot نشان دهنده ریشه واقعی برنامه وب هنگام اجرای یک وب سرور است. فایل های استاتیک مانند config.json، که در wwwroot نیستند، هرگز در دسترس نخواهند بود و نیازی به ایجاد قوانین خاصی برای جلوگیری از دسترسی به فایل های حساس وجود ندارد.

این فایل های استاتیک ممکن است شاما مواردی چون فایل های ساده HTML، جاوا اسکریپت، CSS، تصاویر، کتابخانه و غیره باشند.

علاوه بر مزایای امنیتی، پوشه wwwroot همچنین وظایف رایج مانند بسته بندی و مینی سازی را ساده می کند که اکنون می تواند به آسانی در فرآیند ساخت استاندارد و ابزارهای خودکار استفاده مانند Grunt ادغام شود . نام پوشه "wwwroot" نیز می تواند تغییر کند.

Asp.Net core and Asp.net5

 

 

تفاوت 6 - رویکرد جدید به سمت سرور و سمت سرویس گیرنده وابستگی مدیریت بسته ها.

هر برنامه نویس .Net می داند که پوشه Refrence حاوی فایل های DLL, Nuget است. بنابراین مدیریت سرور سمت Clinte مهم تر است چون سمت سرویس گیرنده دارای بسته های متفاوت تر و بیشتری از سمت سرور است.

سم کلاینت معمولا دارای فایل های بیشتری مانند bootstrap, javascript, Angular JS,CSS و فایل های تصویری است. بنابراین مدیریت بسته های سمت کلاینت در تکنولوژی های Open source با دو نام شناخته می شوند: LibMan,NPM که هر دو این ها بخشی از وابستگی ها هستند.

تفاوت 7 – صرفه جویی در مصرف حافظه سمت سرور در ASP.NET Core :

در این تکنولوژی از مدیریت بسته های Nuget استفاده شده تا بتواند یک مرجع را به کتابخانه یا چهرچوب (Framework)  اضافه کند.

30 نمونه از برنامه های    Asp.net وجود دارند که در همه آنها از بسته های NuGet برای ارجاع وابستگی ها استفاده می کنند که تقریبا 70 مگابایت فضای دیسک را استفاده می کنند. برخی از توسعه دهندگان SMART این مسئله را می دانند، و برخی از راه حل های خود را دارند.

Asp.Net Core تمام این بسته ها را در پوشه Users قرار می دهد و ویژیوال استادیو برای اجرای برنامه های کاربردی خود بسته ها را از پوشه Users ارجاع می دهد. این ویژگی در .Net Core با نام   Runtime Store   شناخته می شود.


اشتراک گذاری

کلمات کلیدی :
تفاوتasp.net mvc و asp.net core

توضیحاتی در مورد نویسنده این مقاله :
نگین صدیقی نگین صدیقی

مدرس کامپیوتر آموزشگاه آزاد - مهندسی تولید محتوا و سئو - برنامه نویس php , ASP.NET (Web Developer)


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

گروه مقالات


آموزشی
19
علمی
18
تحقیقاتی
24


به دنبال هر آموزشی هستید در اینجا به دنبال آن باشید .