تايب سكريبت
تايب سكريبت هي جافاسكريبت مع بطاقات تعريف على البيانات، فتُكتشف الأخطاء أثناء كتابة الكود بدل أن تظهر بعد وصوله إلى الناس.
يُعرف أيضًا بـ تي إس جافاسكريبت بأنواع لغة تايب سكريبت
التعريف
تايب سكريبت هي جافاسكريبت مع بطاقات تعريف على البيانات، فأنت تكتب الكود نفسه لكنك تقول أيضًا ما هو كل شيء. فالسعر رقم، والزبون له بريد إلكتروني، والحجز له تاريخ، ثم يفحص المحرر كل سطر أمام هذه البطاقات وأنت تكتب. فإذا حاول أحد أن يجمع سعرًا مع اسم، ظهر الخطأ بخط أحمر قبل أن يخرج الكود من الجهاز أصلًا.
وهي ليست منافسًا لجافاسكريبت بل طبقة فوقها. فقبل أن يعمل أي شيء تنزع تايب سكريبت هذه البطاقات وتنتج جافاسكريبت عادية هي ما يشغّله المتصفح أو الخادم فعلًا. ولذلك لا يُثبَّت شيء إضافي على هاتف الزائر، والمنتج النهائي ليس أبطأ ولو قليلًا. فالثمن يُدفع مبكرًا، في وقت الكتابة وفي خطوة بناء تعمل قبل كل إصدار. واللغة موجودة منذ عام 2012، وهذه مدة كافية لتصير الطريقة المعتادة في كتابة مشاريع جافاسكريبت الكبيرة.
وهنا ما يخطئ فيه الناس: كل هذا الفحص يحدث قبل تشغيل الكود ثم يختفي. ولذلك حين تُرسَل استمارة أو يرسل نظام شركة أخرى طلبًا إليك، لا تقف تايب سكريبت عند الباب. فما يصل يصل، لأن تسمية الحقل رقمًا لا تجعله رقمًا. وعلى الخادم أن يفحص البيانات الواردة بنفسه، ولهذا تعامل لينكي سوفت لنظم المعلومات هذا الأمر كجزء من مراجعة الأمن السيبراني لا كخيار لغة. والفرق التي تظن أن البطاقات ما زالت تحميها أثناء التشغيل هي التي تقع في المشكلة.
وهل تستحق العناء؟ ذلك يعتمد على الحجم والعمر، فلصفحة واحدة فيها استمارة واحدة هي جهد زائد بعائد قليل. أما لنظام فيه خمسون شاشة وعدة مطورين وسنوات أمامه، فهي الفرق بين تغيير اسم حقل في عشر ثوانٍ والبحث في المشروع كله يدويًا. وتفيد أكثر ما تفيد حين يتشارك الموقع وتطبيق الهاتف الكود نفسه. ولهذا تكتب لينكي سوفت تطبيقات الويب طويلة العمر بتايب سكريبت، وتسأل سؤالًا واحدًا قبل البدء. من الذي سيعمل على هذا بعد سنتين؟ فإن كانت الإجابة الصادقة شخصًا لم نقابله بعد، فالبطاقات تستحق كل ساعة تكلفها.
أسئلة حول تايب سكريبت
هل تايب سكريبت لغة مختلفة عن جافاسكريبت؟
هل تجعل تايب سكريبت موقعي أسرع؟
هل تحمي تايب سكريبت نظامي من الاختراق؟
هل تستحق تايب سكريبت العناء في مشروع صغير؟
هل يمكن نقل مشروع جافاسكريبت قائم إلى تايب سكريبت؟
ما زلت غير متأكد كيف ينطبق هذا على مشروعك؟
أخبرنا بما تبنيه وسنجيبك بلغة واضحة.