AudioVideo
EP28 - TypeScript
About this episode
تتناول الحلقة TypeScript بوصفها محاولة لتحسين تجربة تطوير تطبيقات JavaScript الكبيرة دون التخلي عن JavaScript نفسها. يشرح المشاركون كيف تُترجم TypeScript إلى JavaScript، ولماذا لا تحتاج المتصفحات إلى إضافات أو بيئة تشغيل جديدة، وكيف يمكن إدخالها تدريجياً في المشاريع القائمة. يناقشون تحديات JavaScript في الأنظمة الكبيرة، مثل غياب الأنواع الصريحة وتنظيم الوحدات وإدارة الاعتماديات، ويقارنونها بمحاولات أخرى مثل RequireJS وDart وCoffeeScript وGWT وScript#. كما يستعرضون دور ملفات التعريف في استخدام مكتبات مثل jQuery وNode.js، وأثر معلومات الأنواع في تحسين أدوات التطوير والتحليل، مع نظرة نقدية متحفظة إلى تبنّي TypeScript ومستقبلها.
Episode notes
• ما هي TypeScript وعلاقتها بـ JavaScript: لغة فوقية تُترجم إلى JavaScript
• لماذا تصبح JavaScript أكثر صعوبة في التطبيقات الكبيرة: الأنواع الديناميكية، النطاق العام، وإدارة الاعتماديات
• استخدام JavaScript على العميل والخادم مع Node.js
• مشكلة الوحدات وتحميل الاعتماديات في تطبيقات الصفحة الواحدة، ودور RequireJS
• محاولات بديلة أو سابقة لتحسين تطوير JavaScript، مثل Dart وCoffeeScript وGWT وScript#
• الأنواع، الواجهات، الأصناف، الوراثة وGenerics في TypeScript، وعلاقتها بمقترحات ECMAScript 6
• توافق TypeScript مع كود JavaScript والمكتبات القائمة، وإمكانية الانتقال التدريجي إليها أو العودة إلى JavaScript المولّدة
• ملفات التعريف Definition Files لإضافة معلومات الأنواع لمكتبات مثل jQuery وNode.js
• مشروع DefinitelyTyped لتجميع ملفات التعريف للمكتبات الشائعة
https://github.com/borisyankov/DefinitelyTyped
• أثر معلومات الأنواع في الإكمال التلقائي، التوثيق، وأدوات التحليل داخل بيئات التطوير
• فيديو الحلقة على يوتيوب
http://www.youtube.com/watch?v=UGSiU0dmdGc
• الاستماع إلى الحلقة على SoundCloud
https://soundcloud.com/askdeveloper/ep28-typescript?in=askdeveloper/sets/askdeveloper
• مثال من ملفات TypeScript الأساسية
http://typescript.codeplex.com/SourceControl/changeset/212257181d09
• موقع AskDeveloper
http://www.askdeveloper.com