تیم توسعه TypeScript از نسخه جدید این زبان برنامهنویسی با نام TypeScript 7 رونمایی کرده است؛ نسخهای که یکی از بزرگترین تغییرات معماری تاریخ این پروژه را به همراه دارد. مهمترین هدف TypeScript 7 افزایش سرعت، کاهش مصرف منابع و آمادهسازی این زبان برای پروژههای بزرگتر است. در این نسخه، بخشهای اصلی کامپایلر TypeScript بازنویسی شدهاند تا عملکرد آن نسبت به نسخههای قبلی به شکل چشمگیری بهبود پیدا کند.
بازنویسی کامل کامپایلر TypeScript
مهمترین تغییر TypeScript 7، مهاجرت از معماری قدیمی مبتنی بر JavaScript به یک پیادهسازی جدید با زبان Go است. تیم توسعه مایکروسافت اعلام کرده که این تغییر باعث شده سرعت بسیاری از عملیاتهای اصلی مانند بررسی نوع دادهها، کامپایل و اجرای ابزارهای توسعه افزایش پیدا کند.
بر اساس آزمایشهای منتشرشده، کامپایلر جدید TypeScript میتواند در برخی پروژههای بزرگ تا حدود ۱۰ برابر سریعتر از نسخههای قبلی عمل کند. این افزایش سرعت بهخصوص در پروژههایی با میلیونها خط کد یا ساختارهای پیچیده، تفاوت قابل توجهی ایجاد خواهد کرد.
افزایش سرعت در پروژههای بزرگ
یکی از مشکلات نسخههای قبلی TypeScript، کاهش سرعت هنگام کار با پروژههای بسیار بزرگ بود. با رشد برنامههای وب و استفاده گستردهتر از فریمورکهایی مانند React، Angular و Node.js، زمان پردازش کدها به یکی از چالشهای اصلی توسعهدهندگان تبدیل شده بود.
TypeScript 7 با معماری جدید تلاش میکند این محدودیتها را کاهش دهد. پردازش سریعتر فایلها، زمان کوتاهتر برای اجرای Type Check و بهبود عملکرد ابزارهای توسعه از جمله تغییراتی هستند که تجربه کار با پروژههای بزرگ را بهتر میکنند.
سازگاری با اکوسیستم فعلی TypeScript
با وجود تغییرات گسترده در بخش داخلی، تیم TypeScript اعلام کرده که هدف اصلی حفظ سازگاری با پروژههای موجود است. توسعهدهندگان همچنان میتوانند از قابلیتهای فعلی زبان استفاده کنند و مهاجرت به نسخه جدید نباید نیازمند تغییرات گسترده در کدهای فعلی باشد.
این نسخه همچنان از قابلیتهای اصلی TypeScript مانند تایپهای استاتیک، Genericها، Interfaceها، Decoratorها و ابزارهای مدرن توسعه پشتیبانی خواهد کرد.
بهبود تجربه توسعهدهندگان
TypeScript 7 تنها روی سرعت کامپایل تمرکز ندارد و تجربه کلی توسعهدهندگان نیز بهبود پیدا کرده است. عملکرد بهتر ابزارهای ویرایشگر، پاسخگویی سریعتر قابلیتهایی مانند پیشنهاد کد (Autocomplete)، تشخیص خطا و جستوجوی اطلاعات پروژه از دیگر مزایای معماری جدید محسوب میشوند. این تغییرات میتواند برای توسعهدهندگانی که روزانه با پروژههای بزرگ کار میکنند، باعث کاهش زمان انتظار و افزایش بهرهوری شود.
دلیل استفاده از زبان Go در TypeScript 7
یکی از تصمیمهای مهم تیم توسعه، استفاده از زبان Go برای بازنویسی بخشهایی از کامپایلر بوده است. Go بهدلیل سرعت اجرای بالا، مدیریت مناسب منابع و قابلیت توسعه ابزارهای سیستمی، گزینه مناسبی برای ساخت یک کامپایلر سریعتر بهشمار میرود.
البته این تغییر به معنای حذف کامل TypeScript نوشتهشده با JavaScript نیست. تیم توسعه قصد دارد بهصورت تدریجی معماری جدید را جایگزین بخشهای قدیمی کند تا روند انتقال بدون ایجاد اختلال در اکوسیستم انجام شود.
زمان عرضه TypeScript 7
مایکروسافت اعلام کرده TypeScript 7 در حال توسعه است و نسخههای آزمایشی آن پیش از انتشار نهایی در اختیار جامعه توسعهدهندگان قرار خواهند گرفت. انتظار میرود نسخه نهایی پس از تکمیل آزمایشها و اطمینان از سازگاری گسترده منتشر شود.
منبع: devblogs.microsoft.com