أوبا (لغة برمجة)

أوبا هي لغة برمجة لتطوير تطبيقات ويب قابلة للتوسع . وهي برنامج مجاني ومفتوح المصدر تم إصداره بموجب رخصة جنو العمومية العامة (AGPLv3) ورخصة MIT .

يمكن استخدام Opa لكتابة البرامج النصية من جانب العميل ومن جانب الخادم ، حيث تُكتب البرامج الكاملة بلغة Opa ثم تُترجم إلى Node.js على الخادم و JavaScript على العميل ، ويتولى المُترجم أتمتة جميع عمليات الاتصال بينهما. [ 3 ] [ 4 ] تُطبّق Opa نظام كتابة بيانات ثابتًا وقويًا ، مما يُساعد في الحماية من المشكلات الأمنية مثل هجمات حقن SQL وهجمات البرمجة النصية عبر المواقع .

عُرضت اللغة رسميًا لأول مرة في مؤتمر مشروع أمان التطبيقات العالمية المفتوحة ( OWASP ) عام 2010، [ 5 ] ونُشرت شفرتها المصدرية على منصة GitHub [ 6 ] في يونيو 2011، بموجب رخصة جنو العمومية العامة (AGPL). لاحقًا، تم تغيير الرخصة إلى رخصة MIT لجزء إطار العمل البرمجي ( المكتبة ) ورخصة AGPL للمترجم، بحيث يمكن نشر التطبيقات المكتوبة بلغة Opa بموجب أي رخصة برمجية ، سواء كانت احتكارية أو مفتوحة المصدر .

التصميم والميزات

يتكون نظام Opa من خادم ويب وقاعدة بيانات ومحرك تنفيذ موزع. [ 7 ] يُترجم الكود المكتوب بلغة Opa إلى جافا سكريبت باستخدام Node.js على جانب الخادم ، وإلى جافا سكريبت باستخدام jQuery لضمان التوافق مع مختلف المتصفحات على جانب العميل . [ 8 ] تتمثل ميزة هذا النهج، مقارنةً ببعض منصات تطبيقات الإنترنت الغنية (RIA)، في عدم حاجة المستخدمين إلى تثبيت أي إضافة في متصفحاتهم. [ 9 ] يتشارك Opa في دوافعه مع أطر عمل الويب ، ولكنه يتبع نهجًا مختلفًا. [ 10 ] يؤكد مصمموه أن هذا النهج يساعد Opa على تجنب العديد من المشكلات الأمنية، مثل هجمات حقن SQL أو هجمات البرمجة النصية عبر المواقع (XSS). [ 11 ]

اللغة الأساسية وظيفية وتعتمد نظام أنواع ثابتًا مع استنتاج الأنواع . كما توفر Opa جلسات تُغلف حالةً إجرائية وتتواصل باستخدام تمرير الرسائل ، على غرار عمليات Erlang . توفر Opa العديد من البنى أو الدوال الشائعة في تطوير الويب ، ككائنات أساسية ، مثل HTML [ 12 ] والمحللات ، القائمة على قواعد التعبير التحليلي . [ 13 ] نظرًا لهذا الترابط بين اللغة ومفاهيم الويب، فإن Opa غير مُصممة للتطبيقات غير الويبية (مثل تطبيقات سطح المكتب ). [ 14 ]

قدّم الإصدار 0.9.0 في فبراير 2012 تقنية ربط قواعد البيانات لقاعدة بيانات MongoDB غير العلائقية والموجهة نحو المستندات ، على غرار ربط الكائنات العلائقية . [ 15 ] كما أضاف الإصدار 1.1.0 في فبراير 2013 دعمًا لـ PostgreSQL ، مما مهّد الطريق لدعم العديد من قواعد بيانات SQL .

انظر أيضاً

  • Ur – لغة وظيفية لتطوير الويب
  • دارت – بديل جافا سكريبت لتطبيقات الويب
  • هاكس – لغة مشابهة لتطبيقات الويب
  • CoffeeScript – لغة يتم تحويلها إلى JavaScript لتطبيقات الويب
  • دارك – لغة تدمج تطوير ونشر الخدمات بدون خوادم

مراجع

  1. "الإصدار 1.1.1: MLstate/opalang" . GitHub . تم الاطلاع عليه بتاريخ 29-01-2021 .
  2. "بعض الأخبار الرائعة عن أوبا" . تم الاطلاع عليه بتاريخ 29 يناير 2021 .
  3. كوبروفسكي، آدم (24 فبراير 2012). "Node.js ضد Opa: مواجهة بين إطاري عمل الويب" . developer.com. مؤرشف من الأصل في 4 نوفمبر 2012. تم الاطلاع عليه في 1 مارس 2012 .
  4. يدعم Opa العديد من الخوادم الخلفية، وNodejs هو الأكثر شيوعًا.
  5. "OPA: دعم اللغة لشبكة ويب سليمة وآمنة، في مؤتمر OWASP 2010" . OWASP. يونيو 2010. مؤرشف من الأصل بتاريخ 22 أبريل 2016. تم الاطلاع عليه بتاريخ 7 سبتمبر 2011 .
  6. "مستودع GitHub" . GitHub .
  7. "Opa – لغة الحوسبة السحابية مفتوحة المصدر والقابلة للتوسع" . WebAppers. 22 يوليو 2011.
  8. "مقابلة: فرانسوا-ريجيس سينو حول أوبا، منصة تطوير الويب" . إنفو كيو. 7 سبتمبر 2011.
  9. نيل ماكاليستر (8 سبتمبر 2011). "تقديم لغة Opa، لغة تطوير الويب التي ستسيطر على جميع اللغات الأخرى" . إنفوورلد.
  10. "مراجعة إنفوورلد: أدوات لتطوير الويب السريع" . إنفوورلد . 12 مايو 2010.
  11. ^ "Auch Opa ist für Cloud-Anwendungen" . هيز اون لاين . 29 يوليو 2011.
  12. "Opa – منهج موحد لبرمجة الويب" . i-Programmer. 28 أغسطس 2011.
  13. كوبروفسكي، بينزتوك (2011). "TRX: مُفسِّر مُحلِّل مُدقَّق رسميًا" . الأساليب المنطقية في علوم الحاسوب . مؤرشف من الأصل بتاريخ 2017-03-05 . تم الاسترجاع بتاريخ 2011-07-22 .
  14. "Opa، لغة جديدة لتطوير تطبيقات الويب" (بالفرنسية). LinuxFr. 22 يونيو 2011.
  15. "برمجة أوبا: تطوير الويب، برؤية جديدة" . مجلة كمبيوتر وورلد . 1 فبراير 2012. مؤرشف من الأصل في 2 أكتوبر 2016. تم الاطلاع عليه في 22 فبراير 2012 .

فهرس