دات نت یک چارچوب توسعه رایگان و متن باز برای توسعه بسیاری از برنامههای کاربردی است. برای آشنایی بیشتر با این چارچوب کاربردی با ما همراه باشید. در این مقاله با دات نت و معماری آن آشنا میشوید، به تفاوتهای .NET CORE و .NET FRAMEKORK پی خواهید برد و میآموزید که چه هنگام باید از آن استفاده کرد.
اگر شما هم به مباحث NET. علاقه مندید پیشنهاد میکنیم در دوره آموزش asp.net core سون لرن شرکت کنید و از پشتیبانی یکساله ما بهره مند شوید.
تولد دات نت
دات نت برای اولین بار در سال 2002 با خبر انتشار یک زبان جدید به نام #C توسط مایکروسافت منتشر شد. هدف اولیه توسعه برنامههای نرم افزاری بر پلتفرم ویندوز بود، اما با گذشت زمان مایکروسافت شروع به سیاست گذاری روی چارچوبهای فراتر از ویندوز نمود و امروزه دات نت برای برنامه نویسی سایر زمینهها مانند وب، تلفن همراه و غیره نیز به کار میرود. قبل از ورود به دنیای برنامه نویسی باید ابتدا آموزش برنامه نویسی را فرابگیرید پیشنهاد ما دوره الفبای برنامه نویسی سون لرن است.
انواع دات نت: تفاوت NET. و NET Core.
دات نت در سه دسته جامع ارائه میشود:
Net Framework.
Net Core.
Xamarin
NET Framework.
همان نسخه اولیه منتشر شده با نام دات نت است که تنها دستگاههای مبتنی بر ویندوز را پشتیبانی میکند. Windows Forms و WPF برای ساخت برنامه در محیط دسکتاپ مورد استفاده قرار میگیرند، اما ASP.Net که امروزه در صنعت بسیار رایج است برای طراحی وبسایتهای پویا و برنامههای وب به کار میرود. در واقع وجود (CLR) به توسعه دهندگان این فرصت را میدهد تا کدهای ASP.Net را با استفاده از زبانهای مختلف .Net بنویسند که در ادامه مطلب درباره آنها صحبت میکنیم.
Net Core.
یک ساختار مجدد از چارچوب قبلی است با این تفاوت که توسعه دهندگان میتوانند از آن در لینوکس و OS X استفاده کنند و برنامه هایی را ایجاد کنند که لزوما به خانواده ویندوز مرتبط نباشند. این سیستم جدید به دنبال تسخیر فضای ابری است. در ضمن NET Core. نه تنها چندسکویی است، بلکه نسخههای مختلف آن را میتوان به صورت جانبی در یک دستگاه نصب کرد. NET Core شامل ASP.NET Core و Universal Platform Windows (UWP) است.
Xamarin
امروزه اگر بخواهید برنامه ای را با استفاده از چارچوب NET. برای تلفن همراه (اندروید، ویندوزفون و ios) توسعه دهید انتخاب بسیاری از توسعه دهندگان زامارین است خواهد بود. Net Standard. سال 2016 سالی پربار برای توسعه دهندگان دات نت بود؛ چرا که در این سال علاوه بر معرفی زامارین و .NET CORE ، یک کتابخانه جامع برای ترکیب سه فریم ورک بالا ارائه شد تا افراد به جای تسلط بر سه کتابخانه مختلف، از یک کتابخانه کلاس پایه استفاده کنند. این مرحله یکپارچه سازی که Net Standard. نام دارد، اکوسیستم و سازگاری بالاتری را در استفاده مجدد از اجزای موجود در سیستم عاملهای مختلف به وجود آورد.
معماری NET.
معماری چارچوب دات نت مبتنی بر سه مؤلفه اصلی زیر است:
زیرساخت زبان مشترک (Common Language Runtime)
کتابخانههای کلاسی (Class Library)
زبانهای برنامه نویسی (Language Programming)
CLR چیست؟
"زیرساخت زبان مشترک" یا CLR در واقع همان قلب دات نت است: یک ماشین مجازی نرم افزاری که حافظه را مدیریت میکند، امنیت دسترسی به کد را پیاده سازی میکند، امنیت کد را تأیید کرده و اجرای برنامهها و کد را فراهم میسازد. CLR چیزی است که دات نت را تبدیل به یک چارچوب مدیریتی و چندکاره میکند و سکویی است که برنامههای NET در آن اجرا میشود . دارای ویژگیهای کلیدی زیر است:
Exception Handling: یا مدیریت خطاهایی که هنگام اجرای برنامه رخ میدهند مانند: سعی در بازکردن یک پرونده روی دستگاه محلی درحالی که پرونده موجود نیست.
کار با زبانهای مختلف برنامه نویسی: همانطور که در بخش قبلی ذکر شد، یک توسعه دهنده میتواند یک برنامه کاربردی را در انواع مختلف زبانهای برنامه نویسی NET ایجاد کند.
بخشهای مختلف CLR عبارتند از:
زبان : سطح اول خود زبان برنامه نویسی است که متداولترین آنها VB.Net و C # است.
کامپایلر : یک کامپایلر جدا برای هر زبان برنامه نویسی وجود دارد. بنابراین زیر زبان VB.Net ، یک کامپایلر جداگانه VB.Net وجود خواهد داشت. به همین ترتیب ، برای C # ، کامپایلر دیگری نیز خواهید داشت.
Common Language Interpreter : این آخرین لایه در دات نت است که برای اجرای یک برنامه ساخته شده به هر زبان برنامه نویسی استفاده میشود. بنابراین کامپایلر بعدی برنامه را برای اجرای برنامه دات نت به لایه CLI ارسال میکند.
کتابخانههای کلاس (Class Library)
چارچوب NET. شامل مجموعه ای از کتابخانههای کلاس استاندارد است. کتابخانهها مجموعه ای از روشها و کارکردهایی هستند که برای اهداف اصلی مورد استفاده قرار میگیرند. به عنوان مثال، یک کتابخانه با روش هایی برای انجام کلیه عملیات فایلها وجود دارد. بنابراین روشی وجود دارد که میتواند برای خواندن متن از یک فایل استفاده کند. به طور مشابه، روشی برای نوشتن متن به یک پرونده وجود دارد. اکثر این روشها در دات نت به نامهای System یا Microsoft تقسیم میشوند.
زبانهای برنامه نویسی
در چارچوب دات نت میتوان از چندین زبان، ویرایشگرها و کتابخانهها استفاده کرد؛ به همین دلیل برنامه نویسان برای توسعه برنامه خود حق انتخاب زیادی دارند. پرکاربردترین این زبانها عبارتند از:
سی شارپ (#C): یک زبان برنامه نویسی ساده، مدرن، شی گرا
ویژوال بیسیک (VB): یک زبان ساده و دوستانه ار نوع شی گرا با نوشتار آسان برای برنامههای کاربردی
محیطهای مناسب برای برنامه نویسی NET.
ویژوال استودیو (Visual Studio) جامعترین محیط برای توسعه برنامه با دات نت است. گزینه بعدی که تا حدودی سبکتر است و بیشتر توسعه دهندگان وب به کار میبرند ویژوال استودیو کد میباشد. رایدر (Rider) که توسط کمپانی JETBRAIN طراحی شده از دیگر گزینههای انتخاب محیط دات نت است.
چرا از دات نت استفاده میکنیم؟
مستقل بودن
مزیت اصلی این چارچوب استقلال آن از زبانهای برنامه نویسی است. برنامه نویسان میتوانند به جای محدود شدن به استفاده از یک زبان مشخص برنامه نویسی، با استفاده از دات نت میتوانند در هر زبانی که با دات نت همخوانی دارد کار کنند.
پشتیبانی در طول زمان
فرض کنید برنامه ای را در نسخه قدیمی دات نت ساخته اید ، مثلا 2.0. و سعی دارید همان برنامه را روی دستگاهی اجرا کنید که نسخه بالاتر فریم ورک دات نت را داشته باشد ، مانند 3.5. برنامه هنوز هم کار میکند. دلیل این امر این است که با هر نسخه ، مایکروسافت اطمینان حاصل میکند که نسخههای فریم ورک قدیمی با آخرین نسخه به خوبی سازگار میشوند.
قابل حمل
در طول این مقاله بارها اشاره کردیم که برنامه هایی که با دات نت ساخته شده اند میتوانند روی هر پلتفرمی اعم از ویندوز iOS و Linux کار کنند.
مدیریت حافظه
CLR همه کارهای مدیریت حافظه را انجام میدهد. چارچوب .Net توانایی بالایی برای یافتن منابعی را دارد که توسط یک برنامه در حال اجرا استفاده نمیشود و این منابع را از طریق سازوکار "جمع آوری زباله" (Garbage Collector) آزاد میکند.
استقرار آسان
دات نت ابزارهایی دارد که میتوان برای بسته بندی برنامههای ساخته شده از آن استفاده کرد. در نهایت این بستهها در دستگاههای مشتری توزیع میشوند و به طور خودکار برنامه را نصب میکنند.
امنیت بالا
همانطور که میدانید مایکروسافت ارزش بالایی برای امنیت قایل است. لذا این ساخته مایکروسافت در برابر تلاشهای مخرب تغییر کد کامپایل شده قابل اعتماد است.
چه کسانی نباید سراغ دات نت بروند؟
توضیح درست عملکرد این چارچوب برای افراد ناآشنا با دنیای برنامه نویسی، تا حدودی دشوار است. برای افرادی که به زبانهای منطقی مانند C عادت دارند تا حدودی ناراحت کننده است، چرا که یک چارچوب متشکل از زبانهای شی گراست. به همین دلیل شاید بهتر باشد بعد از تسلط بر مفاهیم و درک عمیق برنامه نویسی سراغ این فریم ورک بروید.
آینده فریم ورک NET.
مایکروسافت برنامه ی دقیقی برای دات نت منتشر کرده که در شکل زیر این زمان بندی را میبینید:
جمع بندی
NET. یک مجموعه جامع و ارزشمند با آینده ای روشن است و طبق وعده مایکروسافت شاهد ورژن جامعی از دات نت در اواخر سال 2020 هستیم که قابلیت اجرا و پشتیبانی برای انواع سیستم عامل ها، دستگاهها و کاربردها را خواهد داشت. اگر برنامه نویس دات نت و یا علاقمند به این حوزه هستید تجربیات خود را با سایر دوستان درمیان بگذارید.
۴ دیدگاه
علی۰۸ مهر ۱۴۰۲، ۰۸:۵۹
سلام شما دوره .net core ورزش 7 یا 8 رو برگزار نمیکنید ؟؟
نازنین کریمی مقدم۲۴ مهر ۱۴۰۲، ۰۸:۵۵
درود
در خصوص برنامههای آینده بنده اطلاعی ندارم. باید با مجموعه تماس بگیرید تا راهنمایی تون کنند.
۰۳ دی ۱۴۰۱، ۱۷:۵۳
مطلب بسیار مفیدی بود
چند سالی با php کار کردم php عالی هست
یک سالی هم سراغ دات نت رفتم خیلی جاها میشه گفت یه سر گردن از خیلی چیزا بهتر هست نه که بقیه زبانهای برنامه نویسی مثل php عالی نباشن
دات نت در ابتدا برای تازه کارها کمی مشکل هست اما امکانات بی نظیری داره و از طرفی میشه برای همه سیستم عاملها برنامه نوشت وب ویندوز اندروید و ... اون هم به صورت همزمان قبلا این قابلیتها بودن اما به اون کیفیت و سرعت که باید و شاید نه اما امروزه به همه دوستان هم پیشنهاد میکنم یک تست کنید سرعت و امکانات عالی .
شاید در اول کمی پیچیدهتر از بقیه باشه اما عالی هست
محمدحسین۰۳ دی ۱۴۰۲، ۱۷:۴۴
چقدر جالب یکی از دوستان دقیقا پارسال همین موقه 3 دی 1401 پیام گذاشتن و php
کار میکردند من هم در همین تاریخ 3 دی 1402 فیلد اصلیم php و لاراول هست و
علاقمند به یادگیری زبانهای سطح پایین و متوسط دارم برای عمیق کردن دانش ام .
مطالبتون مفید بود ممنون
شروع رایگان یادگیری برنامه نویسی
کلیک کنید 👇
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: