EP28 - TypeScript
Chapters
- عودة البودكاست وتقديم الضيوف
- التعريف بياسر مكرم وعمرو الديب
- ما هي TypeScript ولماذا هي مفتوحة المصدر
- لماذا نحتاج إلى بدائل لـ JavaScript
- تحديات التطبيقات الكبيرة والموديولات
- ECMAScript 6 وحلول تطوير JavaScript
- نهج TypeScript كسوبرست لـ JavaScript
- التوافق مع JavaScript وملفات التعريف
- ميزات TypeScript للتطبيقات الكبيرة
- التبني والأدوات ودعم المطورين
- دوافع Microsoft وأدوات تحليل الكود
- هل ستنجح TypeScript ومتى تُستخدم؟
- سهولة التجربة وخبرة Anders Hejlsberg
- الخلاصة ودعوة لتجربة TypeScript
About this episode
في الحلقة 28 من بودكاست اسأل مطور، يناقش محمد الشريف وياسر مكرم وعمرو الديب TypeScript كمحاولة لتطوير تجربة بناء تطبيقات JavaScript الكبيرة من دون استبدال JavaScript أو طلب دعم جديد من المتصفح. يشرحون أنها مجموعة موسعة من JavaScript تُترجم في النهاية إلى JavaScript قابلة للتشغيل على المتصفح والخادم، مع إضافة الأنواع، والواجهات، والأصناف، وميزات تساعد الأدوات على فهم الكود. تتناول الحلقة مشكلات التنظيم والاعتماديات والـglobal namespace في المشاريع الكبيرة، وتقارن TypeScript بمحاولات مثل RequireJS وDart وCoffeeScript وGWT وScript#. كما يناقش المتحدثون ملفات التعريف للمكتبات، وفوائد التكامل التدريجي، لكنهم يبدون حذرًا بشأن محدودية التبني والأدوات خارج Visual Studio ومستقبل التقنية آنذاك.
Discussion highlights
- TypeScript تُنتج JavaScript عند الترجمة، لذلك لا تتطلب إضافة للمتصفح أو بيئة تشغيل خاصة؛ ومعلومات الأنواع لا تبقى عادةً في الناتج النهائي.
- يصف المتحدثون TypeScript بأنها superset من JavaScript: يمكن إدخال كود JavaScript موجود داخلها، ثم إضافة الأنواع تدريجيًا بدل إعادة كتابة المشروع بلغة مختلفة.
- الأنواع والبيانات الوصفية قد تحسن الإكمال التلقائي والتحليل والأدوات، خصوصًا في التطبيقات الكبيرة، لكنهم لا يقدّمونها كحل وحيد لمشكلات JavaScript.
- ملفات التعريف تتيح وصف واجهات مكتبات JavaScript مثل jQuery وNode.js لكي تستفيد منها أدوات TypeScript، حتى لو بقيت المكتبات نفسها مكتوبة بـJavaScript.
- يلفت النقاش إلى أن تبني TypeScript وقت التسجيل لم يكن واضحًا، مع قوة ملحوظة لأدوات Visual Studio ودعم أقل نضجًا خارجها؛ لذا يقترحون تجربتها في مشروع مناسب مع إبقاء التوقعات واقعية.
Links & resources
- فيديو الحلقة على YouTube:www.youtube.com
- ملفات تعريف DefinitelyTyped:github.com
- مثال من ملفات TypeScript الأساسية:typescript.codeplex.com
- الاستماع على SoundCloud:soundcloud.com



