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