دات نت فریم ورک (NET Framework.) چیست؟

دات نت فریم ورک (.NET Framework) یک چارچوب است که توسط شرکت مایکروسافت برای توسعه انواع نرم افزارها علی الخصوص ویندوز طراحی شد. .NET Framework همچنین می‌تواند برای توسعه نرم افزارهای تحت وب مورد استفاده قرار بگیرد. تا کنون چندین نسخه از .NET Framework انتشار یافته که هر بار قابلیت‌های جدیدی به آن اضافه شده است.

.NET Framework شامل کتابخانه کلاس محیط کاری (Framework Class Library (FCL)) که در بر گیرنده کلاس‌ها، ساختارها، داده‌های شمارشی و… می‌باشد. مهم‌ترین قسمت .NET Framework زبان مشترک زمان اجرا (Common Language Runtime (CLR)) است که محیطی را فراهم می‌آورد که برنامه‌ها در آن اجرا شوند. این چارچوب ما را قادر می‌سازد که برنامه‌هایی که تحت آن نوشته شده‌اند اعم از Visual Basic.Net ،C#.Net و ++C را بهتر درک کنیم. کدهایی که تحت CLR و دات نت اجرا می‌شوند، کدهای مدیریت شده نامیده می‌شوند، چون CLR جنبه‌های مختلف نرم افزار را در زمان اجرا مدیریت می‌کند.

در زمان کامپایل کدها به زبان مشترک میانی (Common Intermediate Language (CIL)) که نزدیک و تقریباً شبیه به زبان اسمبلی است، ترجمه می‌شوند. ما باید کدهایمان را به این زبان ترجمه کنیم چون فقط این زبان برای دات نت قابل فهم است. برای مثال کدهای C# و Visual Basic.Net هر دو به زبان مشترک میانی ترجمه می‌شوند. به همین دلیل است که برنامه‌های مختلف در دات نت که با زبان‌های متفاوتی نوشته شده‌اند، می‌توانند با هم ارتباط برقرار کنند.

اگر یک زبان سازگار با دات نت می‌خواهید، باید یک کامپایلر ایجاد کنید که کدهای شما را به زبان میانی ترجمه کند. کدهای ترجمه شده توسط IL در یک فایل اسمبلی مانند .exe یا .dll ذخیره می‌شوند.کدهای ترجمه شده به زبان میانی به کامپایلر فقط در زمان (Just – In – Time (JIT)) منتقل می‌شوند. این کامپایلر در لحظه فقط کدهایی را که برنامه در آن زمان نیاز دارد، به زبان ماشین ترجمه می‌کند. در زیر نحوه تبدیل کدهای سی شارپ به یک برنامه اجرایی به طور خلاصه آمده است:

دات نت ویژگی دیگری به نام سیستم نوع مشترک (Common Type System (CTS)) نیز دارد که بخشی از CLR است و نقشه‌ای است برای معادل‌سازی انواع داده‌ها در دات نت. با CTS نوع int در سی شارپ و نوع Integer در ویژوال بیسیک یکسان هستند، چون هر دو از نوع System.Int32 مشتق می‌شوند. پاک کردن خانه‌های بلااستفاده حافظه در یک فایل (Garbage collection) یکی دیگر از ویژگی‌های دات نت فریم ورک است. هنگامی که از منابعی، زیاد استفاده نشود دات نت فریم ورک حافظه استفاده شده توسط برنامه را آزاد می‌کند.