dot net core چیست و چه مزایایی نسبت به dot net دارد؟

dot net core چیست و چه مزایایی نسبت به dot net دارد؟

نوید

امین آقایی

1398/06/24

4053

بار بازدید شده
dotnetcore مایکروسافت در سال ۲۰۱۴ دات نت کور را معرفی کرد که تحول بزرگی در دنیای برنامه نویسی بود پلترفرمی که بر خلاف نسخه های قبلی پلتفرمهای برنامه نویسی مایکروسافت، Open Source هست و نیازی به IIS ندارد و بر روی سیستم عاملهای لینوکسی و ویندوزی قابل استفاده است
4048
dot net core چیست و چه مزایایی نسبت به dot net دارد؟
Vidoal
4.51
dot net core چیست و چه مزایایی نسبت به dot net دارد؟
مایکروسافت در سال ۲۰۱۴ دات نت کور (NET Core.)  را معرفی کرد که تحول بزرگی در دنیای برنامه نویسی بود پلترفرمی که بر خلاف نسخه های قبلی پلتفرمهای برنامه نویسی مایکروسافت، Open Source هست و نیازی به IIS ندارد و بر روی سیستم عاملهای لینوکسی و ویندوزی قابل استفاده است.

سالهای سال هست که بین برنامه نویسان  Php  و  Asp .net رقابت هست و همیشه مزیت برنامه نویسان  PHP متن‌باز (Open Source) بودن زبان  PHP  و قابلیت  Embed  کردن کد در  Html  بوده که با آمدن dot net core دیگر اینها مزیت نیستند. NET Core.  به صورت Cross-Platform ارايه شده که بدین معناست که روی هر سیستم عاملی قابل استفاده است.

آخرین نسخه نهایی شده و قابل استفاده  2.2  هست و قرار هست مایکروسافت تا ابتدای سال میلادی 2020 نسخه 3 را در اختیار برنامه نویسان بگذارد.

میانگین حقوق برنامه نویس دات نت کور 95,052 دلار در سال در آمریکا هست که جزو ۱۰ برنامه نویسی پر درآمد است.

شاید NET Core. جزو ۵ زبان برنامه نویسی سمت سرور محبوب دنیا نباشه، آن هم به دلیل گران بودن محصولات مایکروسافت هست.
لیست محبوبترینها:
  1. Node.js  یکی از زبانهای که به سرعت در حال رشد هست 
  2. PHP بیش از ۸۰٪ وبسایت‌ها PHP هستند چون اولین زبان برنامه نویسی است که ویژه و خاص وب طراحی شده است و همچنین   Wordpress  از زبان  PHP  استفاده میکند که ۲۵٪ سایتهای امروزی با این پلتفرم نوشته شده اند.
  3. Java  که ویژه پروژه های بزرگ و  Enterprise است.
  4. Ruby که برای پروژه های کوچک به کار میره و بیشترین کاربردش برای  startups هایی هست که میخوان به سرعت بالا بیاییند.
  5. Python  یکی از بهترین زبان ها برای تازه واردان خیلی ساده و قابل فهم 

مهمترین مزیتهای NET Core. 
  1. زبانهای برنامه نویسی زیادی هستند که هر کدام برای کار خاصی خوب هستند مثلا PHP  برای طراحی سایت عالی هست یا Swift برای نوشتن یک برنامه  IOS  فوق العاده هست ولی شما با NET Core.  #C   میتونید ویندوز فرم، وبسایت، اپلیکیشن، بازی ، API و ... بنویسید.


     
  2. کتابخانه‌های آماده استفاده زیادی در دات نت وجود دارد به عنوان مثال Entity Framework یا فریم ورک مدل-نما-کنترل‌گر (MVC) به عنوان ابزار درونی در خود پلتفرم دیده شده که توسعه پروژه را با سرعت بالاتر و ویرایش راحت تر میسر میکند.
  3. Visual Studio  ابزاری شگفت انگیز برای توسعه است که به طور کامل از dot net core پشتیبانی میکند و امکانات بسیاری را در اختیار برنامه نویسان قرار میدهد، قابلیت‌هایی نظیر تکمیل کننده خودکار کد در هنگام نوشتار (Intelligent code completion)، خطایابی (Debugging)، Profiling، یکپارچگی با گیت، تست (Unit testing) و ابزارهای اضافه ای مانند Resharper  که کدنویسی را سریعتر و راحت تر میکند . 
  4. C# زبان نسبتا ساده‌ای است و متنها و کدها به راحتی قابل فهم است.
  5. ساختار فایلهای پروژه در dot net core بهبود یافته و نظم یافته تر است، فرآیند مدیریت ساده ای دارد، به راحتی میتواننید به بخشهای مختلف پروژه دسترسی پیدا کنید.
  6. Open Source
  7. Cross-Platform
     

بستری سبک، با عملکرد بالا و با قابلیت توسعه و استقرار نرم افزار در محیط های غیر ویندوز


مزیتهای NET Core. به .Net
  1. سرعت پردازش پروژه‌های دات نت کور نسبت به .net  بیش از ۲ برابر است.
  2. در Asp.Net Core با توجه به چند سکویی بودن یا همان Cross PlatForm بودن جهت اجرای نرم افزار الزاما به IIS نیازی نیست و نرم افزار تحت وب می تواند توسط هاست درونی خود یا self hosted و یا Kestrel(هاست لینوکس) اجرا شود.
  3. در Asp.Net Core در این می باشد که توسط کلاسی به نام IServiceProvider می توان به صورت مستقیم در سازنده یا Constructor هر کلاس تزریق وابستگی را انجام داد. در واقع می توان گفت در Asp.net Core به صورت توکار تزریق وابستگی بین کلاس ها و InterFace ها انجام می شود.
  4.  بین Asp.net Mvc و Asp.net Core در ساختار پروژه می باشد. در تکنولوزی Core بسیاری از فایل ها و فولدرهای مهم و پرکاربرد در Asp.net Mvc حذف شده است.
    از جمله مهم ترین این موارد فایل web.config می باشد که فقط در نسخه پابلیش شده موجود می باشد.
    فایهای App_Start، Global.asax و پوشه App_Data نیز حذف شده اند.
    فایل  project.json  جای  Web config  را پر کرده است که ساختاری نظامند تر و مدیریت راحتتری دارید.
    فایلهای ثابت یا استاتیک پروژه در فالدری به نام wwwroot  نگهداری میشوند که باعث نظم بیشتری در پروژه ها شده است.
    فایل App_Start با فایل StartUp.cs جایگزین شده است و فایل مهم web.config نیز با فایل appsetting.json جایگزین شده است.
    همچنین یک تغییر بسیار مهم در Core جایگزینی فایلهایی از نوع json به جای فایلهایی از نوع xml می باشد.
  5.  یکی از قابلیتهای بسیار مفید و مورد استقبال برنامه نویسان می باشد عدم نیاز به Complie پروژه جهت مشاهده خروجی می باشد.
  6.  معرفی Tag Helper ها می باشد که نسبت به Html Helper ها بسیار کاربردی تر و راحتتر می باشد.

لطفا اگه از زبان برنامه نویسی خاصی استفاده میکنید مزیت هاش را نسبت به زبان و پلتفرم معرفی شده بنویسید.

P.S. 
توضیح نویسنده مطلب:
وبسایت Vidoal.com با پلتفرم .net  و با زبان C#  و معماری MVC  و بانک اطلاعاتی SQL  نوشته شده زمانی که این وبسایت طراحی شد دات نت کور تازه معرفی شده بود و ورژن بتا خودش را داده بود، تیم برنامه نویسی ویدولوپ در حال حاضر از Net Core. استفاده میکنه که اصلا با پلتفرم قبلی از لحاظ سرعت توسعه ، اجرا و امنیت با ورژن قبلی قابل مقایسه نیست. نمونه کار انجام شده با این پلتفرم وب سایت فروشگاهی آریزون است.