با آموزش برنامه نویسی ASP.NET Core 2 بصورت متنی از وب سایت آموزش برنامه نویسی سورس باران در خدمت شماییم. در این جلسه آموزش ASP.Net Core – ASP.NET Core 2 چیست؟ مزایای ASP.NET Core رو تقدیم شما دوستان می نماییم. ASP.NET Core یک فریمورک Open Source (مجانی) و Cross Platform (چندسکویی) برای ساخت اپلیکیشن های مدرن مانند Web Application , Mobile BackEnd میباشد. که قادر است در ویندوز، لینوکس و مک اجرا شود. ASP.NET Core شامل چارچوب MVC است که اکنون ویژگی های MVC و Web API را به چارچوب برنامه نویسی وب متصل میکند.
.NET Core آخرین پلتفرم چند منظوره ای است که توسط ماکروسافت ارائه شده است. .NET Core در چندین پلتفرم مختلف کار می کند و نسخه ای از .NET است که جهت رسیدن به سرعت و انعطاف پذیری بیشتر مجددا طراحی شده است. .NET Core یکی از بزرگترین خدماتی است که ماکروسافت ارائه کرده است. برنامه نویسان با کمک آن می توانند به همراه .NET و به صورت کاملا اپن سورس برنامه های اندروید، iOS، لینوکس، مک و ویندوز را بنویسند.
آموزش ASP.Net Core – ASP.NET Core 2 چیست؟ مزایای ASP.NET Core
ASP.NET Core بر پایهی NET Core. استوار است و نگارشی از NET. محسوب می شود که مستقل از سیستم عامل و بدون واسط برنامه نویسی ویندوز عمل می کند . ویندوز هنوز هم سیستم عاملی برتر به حساب می آید ولی برنامه های وب نه تنها روز به روز از کاربرد و اهمیت بیشتری برخوردار میشوند بلکه باید بر روی سکوهای دیگری مانند فضای ابری (Cloud) هم بتوانند میزبانی (Host) شوند، مایکروسافت با معرفی ASP.NET Core گستره کارکرد NET. را افزایش داده است . به این معنی که میتوان برنامههای کاربردی ASP.NET Core را بر روی بازهی گسترده ای از محیطهای مختلف میزبانی کرد هماکنون میتوانید پروژه های وب را برای Linux یا macOS هم تولید کنید. ASP.NET Core در مقایسه با MVC نخستین ، سادهتر شده و برخلاف آن هیچ ارتباطی با پروژه های Web Form ندارد و از آنجا که بر پایه NET Core. بنا شده است ایجاد پروژه های وب را بر روی بسیاری از سیستم عامل های گوناگون پشتیبانی کرده و امکان میزبانی در محیط های مختلف را داراست.
ASP.NET Core تمام امکانات ASP.NET MVC را بر پایه سکوی جدید فراهم میکند و افزودن بر این که شامل همهی کارایی های واسط کاربری وب است روش های طبیعیتری برای ایجاد محتوای پیچیده پیشنهاد میکند و امکان میدهد که بسیاری از کارهای کلیدی مربوط به توسعه ، مانند آزمایش های واحد یه سادگی انجام شوند.
ASP.NET Core چیست ؟
همانطور که در ابتدا گفتیم ASP.NET Core یک فریمورک Open Source (مجانی) و Cross Platform (چندسکویی) برای ساخت اپلیکیشن های مدرن مانند Web Application , Mobile BackEnd میباشد. که قادر است در ویندوز، لینوکس و مک اجرا شود. ASP.NET Core شامل چارچوب MVC است که اکنون ویژگی های MVC و Web API را به چارچوب برنامه نویسی وب متصل میکند. توجه داشته باشید که :
- Cross Platform یا در فارسی چندسکوی به دسته ای از برنامه ها اطلاق می شود که قابلیت اجرا بر روی چندین پلتفرم را داشته باشند.
- برنامه های ASP.NET Core هم میتواند بر روی NET Core. و هم میتواند بر روی نسخه کامل NetFramework . اجرا شود.
- این تکنولوژی بیشتر برای بهینه سازی و توسعه فریمورک های مبتی بر محاسبات ابری پیاده سازی شده است که شامل کامپوننت های ماژولار همراه با کمترین بار اضافی بر روی سرور میباشد که باعث افزایش انعطاف پذیری اپلیکیشن های توسعه دهندگان در زمان طراحی و پیاده سازی می شود.
- شما اکنون میتوانید برنامه های کاربردی ASP.NET Core خود را بر روی ویندوز، مک و لینوکس توسعه داده و اجرا کنید.
- ASP.NET Core 1.0 ادامه دهنده و یا تکمیل کننده ی نسخه ASP.NET 4.6 نیست بلکه یک بازنویسی از چارچوب فعلی ASP.NET 4.6 است و شاید ASP.NET Core 1.0 قابلیت های یکسانی با نسخه ۴٫۶ داشته باشد اما بسیار سبک تر و بسیار ماژولاتر است .
چرا ASP.NET Core ؟
اگر بخواهیم به صورت خلاصه برخی از ویژگیهای برجسته و مزایای این تکنولوژی جدید شرکت مایکروسافت را بیان کنیم میتوانیم به موارد زیر اشاره کنیم :
- مجانی و Open Source شدن
- Cross Platform بودن
- سادگی در استفاده
- سبک ، قوی و ساده بودن
- دسترسی به محیط محاسبات ابری
- ارتقاء سطح ماژولار بودن
- سازگار و مطابقت کامل با NuGet Package
- ایجاد یکپارچگی در بین فریم ورک های کلاینت سایدی (Client Side) مدرن و BackEnd
- و …
معرفی کامل ASP.NET Core 2
به تازگی شرکت مایکروسافت نسخه جدیدی از ASP.NET Core را همراه با NET Core. معرفی کرده است. این نسخه ASP.NET Core 2.0 نام دارد و دارای ویژگی های جدید و جالبی است. و نسبت به نسخه ASP.NET Core 1 هم از نظر عملکرد و کارایی و هم از نظر تعداد خطوط برنامه ، بهینه تر شده است. در نهایت میتوان گفت که ASP.NET Core یک قدم بزرگ در راستای پیاده سازی اپلیکیشن های مدرن وب میباشد.
شاید در نگاه اول این تکنولوژی کمی گیج کننده به نظر برسد ولی با کمی صبر و حوصله و تلاش به راحتی میتوان به تمامی قابلیتهای این تکنولوژی اشراف پیدا کرد و قدمی بزرگ در راستای پیاده سازی اپلیکیشن های حرفه ای و مدرن برداشت.
ویژگی های ASP.NET Core 2
- اپن سورس بودن ASP.NET Core 2
- چند پلتفرمی بودن ASP.NET Core 2
- استقرار منعطف ASP.NET Core 2
- ابزارهای خط فرمان ASP.NET Core 2
- سازگاری ASP.NET Core 2
- پیمانه ای بودن ASP.NET Core 2
۱- اپن سورس بودن ASP.NET Core 2
- ASP.NET Core 2 با استفاده از لایسنس های آپاچی ۲ و MIT به صورت اپن سورس پیاده سازی شده است.
- ASP.NET Core 2 پروژه ی اساسی .NET بوده و در GitHub موجود است.
- ASP.NET Core 2 به عنوان یک پروژه ی اپن سورس فرایند برنامه نویسی را شفاف تر کرده و تکاپو و فعالیت جامعه ی برنامه نویسان را افزایش می دهد.
۲- چند پلتفرمی بودن ASP.NET Core 2
- برنامه هایی که درASP.NET Core 2 پیاده سازی می شوند را می توان اجرا کرد و کد آن را می توان صرف نظر از پلتفرم هدف شما مجددا به کار گرفت.
- ASP.NET Core 2 در حال حاضر از سه سیستم عامل زیر پشتیبانی می کند:
- ویندوز
- لینوکس
- مک
۳- استقرار منعطف ASP.NET Core 2
- به دو شیوه می توان برنامه های ASP.NET Core 2 را مستقر کرد:
- استقرار وابسته به فریمورک
- استقرار کامل
- در صورت استفاده از شیوه ی اول، برنامه های شما به نسخه ای از ASP.NET Core 2 وابسته خواهند بود که برنامه ها و وابستگی های سوم شخص شما بر روی آن نصب می شوند.
- در صورت استفاده از شیوه ی دوم، نسخه ی ASP.NET Core 2 ای که برای ساخت برنامه ی خود استفاده می کنید، به همراه برنامه ها و وابستگی های سوم شخص شما مستقر می شود و شانه به شانه همراه با نسخه های دیگر قابلیت اجرا شدن دارد.
۴- ابزارهای خط فرمان ASP.NET Core 2
- تمامی سناریوهای برنامه ها را می توان در خط فرمان به کار گرفت.
۵- سازگاری ASP.NET Core 2
- ASP.NET Core 2 از طریق کتابخانه ی استاندارد .NET با فریمورک .NET ، زامارین و مونو سازگار است.
۶- پیمانه ای بودن ASP.NET Core 2
- ASP.NET Core 2 از طریق NuGet در بسته های کوچک تر منتشر می شود.
- فریمورک .NET مجموعه ی بزرگی است که اغلب قابلیت های اصلی را داراست.
- ASP.NET Core 2 به صورت بسته های ویژگی محور کوچک تر در دسترس است.
- این رویکرد پیمانه ای باعث شده است که برنامه نویسان با استفاده از بسته های NuGet که در برنامه ی خود به آن نیاز دارند، برنامه های خود را بهینه کنند.
- از جمله مزایای برنامه هایی که به سطوح کوچک تری تقسیم شده اند، می توان به امنیت بیشتر، سرویس دهی کمتر، عملکرد بهتر و هزینه ی کمتر اشاره کرد.
پیشنهاد ویژه
پکیج جامع و پروژه محور ASP.NET MVC + طراحی فروشگاه اینترنتی فروش فایل
پکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتی
مزایا ASP.NET Core 2
اگر بخواهیم به مزایای ASP.NET Core در مقایسه با سایر نسخههای NET. بپردازیم میتوانیم به موارد زیر اشاره کنیم:
-
معماری MVC در ASP.NET Core 2
نسخه ASP.NET Core MVC برای ایجاد پروژه های وب از الگوی Model-View-Controller یا به اختصار MVC استفاده مینماید.الگوی MVC جدید نیست و به سال ۱۹۷۸ و پروژه smaltalk بر میگردد. در معماری MVC برخورد کاربر با برنامه کاربردی یک مسیر طبیعی را طی میکند کاربر عملی را انجام میدهد و برنامه در پاسخ به آن ، با تغییر مدل داده ها ، نمای جدیدی را نمایش میدهد و این چرخه به همین صورت ادامه پیدا میکند این روش برای برنامه های تحت وب ، به عنوان مجموعه ای از درخواستها و پاسخهای HTTP ، مناسب است. و از آنجا که بر پایه معماری MVC عمل میکند در مقایسه با پروژه های قدیمی Web Form ، موضوع جداسازی لایههای پروژه را به خوبی انجام میدهد .
-
گسترش پذیری در ASP.NET Core 2
ASP.NET Core و ASP.NET Core MVC شامل عناصر (Component) مستقلی هستند. این عناصر دارای مشخصههای روشنی بوده و معمولا از یک واسط و یا کلاس مجرد ارث بری کرده اند. بسادگی میتوانید هر یک از این عناصر را با آنچه خودتان پیادسازی کرده اید جایگزین کنید. برای هر عنصر سه انتخاب پیش رو دارید :
۱- پیاده سازی پیش فرض آن را همان گونه که هست به کار ببرید. که برای بسیاری از برنامهها کافی است.
۲-کلاس دیگری از پیاده سازی پیش فرض مشتق کنید و رفتار آن را به دلخواه تغییر دهید.
۳-عنصر مورد نظر را با ایجاد کلاس جدیدی که از واسط یا کلاس مجرد نخستین ارث بری میکند کاملا جایگزین گنید. -
آزمایش پذیری در ASP.NET Core 2
از آنجایی که در معماری ASP.NET Core MVC رابط کاربری ، مدل داده ها و کد پردازش کننده به خوبی از هم جدا شده اند زمینهی بسیار خوبی برای اجرای آزمایش های واحد (Unit Tests) فراهم شده است. این کار را میتوانید با هر یک از نرم افزارهای آزمایش متن باز موجود مانند xUnit.net انجام دهید.
آزمایش پذیری تنها به ایجاد آزمایش های واحد مربوط نمیشود . برنامههای کاربردی با ابزاری که برای آزمایش خودکار واسط کاربری به کار میبرند به خوبی کار کرده و بدون نیاز به دانستن ساختار HTML و CSS ویا ID هایی که برنامه ایجاد میکند میتوانید کدی بنویسید که برخورد کاربر با برنامه را شبیه سازی کند. -
کنترل کامل بر HTML و HTTP در ASP.NET Core 2
خروجی اچ تی ام الی که توسط برنامه های ASP.NET Core ایجاد میشود کاملا استاندارد است . برای شکل دادن به این HTML می توانید از CSS استفاده کنید افزون بر این میتوانید از Jquery ،Angular و Bootstrap برای ایجاد عناصر پیچیده مانند تقویم و منوهای تودرتو استفاده کنید .
ASP.NET Core MVC با HTTP هماهنگ است به این معنی که کنترل درخواست های ارسال شده از مرورگر به سرور را در دست دارید . و این امکان میدهد که تجربه کاربر از برنامه را آنگونه که میخواهید شکل دهید .کاربرد Ajax ساده تر شده و به راحتی میتوانید از سرویس های وب (Web Service) برای دریافت درخواستهای ارسالی از مرورگر استفاده کنید. -
روش مسیریابی قوی در ASP.NET Core 2
با توجه به تکامل فناوری فن آوری وب ، روش استفاده از URL ها تغییر کرده است آدرسهای مانند :
App_v2/User/Page.aspx?action=show%20prop&prop_id=8421/ به ندرت پیدا میشود و به جای آن از آدرسهای مشخصتری مانند asp-net/core/ که در سئو سایت بسیار اهمیت دارد استفاده میشود.
چگونگی ساختار URL به دلایل زیادی اهمیت پیدا کرده است نخست اینکه موتورهای جست و جو به واژه های کلیدی موجود در آدرس های اینترنتی اهمیت میدهند. و دیگر اینکه بسیاری از کاربران اکنون معنی آدرس های اینترنتی را می دادند و ترجیح میدهند خودشان آن را در نوار آدرس مرورگر وارد کنند. افزون بر این زمانی که یک شخص معنی یک آدرس اینترنتی را میفهمد تمایل بیشتری برای سهیم شدن آن با دیگران و یا کاربرد آن در صفحه وب خود خواهد داشت . و مهمتر از همه آنها این است که کاربرد چنین URL هایی ساختار پوشه ها و فایل های پروژه را برای دیگران آشکار نمیکند و در صورت تغییر پیاده سازی برنامه ، در مورد شکسته شدن آدرس ها و یا لزوم تغییر آن ها، نگرانی نخواهید داشت. -
واسط برنامه نویسی قوی در ASP.NET Core 2
از آنجا که ASP.NET Core MVC بر پایه NET Core. بنا شده است از بسیاری از ویژگیهای قدرتمند آن که برای برنامه نویسان #C آشناست مانند کاربرد await ، متدهای توسعه یافته(Extension Methods) ، عبارت های لامدا (Lamda Expression) ، انواع پویا و بینام و کوئری آمیخته به زبان LINQ استفاده میکند.
-
چند سکویی (Cross Platform) در ASP.NET Core 2
نسخه های قدیمی ASP.NET برای نوشتن برنامه نیازمند سیستم عامل ویندوز بودند و هم برای میزبانی به سرور ویندوز نیاز داشتند. اما ASP.NET Core MVC هم برای برنامه نویسی و توسعه و هم برای انتشار به محیط ویژه ای وابسته نیست و قابلیت اجرا بر روی پلتفرم های مختلف از جمله Linux ، macOs را داراست .
-
متن باز بودن (Open Sourse) در ASP.NET Core 2
بر خلاف چارچوب های گذشتهی توسعه ماکروسافت ، شما اکنون میتوانید کد سورس ASP.NET Core و ASP.NET Core MVC را دانلود کنید و حتی پس از تغییرات و کامپایل نگارش خودتان از آنها را به کار ببرید .
The post آموزش ASP.Net Core – ASP.NET Core 2 چیست؟ مزایای ASP.NET Core appeared first on آموزش برنامه نویسی.