اگر به تاریخچه ASP.NET نگاه کنیم ، خواهیم دید که عمر این محصول ماکروسافت کم هم نیست . حدود 14 سال است که این محصول سرپاست و در حال سرویس دهی به برنامه نویسان حوزه وب میباشد .از روز شروع و تولید این محصول زمان زیادی گذشته و ماکروسافت روزبه روز سعی در بهبود آن داشته ، ولی آنچه تحت عنوان ASP.NET Core 1.0 به بازار آمده ، یک انقلاب واقعی است .
شاید این فرضیه وجود داشته باشد که ASP.NET Core 1.0 عملن همان ASP.NET 4.6 است دیگر، ولی باید با جرات و جدیت اعلام کرد که "خیر" . ماکروسافت این نسخه را جدی جدی از اول نوشته است . این نسخه شاید قابلیتهای یکسانی با نسخه 4.6 داشته باشد ، ولی واقعن از صفر نوشته شده و به صورت محسوسی سبکتر و ماژولاتر است ..
چرا ماکروسافت دست به تغییر زده است؟
ماکروسافت نگران از دست دادن برنامه نویسانش بود . بعد از نابودی Silverlight و عدم توان رقابت با IOS وAndroid ، دیگر چه چیز برای ماکروسافت میماند ؟. در بستر موبایل که برنامه نویسی Windows Mobile با 2 رقیب آن اصلا قابل مقایسه نیست و ماکروسافت شکست را پذیرفته است . تنها جایی که امکان رقابت باNode, Ruby, Python, Java همین بستر وب است و بس. سیستمهای تحت ویندوز یا همان Windows Application ها را که باید مرده بحساب آورد پس تنها صحنه رقابت و جنگ برای ماکروسافت همین بستر وب است . مسئله بعدی Startup ها هستند . آنها به بسترهای Open Source و ارزان نیاز دارند . ماکروسافت با وضعیت قبلی ASP.NET ، اصلن مورد توجه Startup ها قرار نمیگرفت و این بسیار دردناک بود .
حال باید دید چرا این تغییرات میتواند ASP.NET را دوباره به مدار باز گرداند .
- مجانی و Open Source شدن
- Cross Platform بودن
- سادگی در استفاده
- سبک ، قوی و ساده بودن
با این 4 ویژگی ASP.NET با دیگر محیطها و زبانهای توسعه وب در یک سطح خواهد بود ، مضاف بر اینکه زبان قدرتمند و زیبای C#.NET همچنام هسته اصلی توسعه باقی خواهد ماند و این یعنی یک برتری بسیار بزرگ نسبت به دیگر زبانها !
چه بر سر ASP.NET 4.6 خواهد آمد؟
جواب را کسی نمیداند ، ولی بر اسای مشاهدات ، باید آنرا هم مرده فرض کنید . روی اسب مرده شرط بندی نکنید و Core 1.0 را برنده بدانید .مسلما ورژنهای پایینتر همچنان کار خواهند کرد چنانکه ASP Classic هم هنوز بر روی IIS قابل اجراست ، ولی از لحاظ بازار کار ، پشتیبانی و به روز بودن محصول باید Core 1.0 را به عنوان امید اول این جایگاه حساب نماییم .
آنچه در حال حاضر از دست من و شما بر می آید این است که آرزو کنیم ماکروسافت خسته نشود و دوباره یک محصول نیمه کاره و دارای خطاهای فاحش به بازار عرضه نکند . باید منتظر بود و دید آیا ماکروسافت اینبار محصولی که بتوان به آن افتخار کرد را ارائه میکند یا نه .
چرا از ASP.NET Core استفاده کنیم؟
میلیون ها برنامه نویس از ASP.NET استفاده کرده اند(و هنوز در حال استفاده هستند) برای برنامه های نحت وب.
ASP.NET Core در واقع همان ASP.NET می باشد که دوباره طراحی شده و با تغییرات معماری منجر به modular framework شده است.
مزایای ASP.NET Core
- یکپارچه سازی ساخت رابط کاربری و WEB API
- یکپارچه سازی client-side frameworks و جریان های توسعه.
- A unified story for building web UI and web APIs.
- Integration of modern client-side frameworks and development workflows.
- A cloud-ready, environment-based configuration system.
- Built-in dependency injection.
- A lightweight, high-performance, and modular HTTP request pipeline.
- Ability to host on IIS or self-host in your own process.
- Can run on .NET Core, which supports true side-by-side app versioning.
- Tooling that simplifies modern web development.
- Ability to build and run on Windows, macOS, and Linux.
- Open-source and community-focused.
نصب ویژوال استودیو 2017 و .Net Core
برای نصب ویژوال استودیو 2017 گزینه های زیر را انخاب می کنیم :
- ASP.NET and web development (under Web & Cloud)
- .NET Core cross-platform development (under Other Toolsets)
ایجاد یک برنامه وب
از منو گزینه File را انتخاب کرده و با انتخاب منوی New گزینه Project را انتخاب می کنیم
بعد از باز شدن کامل پنجره New Project در پنل سمت چپ گزینه Net Core را انتخاب می کنیم
در پنل وسط تب ASP.NET Core Web Application (.NET Core) انتخاب می کنیم
نام پروژه را MvcMovie می گذاریم .
بعد از باز شدن پنچره New ASP.NET Core Web Application (.NET Core) - MvcMovie
گزینه Web Application را انتخاب کنید و حالت پیش فرض No Authentication باشد