محاكي x86 رائد بـ CSS فقط: وداعاً لجافاسكريبت؟
في خطوة تقنية غير مسبوقة، تمكن مطور من بناء محاكي معماري [[x86]] يعمل بالكامل بواسطة لغة [[CSS]] وحدها، متخلياً عن الحاجة إلى [[جافاسكريبت]]. لطالما كانت بنية x86 هي الأساس للعديد من أجهزة الكمبيوتر والخوادم ووحدات التحكم في الألعاب، وتوجد العديد من المحاكيات لها. لكن هذا المحاكي الجديد فريد من نوعه؛ لأنه مكتوب بالكامل بلغة CSS، اللغة المستخدمة عادة لتطبيق أنماط التخطيط على صفحات الويب.
قدرات CSS تتجاوز التصميم التقليدي
تستخدم معظم المواقع وتطبيقات الويب لغة CSS عادة لتخطيط الصفحات وإضافة أنماط بصرية للعناصر. لكن مع ميزات CSS الحديثة مثل عبارات if() والوظائف @functions، أصبح من الممكن إنشاء مشاريع أكثر تعقيداً. يعمل المحاكي حالياً فقط في [[متصفحات Chromium]]، مثل [[جوجل كروم]] و[[مايكروسوفت إيدج]] و[[فيفالدي]]، وذلك لأن متصفحات أخرى مثل [[فايرفوكس]] و[[سفاري]] لم تطبق بعد بعض هذه الميزات المتقدمة للغة CSS.
تشغيل برامج C والألعاب باستخدام CSS
تستخدم الصفحة التجريبية للمحاكي برنامجاً مكتوباً بلغة [[C]] تم تجميعه باستخدام [[GCC]] إلى رمز آلة أصلي لمعالج [[8086]]، ويتم تنفيذه داخل CSS. يمكن للبرنامج طباعة مثلث باسكال أو متتالية فيبوناتشي، أو يمكنك لعب لعبة Horsle – وهي نسخة من لعبة Wordle، لكن الكلمة تكون دائماً "horse".
أوضح المطور قائلاً: "هذا المشروع يطبق معظم بنية x86، ولكن ليس حرفياً كل تعليماتها وخصائصها، لأن الكثير منها غير ضروري ولا يستحق الإضافة. كانت طريقتي في هذا المشروع هي كتابة البرامج التي أردت تشغيلها بلغة C، تجميعها في GCC بمستويات مختلفة من التحسين، ثم تطبيق كل تعليمة أحتاجها. بهذه الطريقة، أعرف أن لدي كل ما أحتاجه مطبقاً."
رسالة قوية لمستقبل الويب
على الرغم من أن هذا المحاكي ليس عملياً للاستخدام اليومي، إلا أنه يمثل مشروعاً ممتعاً وتذكيراً بالقدرات المتزايدة للغة CSS. لقد قطعنا شوطاً طويلاً منذ استخدام CSS لتأثيرات الألعاب النارية أو إعادة إنشاء ألعاب Game Boy البسيطة. إذا كان هناك من يصر على أن CSS ليست لغة برمجة حقيقية، فلديك الآن محاكي x86 لمشاركتهم إياه كدليل قاطع.
يمكنك الاطلاع على الكود المصدري للمشروع على [[GitHub]]، ويقول المطور Rebane2001 على [[Mastodon]] إن منشوراً يشرح كيفية عمله سيُنشر قريباً على مدونته.
الأسئلة الشائعة
هو محاكي للبنية المعمارية x86 تم بناؤه بالكامل باستخدام لغة CSS وحدها، متجاوزاً الحاجة إلى جافاسكريبت.
يعتمد المحاكي على ميزات CSS متقدمة مثل عبارات if() والوظائف @functions التي لم تطبقها متصفحات أخرى مثل Firefox وSafari بعد بشكل كامل.
يمكنه تشغيل برامج C بسيطة مجمعة باستخدام GCC مثل مثلث باسكال ومتتالية فيبوناتشي، بالإضافة إلى لعبة Horsle.
لا، ليس محاكياً عملياً، بل هو مشروع تجريبي يهدف إلى إظهار القدرات المتزايدة للغة CSS وتحدي التصورات حول كونها ليست لغة برمجة حقيقية.
التعليقات 0
سجل دخولك لإضافة تعليق
لا توجد تعليقات بعد. كن أول من يعلق!