داتنت (.NET) چیست؟
.NET یک پلتفرم متنباز برای ساخت برنامههای دسکتاپ، وب و موبایل است که میتوانند بهصورت بومی روی هر سیستمعاملی اجرا شوند. سیستم .NET شامل ابزارها، کتابخانهها و زبانهایی است که از توسعه نرمافزارهای مدرن، مقیاسپذیر و با عملکرد بالا پشتیبانی میکند. یک جامعه توسعهدهندگان فعال این پلتفرم را نگهداری و پشتیبانی میکند.
به زبان ساده، پلتفرم .NET نرمافزاری است که میتواند این وظایف را انجام دهد:
- ترجمه کد زبان برنامهنویسی .NET به دستوراتی که یک دستگاه محاسباتی میتواند پردازش کند.
- ارائه ابزارهایی برای توسعه نرمافزار بهصورت کارآمد. برای مثال، میتواند زمان فعلی را پیدا کند یا متن را روی صفحه نمایش دهد.
- تعریف مجموعهای از انواع دادهها برای ذخیره اطلاعات مانند متن، اعداد و تاریخها در کامپیوتر.
پیادهسازی داتنت (.NET) چیست؟
پیادهسازیهای مختلف داتنت به کد داتنت اجازه میدهد تا بر روی سیستمعاملهای مختلف مانند لینوکس، macOS، ویندوز، iOS، اندروید و بسیاری دیگر اجرا شود.
.NET Framework
داتنت فریمورک پیادهسازی اصلی داتنت است. از اجرای وبسایتها، سرویسها، برنامههای کاربردی دسکتاپ و موارد دیگر در ویندوز پشتیبانی میکند. مایکروسافت داتنت فریمورک را در اوایل دهه ۱۹۹۰ منتشر کرد.
.NET Core
مایکروسافت داتنت کور را در اواخر سال ۲۰۱۴ برای فعال کردن پشتیبانی چند پلتفرمی برای توسعهدهندگان داتنت راهاندازی کرد. این شرکت جدیدترین نسخه داتنت کور، داتنت ۵.۰ را در نوامبر ۲۰۲۰ منتشر کرد و آن را به داتنت تغییر نام داد. اصطلاح داتنت در این مقاله به داتنت ۵.۰ اشاره دارد. داتنت کور در گیتهاب متنباز است.
.NET Standard
داتنت استاندارد یک مشخصات رسمی از توابع مختلف (به نام API) است. پیادهسازیهای مختلف داتنت میتوانند از همان کد و کتابخانهها مجدداً استفاده کنند. هر پیادهسازی از APIهای استاندارد داتنت و APIهای منحصر به فرد مخصوص سیستم عاملهایی که روی آن اجرا میشود، استفاده میکند.
چرا داتنت (.NET) را انتخاب کنیم؟
- سهولت توسعه: توسعهدهندگان دوست دارند از داتنت استفاده کنند زیرا شامل ابزارهای زیادی است که کار آنها را آسانتر میکند. به عنوان مثال، با استفاده از مجموعه ویژوال استودیو، توسعهدهندگان میتوانند سریعتر کد بنویسند، به طور کارآمد همکاری کنند و کد خود را به طور موثر آزمایش و رفع اشکال کنند. قابلیت استفاده مجدد از کد بین پیادهسازیها، هزینه توسعه را کاهش میدهد.
- برنامههای کاربردی با عملکرد بالا: برنامههای کاربردی داتنت زمان پاسخدهی سریعتری را ارائه میدهند و به قدرت محاسباتی کمتری نیاز دارند. آنها اقدامات امنیتی داخلی قوی دارند و وظایف سمت سرور مانند دسترسی به پایگاه داده را به طور کارآمد انجام میدهند.
- پشتیبانی جامعه: داتنت متنباز است، به این معنی که هر کسی میتواند به طور آزادانه به استفاده، خواندن و اصلاح آن دسترسی داشته باشد. یک جامعه فعال از توسعهدهندگان از نرمافزار داتنت نگهداری و آن را بهبود میبخشد. بنیاد داتنت یک سازمان غیرانتفاعی مستقل است که برای حمایت از جامعه داتنت تأسیس شده است. منابع آموزشی، پروژههای متنباز داتنت و رویدادهای مختلفی را برای توسعهدهندگان داتنت فراهم میکند.
اجزای معماری داتنت (.NET) چیست؟
داتنت دارای یک معماری مدولار و بهینه شده است. کاربران میتوانند اجزای مختلفی را برای برآورده کردن نیازهای توسعه نرمافزار خود انتخاب کنند.
این سه جزء اصلی داتنت هستند:
- زبانهای داتنت
- چارچوبهای مدل برنامه کاربردی
- زمان اجرای داتنت
توسعهدهندگان از زبانهای برنامهنویسی داتنت و چارچوبهای مدل برنامه کاربردی برای ایجاد برنامههای کاربردی داتنت خود استفاده میکنند. سپس زمان اجرای داتنت آنها را اجرا و اجرا میکند.
زبانهای برنامهنویسی داتنت (.NET) چیست؟
C# (تلفظ سی شارپ)، F# (تلفظ اف شارپ) و ویژوال بیسیک سه زبان پشتیبانی شده توسط مایکروسافت برای توسعه داتنت هستند. شرکتها و توسعهدهندگان مختلف نیز زبانهای دیگری را ایجاد کردهاند که با پلتفرم داتنت کار میکنند.
- C#:C# یک زبان برنامهنویسی ساده، مدرن و شیءگرا است. با سینتکسی مشابه خانواده زبانهای C، این زبان برای برنامهنویسان C، C++، جاوا و جاوااسکریپت آشنا است.
- F#:F# دارای سینتکس سبک است و به کد بسیار کمی برای ساخت نرمافزار نیاز دارد. این یک زبان متنباز است که نوشتن کد مختصر، قوی و با عملکرد بالا را آسان میکند. همچنین دارای سیستم قوانین برنامهنویسی قدرتمند و یک کتابخانه استاندارد مناسب برای ساخت نرمافزارهای حیاتی، صحیح، سریع و قابل اعتماد است.
- ویژوال بیسیک:
ویژوال بیسیک یک زبان برنامهنویسی شیءگرا است که توسط مایکروسافت توسعه یافته است. استفاده از ویژوال بیسیک امکان ایجاد برنامههای .NET ایمن در برابر نوع را سریع و آسان میکند. ایمنی نوع به میزان جلوگیری یا ممانعت یک زبان برنامهنویسی از خطاهای منطقی کدنویسی اشاره دارد.
زبانهای زیرساخت زبان مشترک (CLI)
زبانهایی مانند ClojureCLR، Eiffel، IronPython، PowerBuilder و بسیاری دیگر نیز بر روی پلتفرم داتنت کار میکنند. این به این دلیل است که داتنت زیرساخت زبان مشترک (CLI) را پیادهسازی میکند. میتوانید CLI را به عنوان یک الگو برای ایجاد زبانهای سازگار با داتنت در نظر بگیرید.
زمان اجرای داتنت (.NET) چیست؟
زمان اجرای داتنت، که زمان اجرای زبان مشترک (CLR) نیز نامیده میشود، برنامههای داتنت را بر روی سیستمعاملهای مختلف کامپایل و اجرا میکند.
کامپایل در لحظه (Just-in-time compilation)
CLR کد را همانطور که توسعهدهنده مینویسد کامپایل میکند. در طول کامپایل، CLR کد را به زبان میانی مشترک (CIL) ترجمه میکند. به عنوان مثال، کد نوشته شده در سی شارپ دارای سینتکس و کلمات انگلیسی مانند است. داتنت این کد را به CIL کامپایل یا ترجمه میکند. کد CIL متفاوت به نظر میرسد زیرا یک زبان کد ماشین سطح پایینتر است.
اجرا
زمان اجرای داتنت اجرای کد CIL را مدیریت میکند. CIL سازگار با چند پلتفرم است و هر سیستم عاملی میتواند آن را پردازش کند. سازگاری چند پلتفرمی به توانایی یک برنامه کاربردی برای اجرا بر روی چندین سیستم عامل مختلف با حداقل تغییرات اشاره دارد. به عنوان مثال، یک برنامه کاربردی در سی شارپ میتواند بدون هیچ تغییری در کد بر روی ویندوز، لینوکس یا macOS اجرا شود. چنین برنامه کاربردی یک برنامه کاربردی چند پلتفرمی نامیده میشود.
چارچوبهای مدل برنامه کاربردی داتنت (.NET) چیست؟
چارچوبهای مدل برنامه کاربردی مجموعهای از ابزارها و کتابخانههای توسعهدهنده هستند که از توسعه پروژه داتنت سریع و کارآمد پشتیبانی میکنند. چارچوبهای مختلفی برای انواع مختلف برنامههای کاربردی وجود دارد، مانند موارد ذکر شده در زیر.
- برنامههای کاربردی وب:
چارچوب ASP.NET پلتفرم توسعهدهندگان .NET را بهطور خاص برای ساخت برنامههای مبتنی بر وب گسترش میدهد. این چارچوب از فناوریهای وب مانند REST APIها، HTML، CSS و جاوااسکریپت پشتیبانی میکند. این چارچوب دارای یک پایگاه داده کاربر داخلی با احراز هویت چندمرحلهای و خارجی است. ASP.NET از پروتکلهای احراز هویت استاندارد صنعتی با مکانیزم امنیتی داخلی برای محافظت از برنامههای .NET در برابر حملات سایبری پشتیبانی میکند.
- برنامههای کاربردی موبایل:
شما میتوانید از Xamarin/Mono برای اجرای برنامههای .NET روی تمام سیستمعاملهای موبایل اصلی، از جمله iOS و اندروید، استفاده کنید. Xamarin شامل Xamarin.Forms، یک چارچوب رابط کاربری موبایل متنباز است. توسعهدهندگان .NET از Xamarin.Forms برای ایجاد تجربه کاربری یکپارچه در پلتفرمهای موبایل استفاده میکنند. همه برنامههای .NET میتوانند حتی در دستگاههای موبایل مختلف یکسان به نظر برسند.
- برنامههای کاربردی دسکتاپ:
شما میتوانید از Xamarin برای توسعه برنامههای دسکتاپ استفاده کنید. علاوه بر این، پلتفرم جهانی ویندوز (Universal Windows Platform) توسعه برنامههای .NET برای ویندوز ۱۰ را گسترش میدهد. Windows Presentation Foundation و Windows Forms دیگر چارچوبهایی برای طراحی رابط کاربری در ویندوز هستند.
- سایر برنامههای کاربردی:
با ML.NET، میتوانید مدلهای یادگیری ماشین سفارشی را توسعه داده و در برنامههای .NET خود ادغام کنید. میتوانید از کتابخانههای .NET IoT برای توسعه برنامهها روی حسگرها و سایر دستگاههای هوشمند استفاده کنید. برای هر راهحلی که در چارچوبها موجود نباشد، میتوانید کتابخانههای تابع خاص زیادی را در مخزن عمومی NuGet پیدا کنید. میتوانید از NuGet برای ایجاد، بهاشتراکگذاری و استفاده از بسیاری از کتابخانههای .NET برای تقریباً هر هدفی استفاده کنید.