امروز مایکروسافت با اعلام تغییری که عملکرد TypeScript را به طور چشمگیری بهبود خواهد بخشید، همه را شگفتزده کرد. مایکروسافت در حال کار روی یک پورت بومی از کامپایلر و ابزارهای TypeScript به زبان Go است. این پروژه پورت بومی با نام رمز “Corsa” شناخته میشود.
براساس بازخورد توسعهدهندگان، مایکروسافت متوجه شد که TypeScript نتوانسته با کدبیسهای بزرگ به خوبی مقیاسپذیر شود. توسعهدهندگان با مشکلاتی مانند زمان راهاندازی کند ویرایشگر، نمایش ناقص کد منبع و موارد دیگر مواجه بودند. مایکروسافت ادعا میکند که این پیادهسازی بومی جدید در Go به طور چشمگیری راهاندازی ویرایشگر را بهبود میبخشد، زمان ساخت را تا 10 برابر کاهش میدهد و همچنین مصرف حافظه را به میزان قابل توجهی کاهش میدهد.
توسعهدهندگان میتوانند انتظار بهبودهای عملکردی زیر را داشته باشند:
کدبیس VS Code با 1,505,000 خط کد: از 77.8 ثانیه به 7.5 ثانیه (10.4 برابر سریعتر) Playwright با 356,000 خط کد: از 11.1 ثانیه به 1.1 ثانیه (10.1 برابر سریعتر) TypeORM با 270,000 خط کد: از 17.5 ثانیه به 1.3 ثانیه (13.5 برابر سریعتر) date-fns با 104,000 خط کد: از 6.5 ثانیه به 0.7 ثانیه (9.5 برابر سریعتر) tRPC (سرور + کلاینت) با 18,000 خط کد: از 5.5 ثانیه به 0.6 ثانیه (9.1 برابر سریعتر) rxjs (observable) با 2,100 خط کد: از 1.1 ثانیه به 0.1 ثانیه (11.0 برابر سریعتر)
مایکروسافت انتظار دارد که این پورت بومی تا اواسط سال 2025 با قابلیت بررسی نوع در خط فرمان tsc به صورت پیشنمایش ارائه شود. یک راهحل کامل برای ساخت پروژهها و سرویس زبان تا پایان سال منتشر خواهد شد. توسعهدهندگان علاقهمند میتوانند از همین حالا کد Go را از مخزن جدید مایکروسافت بسازند و اجرا کنند.
مایکروسافت اخیراً TypeScript 5.8 را منتشر کرده و TypeScript 5.9 به زودی در راه است. توسعهدهندگان میتوانند انتظار داشته باشند که TypeScript 6.0 برخی موارد منسوخ شده و تغییرات شکننده را برای پشتیبانی از نسخه مبتنی بر Go آینده داشته باشد. در اواخر امسال، مایکروسافت این پیادهسازی بومی جدید Go را به عنوان TypeScript 7.0 منتشر خواهد کرد.
کدبیس فعلی TypeScript مبتنی بر JS به توسعه در سری 6.x ادامه خواهد داد تا زمانی که TypeScript 7+ به بلوغ و پذیرش کافی برسد، زیرا برخی پروژهها ممکن است به ویژگیهای API خاص، پیکربندیهای قدیمی یا موارد دیگری وابسته باشند که توسط TypeScript 7+ پشتیبانی نمیشوند.
source