۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

آنچه در .NET 8 مایکروسافت جدید و بهبود یافته است

تصاویر محفظه نازک‌تر، نحو کد ساده‌تر، و شگفت‌انگیز خوش آمدید.

تصاویر محفظه نازک‌تر، نحو کد ساده‌تر، و شگفت‌انگیز خوش آمدید.

یکی از موضوعات تکراری پلتفرم و ابزار توسعه‌دهنده اخیر، به خصوص در مورد .NET، بهره‌وری توسعه‌دهنده است. این تعجب آور نیست، با توجه به شرایط اقتصادی فعلی و تأثیر آن بر سطح کارکنان. همه ما وظیفه داریم با کمتر کارهای بیشتری انجام دهیم.

مایکروسافت و بنیاد دات نت اخیراً آخرین نسخه چارچوب توسعه بین پلتفرمی خود را منتشر کردند، NET 8. قبل از راه‌اندازی، با Gaurav Seth، مدیر شریک محصول، پلتفرم‌های توسعه‌دهنده در مایکروسافت، در مورد نسخه جدید و نحوه استفاده او از برنامه‌نویس‌ها از NET 8 در وظایف روزانه‌شان صحبت کردم.< /p>

از آنجایی که .NET 8 یک نسخه پشتیبانی طولانی مدت است، احتمالاً توسط اکثر تیم های توسعه دات نت پذیرفته می شود، که انتظار دارند این پلت فرم تا نسخه بعدی LTS، NET 10، به خوبی برای آنها کار کند. مانند NET 6 قبل از آن، .NET 8 ویژگی‌های جدید را با ابزارهای بهبودیافته ترکیب می‌کند، با تمرکز بر الگوهای تحویل رایج و پشتیبانی از روش‌های جدید کار.

استقرار سریعتر، با کانتینرهای بهینه شده

تمرکز کلیدی روی زیرساخت‌ها بوده است، به ویژه در مورد حجم کاری ابر بومی که به سرعت در حال رشد است. یکی از زمینه‌هایی که در مقالات قبلی به آن اشاره کرده‌ام، تصاویر کانتینر دات‌نت است. اینها به بهینه‌سازی ادامه داده‌اند و بر اساس تصاویر بدون توزیع و تراشیده شده برای سرعت بخشیدن به دانلودها و افزایش تراکم سرویس‌ها در یک میزبان ساخته شده‌اند.

این نکته آخر چیزی نیست که ما معمولاً به آن فکر می‌کنیم، اما تأثیر قابل‌توجهی بر مقیاس‌پذیری و هزینه برنامه‌های کاربردی ابری خواهد داشت. اگر بتوانید از منابع کمتری برای اجرای یک برنامه کاربردی بدون تاثیر بر عملکرد آن استفاده کنید، پس می‌توانید اقتصاد کد خود را بهبود ببخشید.

اعداد قابل توجه هستند. یک تصویر فشرده و برش خورده اوبونتو ۲۲.۰۴ اکنون تنها ۴۸ مگابایت حجم دارد و زمان اجرای آن تنها ۱۶ مگابایت است. فضای ذخیره‌سازی و حافظه کوچک آن به شما این امکان را می‌دهد که مقیاس خودکار منابع NET را در Kubernetes افزایش دهید و بیلدهای جدید را بدون منتظر ماندن برای دانلود تصاویر از مخزن سیستم ساخت خود امتحان کنید.

خوانایی بیشتر کد

یکی از جلوه های ظریف نسخه جدید مجموعه ای از ساختارهای زبانی بهبود یافته است که کد C# را خواناتر می کند. ساده کردن کد به طور قابل توجهی قابلیت نگهداری را بهبود می بخشد، به خصوص برای پروژه های بزرگ که توسط تیم های توسعه بزرگ نگهداری می شوند. یک نحو ساده‌تر برای تجزیه‌وتحلیل به توسعه‌دهندگان تازه‌کار اجازه می‌دهد تا آن را سریع‌تر درک کنند و زمان را تا رفع مشکل کاهش دهند.

کد منبع جاوا می تواند به رمزگذاری UTF-8 تغییر کند

همانطور که ست به من گفت، “و این سفری است که ما در آن بوده ایم. چگونه به حذف دیگ بخار ادامه دهیم؟ چگونه می‌توانیم آن را ساده‌تر، ساده‌تر و ساده‌تر کنیم و با خطوط کد کمتری که باید بنویسید، به چیزهای بیشتری دست یابیم؟» او آن را به‌عنوان فشاری به یک الگوی حداقلی توصیف می‌کند، که از پلتفرم زیربنایی برای ساده‌سازی زبان‌هایی که به آن قدرت می‌دهد استفاده می‌کند. برای بسیاری از ما، این به معنای بهبود در C# است، اما ما جنبه‌هایی از این ویژگی‌های جدید را در کل زبان‌های پایدار دات‌نت خواهیم دید.

برنامه توسعه ابری بومی

در حالی که بسیاری از نسخه‌های NET 8 مدتی است که عمومی شده است، از طریق یک سری از نامزدهای انتشار و نسخه‌های پیش‌نمایش ویژوال استودیو، هنوز جای شگفتی‌هایی وجود دارد. این بار رونمایی از .NET Aspire، که ست آن را به عنوان یک پشته نظری برای ساخت برنامه های کاربردی ابری بومی با دات نت توصیف می کند.

شما می توانید .NET Aspire را به عنوان ابزاری در سطح پلت فرم معادل ابزارهایی مانند Dapr یا Radius در نظر بگیرید که داربست و نرده های محافظ لازم برای ساخت microservices را در اختیار شما قرار می دهد. برنامه های کاربردی مبتنی بر در هر ابر عمومی. ست به من گفت: «این یک مسیر آسفالت طلایی است. این مجموعه با مجموعه‌ای از اجزا و ابزار تنظیم‌شده ارائه می‌شود و از انعطاف‌پذیری، مدیریت‌پذیری و مشاهده‌پذیری پشتیبانی می‌کند.» ست پیشنهاد می کند که .NET Aspire برای .NET همان چیزی باشد که Spring Boot برای Java است.

در هر صورت، .NET Aspire شروع به پر کردن شکاف بزرگ در استراتژی ابزار NET می کند. برای پلتفرمی که در بسیاری از پروژه‌های سازمانی استفاده می‌شود، تعجب آور است که دات نت هیچ ابزار یا فریمورک خاص سازمانی را ارائه نمی‌کند و شما را مجبور می‌کند تا چرخ را با هر پروژه بزرگ دوباره اختراع کنید. .NET Aspire با رویکرد آماده برای استفاده خود، باید زندگی بسیاری از معماران سازمانی را ساده کند و به آنها اجازه دهد روی ارائه کد خوب و سریع تمرکز کنند.

تسریع توسعه ابری بومی در Microsoft Azure

پیش‌نمایش .NET Aspire به‌عنوان بخشی از نسخه NET 8 ارسال می‌شود و در بهار ۲۰۲۴ عرضه می‌شود. جعبه ابزار با یک برنامه شروع که به شما کمک می کند تا اولین پروژه Aspire خود را بایستید و ویژگی های Aspire را بررسی کنید. همراه با دات نت ۸ به آخرین نسخه پیش نمایش ویژوال استودیو برای ساخت برنامه های Aspire نیاز دارید. پشتیبانی اولیه برای NET CLI وجود دارد و پشتیبانی از C# Dev Kit برای کد ویژوال استودیو برنامه ریزی شده است.

شروع به کار با .NET Aspire

با ایجاد اولین برنامه دات نت Aspire یک برنامه وب Blazor جلویی و یک سرویس منطق تجاری به شما می دهد. در کنار این دو نوع پروژه جدید، یک AppHost و مجموعه ای از ServiceDefaults وجود دارد. می‌توانید اینها را به‌عنوان موتور هماهنگ‌سازی برنامه‌های توزیع‌شده دات‌نت خود در نظر بگیرید.

AppHost جایی است که شما کانتینرهای برنامه و سایر ابزارهای پشتیبانی خود، از جمله رشته‌های اتصال را تعریف می‌کنید، در حالی که ServiceDefaults تمام ویژگی‌های سرویس‌محور مورد استفاده برای کشف برنامه و برای تله‌متری را در خود نگه می‌دارد، بنابراین شما یک مکان برای اتصال ابزارهای مدیریت و قابلیت مشاهده خود دارید. . این موارد شامل نقاط پایانی OpenTelemetry و بررسی های سلامت استاندارد دات نت است. ServiceDefaults همچنین کشف سرویس را فعال می‌کند، بنابراین APIهای شما می‌توانند توسط اجزای دیگر در محیط توزیع شده شما استفاده شوند.

الگوهای پیش فرض ساختار اصلی یک برنامه دات نت Aspire را ارائه می دهند. می‌توانید از دو راه‌انداز موجود برای ساخت برنامه‌های خود استفاده کنید، یا از نمونه استاندارد استفاده کنید تا پایه‌ای برای ساختن در اختیارتان قرار دهد، یا فقط از موارد ضروری استفاده کنید و اجزای front-end و back-end خود را از ابتدا بسازید.

یکی از ویژگی‌های مفید در AppHost این است که می‌توانید به سرعت برنامه‌های کمکی را از روی کد خود پیکربندی کنید، به عنوان مثال افزودن کانتینرهایی با پایگاه‌های داده و سایر خدمات برنامه. این رویکرد به برنامه های شما اجازه می دهد تا با استفاده از AppHost، Kubernetes و سایر خدمات زیرساختی را برای شما مدیریت کنند. مؤلفه‌هایی که خدمات زیرساختی را توصیف می‌کنند از طریق NuGet در دسترس هستند، بنابراین می‌توانید به استفاده از ابزارهای دات‌نت موجود، حتی در حین ایجاد زیرساخت‌های برنامه توزیع‌شده ادامه دهید.

نحوه ظهور Cloudflare برای مقابله با AWS، Azure و Google Cloud

مدل مؤلفه .NET Aspire یک ابزار قدرتمند، و در حال حاضر اجزایی برای اکثر سرویس های متداول Azure، از جمله سرویس های شخص ثالث مانند Redis و PostgreSQL وجود دارد. از آنجایی که مدل منبع باز است، باید انتظار داشته باشید که خدمات اضافی به سرعت عرضه شوند.

یک داشبورد برنامه نویس برای دات نت

برخلاف سایر بخش‌های NET، .NET Aspire دارای داشبورد توسعه‌دهنده است. این یک ابزار مهم برای توسعه برنامه های کاربردی توزیع شده است، زیرا به شما یک مکان می دهد تا معیارهای کلیدی برنامه خود را ببینید، بدون اینکه مجبور باشید محیط توسعه خود را ترک کنید و به مجموعه مشاهده پذیری یا یک پلت فرم نظارت (که بعید است بخشی از به هر حال محیط توسعه).

هنگامی که کد توسعه خود را اجرا می کنید، ردی بصری از درخواست های خود، همراه با دسترسی به گزارش ها دریافت می کنید. این اطلاعات مورد نیاز برای بهینه‌سازی تماس‌ها و ردیابی علل کندی که ممکن است با استفاده از ابزارهای اشکال‌زدایی مرسوم قابل مشاهده نباشند، در اختیار شما قرار می‌دهد – به‌ویژه زمانی که وابستگی به ابزارهای شخص ثالث مانند Redis را ردیابی می‌کنید.

یکی از مزایای مهم استفاده از دات نت Aspire این است که اگرچه به تنهایی مفید است، اما امکان استفاده از آن در همکاری با ابزارهای دیگر برای ساخت و اجرای برنامه های کاربردی توزیع شده وجود دارد. به عنوان مثال، اگر تیم مهندسی پلتفرم شما زیرساخت‌ها و تعاریف برنامه را در Radius می‌ساخت، با کد در NET Aspire و استقرارها و sidecars در Dapr؟

از آنجایی که .NET Aspire یک پلتفرم منبع باز است، می‌توان انتظار داشت که ویژگی‌هایی را که سایر سناریوهای بومی ابری فراتر از Azure را مورد توجه قرار می‌دهند، در آن ایجاد کند. با توجه به اینکه پلتفرم بدون سرور AWS میزبان یک جامعه C# فعال است، حتی می‌توانیم شاهد پشتیبانی از برنامه‌های بدون سرور رویداد محور باشیم، با ابزارهایی که به پیکربندی محیط‌های هدف کمک می‌کنند و از ابزارهای تولید کد برای ارائه پیاده‌سازی‌های NET بومی سرویس استفاده می‌کنند. API.

با راه‌اندازی .NET Aspire و مجموعه‌ای از ابزارهای بهره‌وری دیگر، واضح است که هدف NET 8 ایجاد سریع‌تر و آسان‌تر برنامه‌هایی است که هم کسب‌وکارها و هم مصرف‌کنندگان به آن نیاز دارند – از جمله مدرن، توزیع‌شده، ابری- برنامه های بومی.