مزایای NET 5.
در طول تاریخ توسعه وب، تکنولوژی NET. در نسخههای مختلفی ارائه شد که همگی توسط هسته دات نت پیادهسازی شدند و در حد قابل توجهی مورد استفاده قرار گرفتند. دات نت 5 و نسخههای پیشرفته، در مقایسه با دات نت فریمورک یک تکنولوژی جدید به حساب میآیند. در این مقاله به بررسی مزایای NET 5. پرداختهایم.
اما وجود چندین عامل محدودکننده برای پیادهسازی دات نت باعث شده است تا این تکنولوژی از دات نت فریمورک فاصله بگیرد.
توسعه دهندگان با استفاده از پروژههای کتابخانه استاندارد دات نت، میتوانند کتابخانههای جدید بسازند و بر روی ایپیآی های به اشتراک گذاشته شده توسط دات نت فریمورک و دات نت 5 تمرکز کنند. توسعه دهندگان انتظار دارند کتابخانههای استفاده شده در یک اپلیکیشن دات نت دقیقا مشابه کتابخانه استفاده شده در یک اپلیکیشن فریمورک دات نت عمل کنند.
علاوه بر سازگاری، توسعه دهندگان سطحی از سازگاری را در نسخههای مختلف دات نت انتظار دارند. کد نوشته شده برای یک نسخه قدیمیتر از هسته دات نت، باید کاملا روان و بدون مشکل در دات نت و نسخههای پیشرفته اجرا شود.
مزایای NET 5.
دات نت یک فریمورک نرمافزاری است که برای سیستم عامل ویندوز توسعه داده شده است. این فریمورک شامل کتابخانه کلاس فریمورک (Framework Class Library) بسیار بزرگی است که به زبانهای برنامهنویسی مختلف اجازه میدهد تا از آن استفاده کنند. کتابخانه FCL امکاناتی مانند دسترسی به اطلاعات، کریپتوگرافی و ارتباطات شبکه را فراهم میکند.
دات نت فریمورک کتابخانههای استاندارد و اساسی CLI را شامل میشود و با استفاده از فضای نام (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. یک کراس پلتفرم اپن سورس است و با بهکارگیری زبانهای مختلف، امکان تولید وبسایتها و بازیهای مختلف را ارائه میکند. دات از اپلیکیشنهای دسکتاپ، سرویسها و موارد دیگر در ویندوز پشتیبانی میکند.
شرکت تکران ارائه دهنده راهکارهای سازمانی در سطحی بینالمللی است.