Net Core.(دات نت کور) چیست؟
NET Core. یک پلتفرم برنامهنویسی مدرن، رایگان و متنباز است که توسط شرکت مایکروسافت در سال ۲۰۱۶ بهصورت رسمی منتشر شد. هدف اصلی از ایجاد NET Core.، فراهم کردن بستری انعطافپذیر برای توسعهی نرمافزارهایی بود که قابلیت اجرا بر روی سیستمعاملهای مختلف مانند ویندوز، لینوکس و macOS را داشته باشند. این ویژگی که با عنوان Cross-Platform شناخته میشود، به توسعهدهندگان اجازه میدهد تا تنها با یکبار کدنویسی، برنامه خود را در چندین محیط مختلف بدون نیاز به بازنویسی اجرا کنند.
در واقع نسل جدیدی از پلتفرمهای داتنت است که بر پایه معماری ماژولار، سبک و قابل حمل ساخته شده و با تمرکز بر کارایی بالا، پشتیبانی قوی از توسعه مبتنی بر وب، فضای ابری، میکروسرویسها و اینترنت اشیاء طراحی شده است. امروزه NET Core. تحت برند یکپارچهی NET. (از نسخه ۵ به بعد) توسعه مییابد و بهعنوان هسته اصلی اکوسیستم داتنت شناخته میشود.
تاریخچهای مختصر از NET Core.
در سال ۲۰۰۲، مایکروسافت برای اولینبار فریمورک NET Framework. را معرفی کرد که تنها روی ویندوز قابل اجرا بود.
در سال ۲۰۱۴، توسعهی نسخهی جدیدی از این فناوری با رویکرد چندسکویی آغاز شد و در ژوئن ۲۰۱۶ اولین نسخهی رسمی از NET Core. با نسخه ۱.۰ منتشر شد.
از نسخه NET 5. به بعد، مایکروسافت تصمیم گرفت برند NET Core. را با NET Framework .یکپارچه کند و همهی نسخههای بعدی با نام «NET.» منتشر شدند.
معماری داتنت کور
NET Core. از چند بخش اصلی تشکیل شده است:
CoreCLR: محیط اجرایی برنامه که وظیفه مدیریت حافظه، مدیریت استثناءها، جمعآوری زباله (Garbage Collection) و امنیت را بر عهده دارد.
CoreFX: مجموعهای از کتابخانههای استاندارد کلاسها (BCL) که ابزارهای اصلی برنامهنویسی مانند مدیریت فایل، ورودی/خروجی، مجموعهها و شبکه را فراهم میکنند.
Roslyn: کامپایلر متنباز#C و VB.NET.
(Command Line Interface)CLI: ابزار خط فرمان برای اجرای دستورات ساخت، تست، اجرا و انتشار پروژهها.
SDK: بستهی توسعهای شامل ابزارها، کامپایلرها و قالبهای پروژه.
Asp.Net Core چیست؟
ASP.NET Core چیست؟
ASP.NET Core یک فریمورک مدرن، رایگان و متنباز برای توسعهی اپلیکیشنهای تحت وب، APIها و خدمات مبتنی بر اینترنت است که توسط شرکت مایکروسافت طراحی و ارائه شده است. این فریمورک بهعنوان نسل جدید ASP.NET شناخته میشود و بهطور کامل بازنویسی شده تا محدودیتهای نسخههای قبلی را پشت سر بگذارد.
یکی از مهمترین ویژگیهای ASP.NET Core، چندسکویی بودن (Cross-Platform) آن است؛ به این معنا که برنامههای توسعهیافته با این فریمورک میتوانند بدون هیچ تغییری روی سیستمعاملهای مختلف از جمله ویندوز، لینوکس و macOS اجرا شوند. این در حالی است که نسخههای قدیمی ASP.NET تنها روی ویندوز قابل اجرا بودند.
این فریمورک ساختاری ماژولار دارد، بهگونهای که فقط اجزایی از آن را که در پروژه نیاز دارید، میتوانید از طریق بستههای NuGet اضافه کنید. این ویژگی باعث کاهش حجم پروژه، بهبود عملکرد و افزایش انعطافپذیری میشود.
ASP.NET Core بر روی بستر NET Core. (و از نسخه ۵ به بعد، بر روی پلتفرم یکپارچهی NET.) اجرا میشود و بهعنوان انتخاب اصلی مایکروسافت برای توسعه وبسایتها و اپلیکیشنهای مدرن در فضای ابری، میکروسرویسها و سیستمهای مقیاسپذیر در نظر گرفته میشود.
مقایسه ASP.NET Core با نسخه قدیمی ASP.NET
ASP.NET Core نسخهی کاملاً بازنویسیشدهای از ASP.NET سنتی است و تفاوتهای قابل توجهی با آن دارد. این تفاوتها در ابعاد مختلفی قابل بررسی هستند:
ماژولار
ماژولار به این معنی است که ما هر امکانی که نیاز داشته باشیم می توانیم بسته Nuget آن را دانلود به پروژه اضافه کنیم. بدین ترتیب پروژه ما بسیار سبکتر می شود چون فقط کتابخانه های که از آنها استفاده کرده ایم به پروژه اضافه می کنیم.
cross platform
برنامه های که با استفاده ازNet Core. نوشته می شوند بر روی سیستم عامل های ویندوز , لینوکس ومک قابل اجرا هستند. با این تکنولوژی می توانیم هر برنامه ی کاربردی که قصد داریم روی یکی از این سیستم عامل ها اجرا کنیم را به راحتی بنویسیم و این قابلیت خیلی ارزشمندی برای ما برنامه نویسان هست که با تسلط بر یک تکنولوژی و توسعه یک نرم افزار می توانیم آن را در تمامی سیستم ها اجرا کنیم و نیازی به کدنویسی مجدد یک پروژه برای سیستم عامل های مختلف نیست.
از برنامه های کاربردی موبایل برای سیستم عامل های android و ios گرفته تا برنامه های بزرگ سازمانی که در ویندوز سرور و لینوکس کار می کنند و یا میکروسرویس های با مقیاس بالا که در فضاهای ابری اجرا می شوند، برای تمامی این ها Net Core. برای شما راه حل هایی ارائه می دهد.
Open source
Net Core. اوپن سورس است و از مجوز های MIT و Apache2 استفاده می کند. طبق آمار های ارائه شده در حال حاضر بیش از 30 هزار توسعه دهنده از حدود 2000 هزار شرکت در خارج از مایکروسافت در ارتقاع و بهبود dot net core مشارکت می کنند، و می بینیم که جامعه دات نت به سرعت در حال رشد است و پروژه های جامع و کتابخانه های پرکاربردی به صورت رایگان در دسترس عموم قراردارند. علاوه بر این جامعه و خود مایکروسافت، تیم های فنی شرکت های بزرگی همچون گوگل، رد هت، سامسونگ، یونیتی و JetBrains در حال فعالیت بر روی Net.هستند و در آینده پیشرفت های شگفت انگیزی می توانیم در Net. مشاهده کنیم.
کارایی و سرعت
Core سرعت خیلی بالایی برای پاسخ دادن به درخواست های کلاینت دارد و از Node.js و Go هم سریعتر است. این یعنی برنامه ها برای پاسخ به درخواست ها به توان محاسبه کمتری نیاز دارند. سایت stackoverflow که روزانه بیش از 10 میلیون بازدید دارد تنها در 9 سرور مستقر شده است و این قدرت و سرعت .Net Core را به خوبی نمایش می دهد. سایت TechEmpower که یک بنچ مارک معتبر است فریم ورک های وب را با کارهایی مانند سریال سازی json ، دسترسی سریع به بانک های اطلاعاتی و... مقایسه می کند. در این وب سایت می توانید مشاهده کنید که .Net Core سریعتر از هر فریمورک شناخته شده ی دیگری هست.
مایکروسافت برای بدست آوردن بهترین عملکرد Net Core.را با asp.net core توصیه می کند. این امر زمانی اهمیت پیدا میکند که صدها میکروسرویس استفاده شوند و با هم یک اپلیکیشن بزرگ را تشکیل دهند، در این صورت به تعداد کمتری سرور نیاز دارید. این بهره وری و مقیاس پذیری به دست آمده با dot net core به صرفه جویی های خوبی در هزینه های شما می انجامد.
شرکت های بزرگی در حال حرکت به سمت dot net core هستند. یکی از بزرگترین شرکت ها موتور جستوجوی bing.com است که بعد از انتقال به dot net core در عملکرد سیستم خود 34 درصد پیشرفت داشته اند.
دفتر مرکزی raygun در نیوزلند گزارش داده است که با جابجایی از Node.js به .Net Core توان خود را 2000% افزایش داده است. این شرکت محصولات Crash Reporting , Real User Monitoring , APM را ارائه می دهد. اگر نگاهی به خدمات و مشتریان سایت raygun بیاندازید بزرگی این شرکت را می توانید بهتر درک کنید.
اکوسیستم بزرگ
با وجود کتابخانه های nuget و بازار Visual Studio Marketplac ، شبکه گسترده مشارکت کنندگان و سایت های سوال و جواب خارجی مانند stackoverflow و حتی سایت های فارسی اکوسیستم بزرگ دات نتی در اختیار شما قرار دارد. که در حین انجام پروژه ها کمک شایانی به تیم شما می کند.
پشتیبانی قوی
Net Core. بر روی سیستم عامل های windows , macOS , Linux توسط مایکروسافت ارائه و پشتیبانی می شود و برای بالابردن امنیت و کیفیت چندین بار در سال بروزرسانی می شود. رد هت از Net Core. در Red Hat Enterprise Linux(RHEL) پشتیبانی می کند. شرکت های رد هت و مایکروسافت برای اطمینان از اینکه Net Core. به خوبی در RHEL اجرا شود همکاری می کنند. می بینیم که غول های بزرگ نرم افزاری پشتیبانی Net Core. را بر عهده دارند و با خیالی آسوده تر می توانیم .Net Core را برای آینده خود و سازمانمان انتخاب کنیم.
دلایل انتخاب ASP.NET Core برای پروژههای آینده
✅ عملکرد بینظیر: در بنچمارکهای جهانی مانند TechEmpower، فریمورک ASP.NET Core جزء سریعترین گزینهها قرار دارد. این عملکرد بالا منجر به کاهش نیاز به منابع سرور میشود.
✅ انعطافپذیری در استقرار: برنامههای ASP.NET Core را میتوان در انواع مختلفی از محیطها اجرا کرد: روی سرورهای ویندوزی، لینوکسی، کانتینرهای Docker یا حتی در پلتفرمهای ابری مانند Azure و AWS.
✅ پشتیبانی بلندمدت (LTS): نسخههای LTS از ASP.NET Core توسط مایکروسافت برای سالها پشتیبانی میشوند.
✅ توسعه سریع و حرفهای: با امکاناتی مانند Hot Reload، Minimal APIs و ابزارهای قدرتمند مانند Visual Studio و Rider، تجربهی توسعهدهنده بسیار بهبود یافته است.
✅ امنیت بالا: ASP.NET Core دارای پشتیبانی داخلی برای احراز هویت، مجوزدهی، محافظت در برابر CSRF، XSS و سایر تهدیدات امنیتی رایج است.
زبانهای برنامهنویسی برای Nزبان های برنامه نویسی برای asp dot net coreET Core.

یکی از مزیتهای مهم NET Core. پشتیبانی از چندین زبان برنامهنویسی مدرن و قدرتمند است که توسعهدهندگان میتوانند با توجه به نیاز پروژه، مهارت فردی یا نوع اپلیکیشن، از آنها استفاده کنند. در حال حاضر، سه زبان اصلی که بهصورت رسمی توسط مایکروسافت برای NET Core. پشتیبانی میشوند عبارتاند از:
۱. سیشارپ (#C)
#C زبان اصلی و محبوبترین زبان در اکوسیستم NET. است. یک زبان برنامهنویسی مدرن، شیگرا و ایمن که از ویژگیهایی مانند:
- برنامهنویسی ناهمزمان (async/await)
- LINQ
- الگوهای جدید در نسخههای C# 10 و C# 11
- قابلیت استفاده در سمت کلاینت با Blazor
- و توسعه اپلیکیشنهای چندسکویی
پشتیبانی میکند. اکثر پروژههای تحت .NET Core (از جمله ASP.NET Core و ML.NET) با #C نوشته میشوند.
۲. افشارپ (#F)
#F یک زبان فانکشنال، قدرتمند و مختصر است که برای محاسبات علمی، تحلیل دادهها، پردازش دادههای مالی و حتی توسعه وب بسیار مناسب است. این زبان بر پایه پارادایم برنامهنویسی تابعی (Functional Programming) است اما از شیگرایی نیز پشتیبانی میکند. #F برای توسعهدهندگانی که به دنبال دقت بالا و خطای کمتر در منطق برنامه هستند، گزینهای عالی است.
۳. ویژوال بیسیک (VB.NET)
VB.NET یک زبان ساده و خوانا است که برای بسیاری از توسعهدهندگان قدیمیتر داتنت آشناست. اگرچه در نسخههای اخیر، تمرکز مایکروسافت بیشتر بر روی C# و F# بوده، اما هنوز هم از ویژوال بیسیک برای پروژههای خاص و سازمانی، خصوصاً در اپلیکیشنهای تجاری قدیمی پشتیبانی میشود.
📌 نکته: ویژوال بیسیک برای توسعه برنامههای وب مدرن (مانند ASP.NET Core) توصیه نمیشود، اما در ساخت Web APIها یا اپلیکیشنهای کنسولی قابل استفاده است.
محیطهای توسعه (IDE)
برای کدنویسی در این زبانها میتوانید از محیطهای توسعهی زیر استفاده کنید:
Visual Studio (پیشنهاد مایکروسافت برای توسعه در ویندوز)
Visual Studio Code (چندسکویی، سبک و محبوب برای لینوکس و macOS)
JetBrains Rider (IDE حرفهای و قدرتمند برای پروژههای NET Core.)
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید