• ASP.NET Core 1  چیست و به چه دلیل ماکروسافت دست به چنین تغییر عظیمی زد ؟.
ASP.NET Core 1 چیست و به چه دلیل ماکروسافت دست به چنین تغییر عظیمی زد ؟.
1395/01/07 - 00:03:57 // مقالات عمومی // 5 نظر // 14399 بازدید

چرا ماکروسافت نسخه 4.6 دات را به یکباره کنار گذاشت و به سراغ ASP.NET Core 1.0 رفت ؟.

ASP.NET Core 1 چیست و به چه دلیل ماکروسافت دست به چنین تغییر عظیمی زد ؟.

اگر به تاریخچه ASP.NET نگاه کنیم ، خواهیم دید که عمر این محصول ماکروسافت کم هم نیست . حدود 14 سال است که این محصول سرپاست و در حال سرویس دهی به برنامه نویسان حوزه وب میباشد .از روز شروع و تولید این محصول زمان زیادی گذشته و ماکروسافت روزبه روز سعی در بهبود آن داشته ، ولی آنچه تحت عنوان ASP.NET Core 1.0 به بازار آمده ، یک انقلاب واقعی است .

شاید این فرضیه وجود داشته باشد که ASP.NET Core 1.0 عملن همان ASP.NET 4.6 است دیگر، ولی باید با جرات و جدیت اعلام کرد که "خیر" . ماکروسافت این نسخه را جدی جدی از اول نوشته است . این نسخه شاید قابلیتهای یکسانی با نسخه 4.6 داشته باشد ، ولی واقعن از صفر نوشته شده و به صورت محسوسی سبکتر و ماژولاتر است .

همین چند روز پیش بود که Scott Hanselman اسم نهایی این محصول را ASP.NET Core 1.0 گذاشت و به گمانه زنیهای مختلف بر روی اسم جدید این محصول پایان داد. اسامی مانند ASP.NET 5, ASP.NET vNext and Project K . حال مشخص شد که این اسامی همگی حدسیات بوده و نام جدید محصول ASP.NET Core 1.0 می باشد .

این صحیح است که بحثی در گرفته و عده ای این محصول جدید را همان نسخ قبلی فقط با شکل و نامی جدید طلقی میکنند ، ولی باید گفت که این نظریه صحیح نیست !. گروهی از کارشناسان ، بحث را به سمت MVC 6 برده و مدعی هستند نسخه جدید همان MVC 6 میباشد که در این نسخه جدید کل ASP.NET را به تسخیر خود در آورده است . مسئله اینجاست که ASP.NET Core 1.0 عملن یک تغییر ریشه ای است و میتوان گفت همه چیز از بنیان عوض شده است .

اگر اخبار را دنبال کرده باشید و به منابع و فورومهای ماکروسافت سر بزنید ، خواهید دید که این سری تغییرات و این انقلاب در حوزه ASP.NET ، برای ماکروسافت بسیار مهم و حیاتی محسوب میشود چرا که سرنوشت ASP.NET به این تغییرات و این نسخه بسیار مرتبط خواهد بود .

چه چیز در ASP.NET Core 1 تغییر کرده است ؟.

اولین نکته قابل بحث در جواب این سوال این است که کلن همه چیز در این ورژن دوباره نویسی شده است . باور میکنید System.Web و هر آنچه با آن همراه بوده ، دیگر وجود ندارد ؟!.

نکته بعدی Open Source بودن محصول بدون تعارف و شعار است . در کنار آن این نسخه واقعن Cross plat form هم هست . آیا میدانید ماکروسافت چقدر هزینه زمانی و مالی گذاشته تا این محصول واقعن Cross Plat Form شود ؟. یعنی در عمل ما یک CoreCLR جدید داریم که جایگزین Mono خواهد شد . با این نسخه شما میتوانید برای Mac یا Linux یا ویندوز به انتخاب خودتان سیستم طراحی کنید . این یعنی PowerShell توسط Core 1 کنار گذاشته شده و ماکروسافت به سراغ Node.JS رفته است . در عمل این Node.JS است که مراحل Pre-RUN و Build را مبتنی بر Grunt یا Gulp به عهده دارد.

یکی دیگر از تغییرات مهم حذف .csproj و جایگزینی آن توسط فایلهای project.json است . به همین دلیل است که همه Library های جدید از طریق Nuget هندل خواهند شد چرا که از این طریق میتوان پروژه ها را بر روی Mac هم سوار کرد .

نکته بعدی IDE ماکروسافت است . این بار ماکروسافت جدی جدی تصمیم گرفت و عمل کرد . شما میتوانید VS.NET را روی سیستم عاملهای دیکر هم نصب کنید . در کنار آن ، ماکروسافت به صورت جدی تصمیم به Open Source شدن دارد و این یعنی یک تغییر بزرگ !.

سوال اینجاست که چرا ماکروسافت دست به چنین تغییر بزرگی زد ؟.

ماکروسافت نگران از دست دادن برنامه نویسانش بود . بعد از نابودی Silverlight و عدم توان رقابت با IOS و Android ، دیگر چه چیز برای ماکروسافت میماند ؟. در بستر موبایل که برنامه نویسی Windows Mobile با 2 رقیب آن اصلا قابل مقایسه نیست و ماکروسافت شکست را پذیرفته است . تنها جایی که امکان رقابت با Node, Ruby, Python, Java همین بستر وب است و بس. سیستمهای تحت ویندوز یا همان Windows Application ها را که باید مرده بحساب آورد پس تنها صحنه رقابت و جنگ برای ماکروسافت همین بستر وب است . مسئله بعدی Startup ها هستند . آنها به بسترهای Open Source و ارزان نیاز دارند . ماکروسافت با وضعیت قبلی ASP.NET ، اصلن مورد توجه Startup ها قرار نمیگرفت و این بسیار دردناک بود .

حال باید دید چرا این تغییرات میتواند ASP.NET را دوباره به مدار باز گرداند .

1- مجانی و Open Source شدن

2- Cross Platform بودن

3- سادگی در استفاده

4- سبک ، قوی و ساده بودن

با این 4 ویژگی ASP.NET با دیگر محیطها و زبانهای توسعه وب در یک سطح خواهد بود ، مضاف بر اینکه زبان قدرتمند و زیبای C#.NET همچنام هسته اصلی توسعه باقی خواهد ماند و این یعنی یک برتری بسیار بزرگ نسبت به دیگر زبانها !.

سوال دیگر اینجاست که چه بر سر ASP.NET 4.6 خواهد آمد ؟. جواب را کسی نمیداند ، ولی بر اسای مشاهدات ، باید آنرا هم مرده فرض کنید . روی اسب مرده شرط بندی نکنید و Core 1.0 را برنده بدانید .مسلما ورژنهای پایینتر همچنان کار خواهند کرد چنانکه ASP Classic هم هنوز بر روی IIS قابل اجراست ، ولی از لحاظ بازار کار ، پشتیبانی و به روز بودن محصول باید Core 1.0 را به عنوان امید اول این جایگاه حساب نماییم .

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

علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
برچسب ها
ASP.NET Core 1 
نظرات کاربران
  • محمد
    1395/04/23 - 16:19:16

    1
    0
    سلام
    من چند سالی هست (۹ سال) دارم aspکار می کنم تا الان هم بابت مشغله زیاد و نداشتن حوصله سراغ mvc نرفتم
    درست چند ماهی بابت فشار شرکتمون رفتم که mcv یاد بگیرم الان با این وضعیت اصلا از کجا شروع کنم و چه چیزهایی رو باید یاد بگیرم؟
    با تشکر

    پاسخ،
    ___
    سلام،

    اول به JQuery و مفاهیم Getو Postو وب سرویسها بپردازید. بعد وارد MVCشوید. خود HTML وCSSهم مهم است.
  • محمد
    1395/07/24 - 08:44:25

    0
    0
    سلام ممنون از مطلب مفیدتون آیا منبعی به فروم های مایکروسافت برای یادگیری و آشنایی با asp.Net core ,[,وجود دارد لطفا معرفی کنید ممنون
     
    --
    در سایت asp.net هست 
  • کیوان
    1395/09/05 - 04:39:34

    1
    0
    سلام و خسته نباشید خدمت شما استاد عزیز من هم مثل دوستمون محمد چند سالی C# کار کردم و از مدتی قبل سراغ یادگیری mvc رفتم ، با توجه به اینکه mvc دیگه ادامه پیدا نمیکنه و asp core داره جای اونو میگیره ، پیشنهاد شما برای یادگیری و استارت یک پروژه متوسط برای همین الان چیه ؟ مثل اینکه مباحثی مثل signalr و websocket فعلا در core نیست. در roadmap ش قبلا نوشته بود کی قراره اضافه بشه ولی الان پیدا نمیکنم ! یه سوال دیگه : آیا مایکروسافت C# Core ی هم برای نوشتن application هایی برای ویندوز و مک ... در حال طراحی داره ؟ بازم ممنونم ازسایت و زحمات شما
     
     --
    در این گونه موارد، نمی شود بدون اطلاعات قضاوت کرد. MVC 5 یک نسخه قدیمی نیست و در اصل یک Major Version است.  استفاده از NET Core دلایل و مسایل خود را دارد که بر اساس وضعیت سیستم کاری، توان، بودجه و هدف باید بررسی شود.
  • حسین
    1395/11/13 - 14:16:37

    0
    0
    من خیلی دات نت رو پیگیری نمیکنم اما تقریبا هد ماه یه تکنولوژی جدید میاد که قبلیو منسوخ میکنه!اینم یکی دیگه!
  • najme
    1396/04/16 - 14:42:38

    0
    0
    سلام اکدasp.net4.6 با asp.net core کاملا فرق داره ؟ پس چرا سلسله آموزش های ASP.NET Core 1 با asp.net4.6 هستش؟
ارسال نظر