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