سفلت

سِفلت  هو مُجمع برمجي (Compiler) حر ومفتوحة المصدر لواجهات المستخدم على الويب، صُممه ريتش هاريس، يُدار عبر المتطوعين في الفريق الرئيسي لسِفلت، على نقيض بقية إطارات عمل ومكتبات جافاسكربت لا يتبع سِفلت نفس النهج فبدلًا من أن يكون مكتبة تعدل على شجرة DOM، يتبع سفليت نهج المجمعات البرمجية (Compiler)، يحول قالب HTML إلى كُود مخصص بمقدوره التعديل على شجرة DOM مباشرةً، يُقلل ذلك حجم الملفات والبيانات المتبادلة بين الخادم والمتصفح، ويعطي أداءً أفضل.

ويعد الكود الناتج من سِفلت تفاعليًا بمقدوره التعامل مع تغير البيانات وإعادة تصير المكونات (re-render) على الصفحة حال تغير البيانات، على عكس إطارات عمل جافاسكربت الإعتيادية التي تُحمل معها كود إضافي ليوفر بيئة وقت-التشغيل (Runtime) لإطار العمل تتمكن عبرها من تتبع التغيرات.

التاريخ 

عمل ريش هاريس على Ractive.js في بداية التطوير، حيث أستلهم نموذجًا أوليًا لفكرة Svelte.

كُتب الإصدار الأول من مُجمع سِفلت بلغة جافاسكربت، حيث أعتمد على Ractive.js في التفاعلية، وعلى المجمع في إنشاء العناصر، وتم اختيار الاسم سِفلت بواسطة ريتش هاريس وزملاءه بالعمل في صحيفة الغارديان، وصدر في 29 نوفمبر 2016، في حين صدر الإصدار الثاني من سفليت في 19 أبريل 2018، وكان بمثابة تصحيح للأخطاء التصميمية بالمجمع البرمجي في الإصدار الأول، وأصبحت القوالب تستخدم قوس معقوف واحد {}، بدلًا من قوسين معقوفين {{}}.

أُعيد برمجة المجمع البرمجي في 21 أبريل 2019 بلغة تايب سكربت، وتم إعادة التفكير بشأن توفير التفاعلية عبر المحول البرمجي نفسه خلف الكواليس.

أطلق إطار عمل SvelteKit في أُكتوبر 2020، و أُعلن عن الإصدار التجريبي في مارس 2021.

نظرة عامة 
أستطاع سِفلت إثبات فكرة استخدام محول برمجي لإنشاء مكونات تفاعلية، بدلًا من الإعتماد على مفاهيم مثل شجرة المكونات الظاهرية (VDOM)، أو تقنية مكونات الويب (web component)، واستلهمت فكرة «مكون في ملف واحد» (SFC) من فيو جي إس.

تبني المطورين 
حظي سِفلت بجمهور كبير، وتبنته العديد من الشركات في مشاريعها أبرزها: صحيفة نيويورك تايمز، كلاودفلاير، سبوتيفاي، أبل، بايت دانس، بلومبيرغ وبريف. وبحسب إحصائية ستاك أوفر فلو لعام 2021 كان سِفلت أكثر إطار عمل محبوب بين مبرمجي الويب. كما حصل على أكثر من 60 ألف نجمة في المستودع الرسمي للمشروع على قتهاب في 2022.

أستلهمت فكرة إنشاء إطار عمل SvelteKit من نكست جي إس، لتوفير طريقة أسهل على المطورين لإنشاء مواقع باستخدام سفلت، وهو بديل إطار عمل سِفلت Sapper السابق.

بناء الجملة البرمجية 
تُبنى تطبيقات ومكونات سِفلت عبر إنشاء ملف بإمتداد .svelte ويعد صيغة مُحسنة من HTML، مع نظام قولبة مشابه إلى JSX.

يستخدم سِفلت تعبير جافاسكربت $: للأجزاء التفاعلية، بينما تُعبر المتغيرات عن حالات للمكون وتدمج كل من هذه التعابير مع قالب HTML للحصول على مكون تفاعلي، كما تستخدم الأقواس المعقوفة، لتنفيذ تعابير جافاسكربت في داخل قالب HTML كما هو موضح أدناه:

أنظر أيضًا 

 إطار عمل جافاسكربت
 محول برمجي
 لغة توصيف

المراجع

وصلات خارجية 

 

استحداثات متعلقة بالحواسيب في 2016
إطارات عمل جافا سكريبت
برمجيات تستخدم رخصة إم أي تي
برمجيات حرة ومفتوحة المصدر
تطوير الويب
جافا سكريبت
واجهات مستخدم