TypeScript يدعم الآن منصة جديدة: توسيع حدود تطوير الويب

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

TypeScript يدعم الآن منصة جديدة: ماذا يعني هذا للمطورين؟



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



تفاصيل الإعلان

المنصة الجديدة التي يدعمها TypeScript الآن هي واجهة نظام WebAssembly (WASI). WASI هي واجهة موحدة تسمح بتنفيذ كود WebAssembly خارج المتصفح، على الخوادم، في السحابة، وحتى على الأجهزة المضمنة. يعني دمج TypeScript مع WASI أن المطورين يمكنهم كتابة الكود بلغة TypeScript المألوفة، ثم ترجمته إلى WebAssembly الذي يعمل في أي بيئة تدعم WASI.



سابقًا، كان TypeScript مرتبطًا بشكل أساسي بتطوير المتصفح والخادم (عبر Node.js). الآن، ينتقل نظامه البيئي إلى مستوى جديد تمامًا، مما يسمح بإنشاء:



  • تطبيقات خادم عالية الأداء — بدون ارتباط بنظام تشغيل معين؛
  • أدوات CLI متعددة المنصات — تعمل بنفس الطريقة على Windows وLinux وmacOS؛
  • حوسبة الحافة (Edge Computing) — تشغيل الكود على حافة الشبكة بأقل تأخير؛
  • وحدات معزولة وآمنة — بفضل نموذج الحماية (sandbox) الخاص بـ WebAssembly.


كيف يعمل هذا؟

لاستخدام هذه الإمكانية الجديدة، سيحتاج المطورون إلى أحدث إصدار من مترجم TypeScript (5.x وما فوق)، بالإضافة إلى أداة ts2wasm (أو محول مماثل). تبدو العملية كالتالي:



  1. تكتب الكود بلغة TypeScript، باستخدام الهياكل والأنواع القياسية.
  2. يقوم المترجم بتحويله إلى تمثيل وسيط (مثل AssemblyScript أو مباشرة إلى Wasm).
  3. يتم تشغيل وحدة Wasm النهائية في أي بيئة WASI (مثل Wasmtime أو Wasmer أو Node.js مع دعم WASI).


مثال على وحدة بسيطة:

// hello.tsexport function greet(name: string): string {  return `Hello, ${name}!`;}

بعد الترجمة، يمكن استدعاء هذا الكود من أي مضيف WASI، دون القلق بشأن توافق الأنظمة.



لماذا هذا مهم؟

لقد أثبت TypeScript منذ فترة طويلة أنه أداة موثوقة للمشاريع الكبيرة. يحل دعم WASI إحدى المشكلات الرئيسية في التطوير الحديث — قابلية نقل الكود عالي الأداء. الآن، يمكن لنفس وحدة TypeScript العمل:



  • في المتصفح (عبر WebAssembly القياسي)؛
  • على الخادم (عبر WASI)؛
  • في وظائف السحابة (مثل AWS Lambda مع دعم Wasm)؛
  • على أجهزة إنترنت الأشياء (IoT) (إذا كانت البيئة تدعم WASI).


بالإضافة إلى ذلك، يفتح هذا الطريق لاستخدام TypeScript في البرمجة النظامية، حيث كانت C و C++ و Rust سائدة سابقًا. على سبيل المثال، يمكن كتابة برنامج تشغيل (driver) أو معالج حزم شبكات بلغة TypeScript، مع الحفاظ على سرعة تنفيذ عالية.



ماذا بعد؟

حاليًا، دعم WASI في حالة تجريبية (preview). ومع ذلك، يمكنك الآن اختبار الإمكانيات باستخدام npm install @typescript/wasi والأدوات المساعدة المناسبة. يعد مطورو TypeScript بتحسين التكامل في

المكتبات الموصى بها