تفاوت asp.net core و asp.net mvc
1398-03-02

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

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

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

قبل از آنکه بخواهم مطلب را شرح دهم، می خواهم شما عزیزان را با آموزش asp.net mvc آشنا کنم، در این دوره جامع شما می توانید یک پروژه خبری را از صفر پیاده سازی کنید و مزیت این دوره آن است که شما عزیزان بعد از آموزش دیدن می توانید به صورت عملی شروع کنید و پا به پای مهندس عباسی کد نویسی کنید و پروژه خبری را پیاده سازی کنید.

خب بریم که به مطلب امروزمون بپردازم.

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

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 فراخوانی می شوند. اگر به فولدر پروژه ها نگاه کنیم متوجه تغییرات زیادی می شویم.

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   شناخته می شود.

مقالات مرتبط

تفاوت dp و px در برنامه نویسی اندروید

واحد های اندازه گیری اندروید
زهرا چگینی
10

به نظر شما تفاوت dp و px در برنامه نویسی اندروید، این دو واحد اندازه گیری چیست؟ پس ما را همراهی کنید.

delegate چیست؟

Delegate ها چرا به زبان سی شارپ اضافه شدند؟
مرضیه فتاحی
15

delegate چیست؟ چه کاربردی دارد؟ چگونه و در چه موقعیت هایی باید ازآنها استفاده کرد؟ با ما همراه شوید تا تمامی این سوال ها دریابید.

اکشن (Action) در سی شارپ، راهی برای خواناتر شدن کدها

موارد استفاده ی Action در سی شارپ
زهرا چگینی
10

Action در سی شارپ از پایه و اساس Delegate ها استفاده میکند، درحقیقت همان Delegate های هستند که کار را برای ما راحت تر میکنند.

Extension method درسی شارپ، راهی برای کارایی بالا در کدها

اکستنشن (extension) درسی شارپ
مرضیه فتاحی
10

هدف ما دانستن نکات مهمextension method در سی شارپ، نحوه استفاده و همچنین کاربرد آن در کدنویسی است. پس با ما همراه شوید.

لیست کامل تگ های html که هیچ کس به شما نخواهد گفت

آشنایی با تگ های html
زهرا چگینی
15

تگ ها در html نقش مهمی دارند زیرا تمامی کارهای html با تگ انجام می‌شود. به همین دلیل ما یک لیست کامل از تگ‌های html برای شما آماده کرده‌ایم تا از آن استفاده کنید.

ویژگی های جدید asp.net core که حیرت برنامه نویسان را برانگیخت

معرفی ویژگی های جدید asp.net core از مایکروسافت
مرضیه فتاحی
10

ویژگی های جدید asp.net core چیست؟ مایکروسافت در این نسخه چه امکاناتی را برای برنامه نویسانش قرار داده است. اگر شما هم خواهان دانستن این مطالب هستید، ما را همراهی کنید.