
مزایای NET 5.
در طول تاریخ توسعه وب، تکنولوژی NET. در نسخههای مختلفی ارائه شد که همگی توسط هسته دات نت پیادهسازی شدند و در حد قابل توجهی مورد استفاده قرار گرفتند. دات نت 5 و نسخههای پیشرفته، در مقایسه با دات نت فریمورک یک تکنولوژی جدید به حساب میآیند. در این مقاله به بررسی مزایای NET 5. پرداختهایم.
اما وجود چندین عامل محدودکننده برای پیادهسازی دات نت باعث شده است تا این تکنولوژی از دات نت فریمورک فاصله بگیرد.
توسعه دهندگان با استفاده از پروژههای کتابخانه استاندارد دات نت، میتوانند کتابخانههای جدید بسازند و بر روی ایپیآی های به اشتراک گذاشته شده توسط دات نت فریمورک و دات نت 5 تمرکز کنند. توسعه دهندگان انتظار دارند کتابخانههای استفاده شده در یک اپلیکیشن دات نت دقیقا مشابه کتابخانه استفاده شده در یک اپلیکیشن فریمورک دات نت عمل کنند.
علاوه بر سازگاری، توسعه دهندگان سطحی از سازگاری را در نسخههای مختلف دات نت انتظار دارند. کد نوشته شده برای یک نسخه قدیمیتر از هسته دات نت، باید کاملا روان و بدون مشکل در دات نت و نسخههای پیشرفته اجرا شود.
مزایای NET 5.
دات نت یک فریمورک نرمافزاری توسعه یافته توسط مایکروسافت است، که در محیط سیستم عامل ویندوز اجرا میشود. این فریمورک کتابخانهای بزرگ به نام کتابخانه کلاس فریمورک (Framework Class Library) را شامل میشود و امکان به کارگیری آن در کنار زبانهای برنامهنویسی مختلف را ارائه میدهد. کتابخانه FCL امکان دسترسی به اطلاعات، کریپتوگرافی و ارتباطات شبکه را مسیر میکند.
دات نت پیادهسازی کتابخانههای استاندارد و اساسی CLI را شامل میشود. کتابخانه FCL با استفاده از سلسله مراتبی از فضای نام (NameSpace) سازماندهی شده است. دات نت فریمورک روشهایی را برای دسترسی به توابع پیادهسازی شده در برنامههای قدیمی ارائه میدهد، تا بدین ترتیب خارج از محیط دات نت قابل اجرا باشند.
دات نت فریمورک دارای مکانیزم امنیتی منحصربهفرد با دو ویژگی Code Access Security (به اختصار CAS) و تایید اعتبار است. این مکانیزم براساس شواهد و در یک اسمبلی خاص کار میکند. سورس یک اسمبلی به عنوان شواهد در نظر گرفته میشود.
CLR مسئولیت مدیریت حافظه را از دوش توسعهدهندگان برداشت. دات نت فریمورک شامل یک ویژگی زبالهروبی است که در یک Thread مجزا اجرا میشود و تمام اشیاء ناپایدار را شناسایی میکند. زبالهروب فقط زمانی که مقدار مشخصی از حافظه استفاده شده باشد اجرا میشود.
وقتی یک اپلیکیشن اجرا میشود، دات نت فریموک با استفاده از کامپایلر خود، کد CIL را به یک کد قابل اجرا کامپایل میکند.
دات نت فریمورک یک پلتفرم یکپارچه است که به عنوان یک جایگزین یکپارچه، برای نسخههای مختلف دات نت شامل NET Standard ،.NET Core. و غیره به حساب میآید. این پلتفرم در واقع نسخه جدیدتری از NET core 3.1. است و دردسرهای دات نت فریمورک و سایر نسخههای مرتبط با آن را از بین میبرد.
گلوبال اسمبلی کش (Global Assembly Cache)
فلسفه ایجاد Global Assembly Cache که به اختصار GAC نامیده میشود، در واقع قابلیت ذخیرهسازی کتابخانههای دات نت در یک مکان واحد و متمرکز بوده است. برخلاف COM ،GAC میتواند نسخههای متفاوتی از هر کتابخانه را ذخیره کند. علاوه بر این، GAC به یک کد نیاز دارد و ویژگیهای امنیتی آن با معرفی ویندوز ویستا ارتقا یافت.
ریموتینگ
ویژگی ریموتینگ در دات کام در واقع از Java Remoting و DCOM الهام گرفته شده است. ایده اصلی این بود که یک اپلیکیشن بتواند با استفاده از یک شیء، یک شیء واقعی در اپلیکشنهای دیگر را تغییر دهد. از نظر فنی این ویژگی کارایی داشت، اما به دلیل دشواری در اجرا چندان محبوب نشد.
ایپیآیهای ریموتینگ دات نت هرگز در هسته دات نت پیادهسازی نشدند. هسته دات نت فقط شامل چند مفهوم Placeholder بود که هیچ قابلیت استفادهای را در اختیار کاربر قرار نمیدادند و قرار بود در آینده حذف شوند.
امنیت دسترسی به کد (Code Access Security)
Code Access Security یا به اختصار CAS، یکی دیگر از تکنولوژیهای فریمورک دات نت است که ایپیآیها از طریق پیادهسازی درون NET Core. کپی شدهاند. در گذشته، اپلیکیشنهای مختلف باید در سرور اطلاعات اینترنت واحد میزبانی میشدند، برای محدود کردن خسارات بالقوه، CAS معرفی شد.
ایده اصلی این بود که ایپیآیها با خصوصیاتی که نشان دهنده میزان ریسک بود، مشخص شوند. یکی دیگر از استفادههای CAS در زمینه اپلیکیشنهای تحت وب بود. اما مانند سایر تکنولوژیهای قدیمی، بهکارگیری صحیح CAS کار دشواری بود.
بعدها، چندین اپلیکیشن تحت وب بنا شدند و سطح اعتماد برای سرویسهای اطلاعات اینترنت یا IIS به شدت پایین آمد.
Thread Abort
این تکنولوژی هیچ گاه در هسته دات نت پیادهسازی نشد. در آن زمان، تکنولوژی ASP.NET نیز به وجود آمده بود و ویژگی CancellationToken به عنوان جایگزینی برای Thread Abort مطرح شد.
قابلیتهای هسته دات نت گسترش یافت و دیگر هیچ فریمورک اپلیکیشنی به Thread Abort نیاز نداشت. به همین دلیل هسته دات نت همچنان از PlatformNotSupportedException استفاده میکرد.
تغییرات در قرارداد عمومی
اکثر تغییرات به دلیل مغایرت با سیاست سازگاری با نسخههای قدیمی مورد قبول واقع نمیشدند. وقتی اینترفیس توسط یک Base Type پیادهسازی میشد، بسیاری از سیمبلهایی که برای حذف یا افزودن یک اینترفیس از یک Type دیگر به کار میرفتند، به ناچار حذف میشدند.
فریمورکهای هدف جدید در دات نت 5
پیش از معرفی NET 5. هر رانتایم دات نت، TFM متفاوتی داشت. برای مثال، net48 برای دات نت فریمورک 4.8 بود و net5.0 به عنوان TFM دات نت 5 در نظر گرفته شد. از آنجایی که NET Core. تنها نسخهای از دات نت است که در حال توسعه قرار دارد، از پیشوند استفاده میشود.
NET 5.0 TFM. همچنین جانشینی برای تیافامهای استاندارد دات نت به حساب میآید. با یک رانتایم واحد، نیازی به نسخههای مختلف دات نت استاندارد نخواهد بود.
کتابخانههای NET Core. توسط مدلهای اپلیکیشن مورد استفاده قرار گرفتند. این مدلها که یک سیستم عامل را هدف میگیرند، علاوه بر ارائه تمام ایپیآیهای دات نت 5، از ایپیآیهای اضافی بهره میبرند. تیافامها شامل پیشوندی و پسوندی هستند که به ترتیب مجموعه، ایپیآیها و هدف اضافی ایپیآیها را مشخص میکنند.
اپلیکیشنهای تک فایلی
در دات نت 5 نوعی از انتشار معرفی شد که خروجی آن یک اپلیکیشن کامل بود. این ویژگی توسط لینوکس پشتیبانی شد. در ویندوز و مک، فایل اجرایی در رانتایم به فایلهای اضافی نیاز داشت. گزینهای وجود داشت که کاربر میتوانست فایلهای اضافی را در یک فایل توزیع شده واحد اضافه کند. اما وقتی اپلیکیشن اجرا میشد، این فایلها به عنوان یک فایل مجزا استخراج میشدند.
بهبودهای عملکردی در دات نت 5
کامپایل کردن طبقهای رویکردی است که با عدم بهینهسازیهای مختلف برای اولین کامپایل یک متد، امکان کامپایل اولیه سریعتر را میسر میکند. متدها بارها مورد استفاده قرار میگیرند و سپس با استفاده از شخصیسازیهای اضافی و با کیفیتی بالاتر، مجددا کامپایل میشوند. این متدها توسط Call Counting قابل شناسایی هستند.
سخن آخر
NET. یک کراس پلتفرم اپن سورس است و با بهکارگیری زبانهای مختلف، امکان تولید وبسایتها و بازیهای مختلف را ارائه میکند. دات از اپلیکیشنهای دسکتاپ، سرویسها و موارد دیگر در ویندوز پشتیبانی میکند.
شرکت تکران ارائه دهنده راهکارهای سازمانی در سطحی بینالمللی است.