JetBrains نسخه جدید Ktor 3.4 را منتشر کرده است که شامل بهبودهای قابل توجهی در پشتیبانی از HTTP Client و افزودن ویژگیهای جدید است. این بهروزرسانی برای توسعهدهندگان سیستمهای متصل و برنامههای کاربردی سرور و کلاینت مبتنی بر Kotlin بسیار مهم است.
این نسخه جدید، تولید خودکار OpenAPI از کد را از طریق یک API جدید برای مستندسازی پویا نقاط پایانی ارائه میدهد. این API با یک پلاگین کامپایلر جدید همکاری میکند و به جای ساختن رابط کاربری Swagger از یک فایل استاتیک، مدل را در زمان اجرا از جزئیات تعبیه شده در درخت مسیریابی میسازد. این امر فرآیند توسعه و نگهداری APIها را سادهتر میکند.
همچنین، موتور HTTP Client OkHttp از پشتیبانی دوگانه (duplex) جریان پشتیبانی میکند. این ویژگی به کلاینتها اجازه میدهد تا دادههای بدنه درخواست و دادههای پاسخ را به طور همزمان ارسال و دریافت کنند، که در مقایسه با فراخوانیهای HTTP معمولی که نیاز به ارسال کامل بدنه درخواست قبل از شروع پاسخ دارند، کارآمدتر است.
پلاگین Compression نیز بهبود یافته و اکنون از Ztsd پشتیبانی میکند. Ztsd یک الگوریتم فشردهسازی سریع است که نسبت فشردهسازی بالا، زمان فشردهسازی کم و سطح فشردهسازی قابل تنظیم را ارائه میدهد. این امر به بهینهسازی عملکرد برنامههای کاربردی کمک میکند.
یک پلاگین جدید HttpRequestLifecycle امکان لغو درخواستهای HTTP در حال انجام را در هنگام قطع اتصال کلاینت فراهم میکند. این ویژگی برای مواردی که نیاز به لغو درخواستهای طولانیمدت یا فشرده منابع دارید، مفید است. با قطع اتصال کلاینت، کوریوتین مربوط به درخواست و هرگونه کوریوتینهای launch یا async شروع شده توسط آن لغو میشود و ساختار همزمانی منابع را پاکسازی میکند. این قابلیت در حال حاضر فقط برای موتورهای Netty و CIO پشتیبانی میشود.
نسخه Ktor 3.4 هماکنون در دسترس است و توسعهدهندگان میتوانند از این بهروزرسانی برای بهبود عملکرد و قابلیتهای برنامههای کاربردی Kotlin خود استفاده کنند.
مشاهده مطلب اصلی