تايب سكريبت 7.0 يصل مع مُترجم Go: تسريع البناء عشر مرات وعودة المبرمجين إلى لوحة المفاتيح

أبرز النقاط
- TypeScript 7.0 يُقدّم تسريعًا يتراوح بين 8x و12x في عمليات البناء الكاملة بفضل إعادة كتابة المُترجم بلغة Go.
- كبرى قواعد الشيفرة مثل VSCode (2.3 مليون سطر) انخفض وقت ترجمتها من 125 ثانية إلى 10.6 ثانية فقط.
- مطورو Slack الذين عجزوا سابقًا عن تشغيل فحص الأنواع الكامل محليًا أصبح بإمكانهم الآن القيام بذلك على أجهزتهم.
أعلنت مايكروسوفت رسميًا عن إصدار TypeScript 7.0، أول نسخة مستقرة تتضمّن المُترجم الجديد المُعاد كتابته بالكامل بلغة Go. النتيجة: تسريع عمليات البناء بمعدّل يصل إلى عشرة أضعاف، مما يعيد للمبرمجين أثمن ما يملكون — وقتهم.
ما حجم التسريع الفعلي؟
وصف دانيال روزنواسر، مدير المنتج الرئيسي في مايكروسوفت، الإصدار الجديد قائلاً إن TypeScript 7 يجلب سرعة الشيفرة الأصلية، وتعدد الخيوط عبر الذاكرة المشتركة، إضافة إلى تحسينات عديدة تُحقّق عادةً تسريعًا يتراوح بين 8x و12x في عمليات البناء الكاملة.
التحسين ينعكس مباشرة على تجربة المطوّر في محرر الكود: فتح الملفات أسرع، البحث في الشيفرة أسرع، والإكمال التلقائي يستجيب فورًا. السبب أن TypeScript Language Server —المحرّك الذي يغذّي كل هذه الميزات— كان في السابق عنق الزجاجة، لا المحرر نفسه.
لماذا لم يعد JavaScript كافيًا؟
بُني مُترجم TypeScript الأصلي بلغة TypeScript ذاتها، ويُنفَّذ عبر محرك V8. لكن مع نمو قواعد الشيفرة في المؤسسات الكبرى، بدأ هذا النموذج يختنق. فريق Slack مثلاً لم يعد قادرًا على تشغيل فحص الأنواع الكامل محليًا؛ كانوا يؤجّلون المهمة لخادم التكامل المستمر (CI). مع TypeScript 7 عاد الفحص الكامل إلى جهاز المطوّر مباشرة.
أوضح أندرس هيلسبرغ، أحد مبتكري TypeScript، أن الانتقال إلى الشيفرة الأصلية كان ضروريًا للأداء. وأضاف أنهم أدركوا سريعًا إمكانية تحقيق تسريع عشرة أضعاف: نصفه من كون الشيفرة أصلية، والنصف الآخر من الاستفادة من تعدد الخيوط عبر الذاكرة المشتركة.
نتائج من قواعد شيفرة عملاقة
- VSCode: 2.3 مليون سطر — انخفض الترجمة من 125 ثانية إلى 10.6 ثانية (11.9x).
- Sentry: 1.9 مليون سطر — 15.7 ثانية فقط.
- Bluesky: 628 ألف سطر — 2.8 ثانية.
- Playwright: 528 ألف سطر — 1.47 ثانية.
هذه الأرقام تعني أن مشاريع SaaS الكبرى لم تعد مضطرة لتأجيل فحص الأنواع إلى مرحلة CI، بل يمكن تنفيذه أثناء الكتابة دون أي انتظار محسوس.
لماذا اختار الفريق Go بدلاً من C# أو Rust؟
القرار فاجأ كثيرين: مايكروسوفت تملك C# المتقدمة، والصناعة تتجه نحو Rust. لكن رايان كافانو، قائد فريق تطوير TypeScript، شرح الأسباب في وثيقة بعنوان Why Go؟
- التشابه الهيكلي: صياغة Go أقرب إلى JavaScript، مما يسهّل على المطورين والأدوات إيجاد التوافقات بين قاعدتي الشيفرة القديمة والجديدة.
- كفاءة الذاكرة: في معظم عمليات الترجمة يمكن إيقاف جامع القمامة (Garbage Collector) البطيء نسبيًا في Go، فيُقلّل ذلك من تعقيد الشيفرة دون كلفة تشغيل تُذكر.
- تعدد المنصات: Go تُنتج شيفرة أصلية لكل المنصات بسهولة، وتتفوّق في إدارة التزامن (Concurrency).
أضاف هيلسبرغ أن Go هي أدنى لغة مستوى يمكنهم استخدامها مع دعم كامل للشيفرة الأصلية على جميع المنصات، وأنها ممتازة في التزامن.
ماذا يعني هذا لفِرَق SaaS؟
لفِرَق المنتجات القائمة على TypeScript، التحديث إلى الإصدار السابع يعني تقليص حلقة التغذية الراجعة (Feedback Loop) بشكل جذري. المطوّر الذي كان ينتظر دقيقتين لفحص الأنواع سينتظر الآن ثوانٍ معدودة، مما يُقلّل من الانقطاعات ويرفع الإنتاجية. كذلك قد تنخفض كلفة CI لأن عمليات البناء ستستهلك وقتًا ومواردًا أقل على الخوادم السحابية.
رأي Logicity
إعادة كتابة مُترجم TypeScript بلغة Go تُرسّخ توجّهًا واضحًا في عالم أدوات المطوّرين: الانتقال من لغات مُفسَّرة إلى شيفرة أصلية لتحقيق سرعات غير مسبوقة. شهدنا الأمر ذاته مع esbuild وTurbopack وRspack. للمقارنة: esbuild (مجاني ومفتوح المصدر) وTurbopack (من Vercel، مدمج مع Next.js) كلاهما يستهدف تسريع بناء JavaScript/TypeScript، لكن TypeScript 7 يُعالج المشكلة من جذرها — المُترجم الرسمي نفسه. هذا يُقلّل اعتماد الفِرَق على أدوات خارجية ويُبسّط سلسلة البناء، وهو مكسب مباشر لشركات SaaS التي تُدير قواعد شيفرة ضخمة وتدفع بالدقيقة على CI.
الخلاصة: عودة المطوّرين إلى لوحة المفاتيح
TypeScript 7.0 ليس مجرد تحديث إصدار؛ إنه إعادة تأسيس للبنية التحتية التي يعتمد عليها ملايين المطورين يوميًا. التسريع العشري يُعيد فحص الأنواع إلى سير العمل اللحظي، ويُنهي حقبة انتظار خادم CI ليُخبرك بأخطاء كان يجب أن تراها فورًا. إن كنت تُدير منتج SaaS مبنيًا على TypeScript، فالوقت مناسب لاختبار الإصدار الجديد في بيئة التطوير وقياس الأثر على زمن البناء قبل اعتماده في الإنتاج.
الأسئلة الشائعة
هل TypeScript 7.0 متوافق مع مشاريعي الحالية؟
نعم، الإصدار يحافظ على التوافق العكسي مع قواعد الشيفرة القائمة؛ التغيير الجوهري في المُترجم الداخلي لا في صياغة اللغة.
هل أحتاج إلى تثبيت Go على جهازي لاستخدام TypeScript 7؟
لا، المُترجم الجديد يُوزَّع كملف تنفيذي أصلي؛ لا حاجة لتثبيت بيئة Go بشكل منفصل.
ما الفرق بين تسريع TypeScript 7 وأدوات مثل esbuild؟
esbuild وTurbopack تُسرّع عملية التجميع (Bundling)، بينما TypeScript 7 يُسرّع فحص الأنواع والترجمة من TS إلى JS، أي أنهما يعملان في مراحل مختلفة من سلسلة البناء ويمكن الجمع بينهما.
كم يبلغ الحد الأدنى لحجم المشروع للاستفادة من التسريع؟
المشاريع الصغيرة ستلاحظ تحسنًا أقل وضوحًا لأن الأزمنة الأصلية كانت قصيرة؛ الفائدة الكبرى تظهر في قواعد الشيفرة التي تتجاوز مئات الآلاف من الأسطر.
هل سيستمر دعم المُترجم القديم المكتوب بـ JavaScript؟
أشار الفريق إلى أن الشيفرة القديمة ستُصان لعدة سنوات على الأقل، لكن التطوير المستقبلي سيتركّز على المُترجم الجديد.
هل تحتاج مساعدة في التطبيق؟
إذا كنت تُخطط لترقية مشروع SaaS إلى TypeScript 7.0 أو تحتاج استشارة حول تحسين سلسلة البناء، تواصل مع فريق Logicity للحصول على دعم تقني متخصص.
عمر حسن
كاتب تقني وابتكار
أُنتِج هذا المقال بمساعدة الذكاء الاصطناعي وراجعه فريق التحرير في لوجيسيتي. اعرف المزيد في سياسة التحرير.


