در روزهای اخیر کنفرانس داتنت ۷ در حال برگزاریست. بخشهایی از این کنفرانس را از طریق این لینک مشاهده کردم. در بین این مشاهدات نکات جالبی به ذهنم خطور کرد، که بد نیست شما هم اونهارو بدونید.
نزدیک به ۶ میلیون توسعهدهنده از فریمورک داتنت استفاده میکنند که عدد قابل توجهیست. بویژه اینکه این تعداد از هنگام منتشر شدن نسخه ۶ به میزان ۱.۸ برابر نسبت به نسخه ۵ رشد داشته.
یکی از نقاط عطف فریمورک داتنت زمانی رخ داد که مایکروسافت تصمیم گرفت اونرو یه پروژه متنباز کنه. بیش از ۴۸ هزار توسعهدهنده در این مدت به صورت متنباز در توسعه این فریمورک مشارکت داشتند.
یکی از مهمترین ویژگیهای نسخه ۷ افزایش چشمگیر عملکرد (performance) هست بطوریکه توان پاسخگویی ۷ میلیون درخواست بر ثانیه رو داره. و در بنچمارکهای grpc هم بهتر از rust و golang عمل میکنه.
در راستای بهبود تجربه توسعه تلاش شده که میزان کد نوشته شده برای اجرای یک http api server کمتر از گذشته باشه که توسعهدهنده با نوشتن کد کمتر، بتونه کارایی بیشتری رو داشته باشه.
var app = WebApplication.Create(args);
app.MapGet("/", () => "Hello World");
app.Run();
همچنین استفاده از کانتینر جدید chisel اجازه میده که حجم ایمیجهای اپلیکیشن ها خیلی کمتر از گذشته باشه.
از نکات جالب دیگه اینه که در نسخه جدید بدون نیاز به نصب هیچگونه ابزاری مثل Docker Desktop فقط با dotnet-cli شما میتونید یک ایمیج جدید از اپلیکیشن رو منتشر کنید.
dotnet publish -r linux-x64 /t: PublishContainer -c Release
خیلی اوقات گفته میشه که بهبود عملکرد چندان هم برای کسبوکارها اهمیت نداره و کسبوکارهای مهم با داشتن سرمایه زیاد میتونن با اضافه کردن منابع فیزیکی بیشتر نقاط ضعف عملکرد رو پوشش بدن، در کنفرانس امسال، نموداری ارائه شد که در آن نشون داده میشه مایکروسافت با بروزرسانی نرمافزارهای خود به نسخه ۶ توانسته در بعضی جاها مثل Microsoft Graph تا ۹۱ درصد هزینههای عملیاتی رو کاهش بده و همچنین ۳۷ درصد کاهش استفاده از منبع CPU رو داشته باشه. که این موضوع نشون میده بهبود performance به شدت میتونه هزینههای نگهداری کسبوکارها رو کاهش بده و نباید از این موضوع به راحتی عبور کرد.
با تغییر رویکردی که مایکروسافت نسبت به محصولات خود از جمله فریمورک داتنت داشته، آینده درخشانی در انتظار این فریمورک و توسعهدهندگانش خواهد بود. از مزایای دیگر این فریمورک اینه که سعی میکنه تمامی نیازمندیهای یک کسبوکار رو به صورت یک پکیج کامل ارائه بده و توسعهدهندگان علاوه بر استفاده از این فریمورک برای توسعه سرورهای مبتنی بر api، نرمافزارهای سمت کلاینت خودشون رو هم به کمک blazor توسعه بدن که این موضوع نیز خودش میتونه برگ برندهای برای کسبوکارها باشه، چرا که با داشتن نیروهایی فقط آشنا با زبان سیشارپ، میتونن توسعه قسمتهای مختلف محصول خودشون رو با کیفیت قابل قبول در پیش بگیرن.