من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

أعلنت كل من Cloudflare وVoidZero، بالتعاون مع Max Schwenk من Owner.com، عن مشروع «tsrs» الذي يهدف إلى إعادة كتابة مترجم TypeScript بلغة Rust. هذا المشروع، الذي يُحتضن كجزء من سلسلة أدوات مترجم JavaScript Oxc، يهدف بشكل أساسي إلى تسريع أداء TypeScript وجعله أكثر كفاءة في استهلاك الذاكرة، مما يوفر على المطورين وقت انتظار أقل.

الهدف ليس إنشاء نسخة مستقلة من TypeScript، بل العمل بشكل وثيق مع فريق TypeScript الأصلي لضمان الحفاظ على توافقية اللغة وتصميمها. نحن نرى أن هذا التعاون سيؤدي إلى تحسينات يستفيد منها الجميع في مجتمع المطورين.

لماذا Rust الآن؟

شهدنا على مر السنين العديد من المحاولات لنقل TypeScript إلى لغات أخرى، ونجح القليل منها فقط، أبرزها نقل فريق TypeScript للغة من JavaScript إلى Go. لكن مع تطور نماذج الذكاء الاصطناعي الحديثة، أصبح بالإمكان الآن إنجاز عمليات النقل واسعة النطاق بشكل شبه مستقل خلال أيام قليلة.

تتميز لغة Rust ببعض المزايا الفريدة، خاصة عند تشغيلها في WebAssembly (Wasm). فبينما تتطلب لغة Go تجميع جامع القمامة الخاص بها مع Wasm، فإن نموذج إدارة الذاكرة في Rust يتيح تفاعلات ذاكرة مباشرة وفعالة بين بيئة Wasm المضيفة والضيفة. هذا ما يجعل Rust خيارًا أفضل بكثير لحالات استخدام WebAssembly، حيث تُعد كفاءة الذاكرة أمرًا حاسمًا.

تحسينات الأداء والذاكرة

تُظهر المقارنات المبكرة لمنفذ Rust أن «tsrs» أسرع بما يصل إلى 8 مرات ويستخدم ذاكرة أقل بنحو 70% مقارنة بـ TypeScript 7.0، عند استخدام نفس عدد من عمال فحص الأنواع. حتى أن بعض التحسينات التي جاءت من «tsrs» قد أُدمجت بالفعل في الإصدارات التالية من TypeScript، مما يجعل TypeScript 7.1 beta أسرع بمرتين ونصف من TypeScript 7.0.

بالإضافة إلى ذلك، يأتي «tsrs» بشكل افتراضي مع تكوين تكيفي يعتمد على نوع الجهاز، والذي قد يستخدم ذاكرة أكبر ولكنه يوفر سرعة أعلى. يمكن للمطورين تجربة «tsrs» الآن عن طريق تثبيت الحزمة من npm عبر الأوامر: «npm install tsrs» ثم «npx tsrs».

تخطط Cloudflare لدمج «tsrs» مع «tsc-rs» لدعم جميع ميزات TypeScript، بما في ذلك بروتوكول خادم اللغة (LSP). كما تلتزم بالعمل على المساهمة بأي تحسينات في الأداء مرة أخرى في قاعدة كود TypeScript Go، لضمان استفادة المجتمع بأكمله.

ماذا يعني هذا للمطورين؟

بالنسبة للمطورين، يعني هذا تقليلًا كبيرًا في أوقات الانتظار أثناء فحص الكود، مما يسرّع دورة التطوير. كما تفتح كفاءة Rust وWasm آفاقًا جديدة لتشغيل بيئات تطوير كاملة ومغلقة في أماكن لم تكن ممكنة من قبل، مثل داخل المتصفح، أو على الأجهزة المدمجة، أو تطبيقات إنترنت الأشياء (IoT). هذا سيمكن من دمج أدوات التطوير بشكل أعمق وأكثر مرونة، مما يعزز إنتاجية المطورين ويوسع نطاق استخدام TypeScript في بيئات متنوعة.

المصدر: blog.cloudflare.com

ثغرة أمنية خطيرة في Laravel تسمح باختراق الحسابات
هجوم فدية في ويلز: «Password1» تفتح الأبواب للمخترقين

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل