أوبا (لغة برمجة)
أوبا هي لغة برمجة لتطوير تطبيقات ويب قابلة للتوسع . وهي برنامج مجاني ومفتوح المصدر تم إصداره بموجب رخصة جنو العمومية العامة (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: MLstate/opalang" . GitHub . تم الاطلاع عليه بتاريخ 29-01-2021 .
- ↑ "بعض الأخبار الرائعة عن أوبا" . تم الاطلاع عليه بتاريخ 29 يناير 2021 .
- ↑ كوبروفسكي، آدم (24 فبراير 2012). "Node.js ضد Opa: مواجهة بين إطاري عمل الويب" . developer.com. مؤرشف من الأصل في 4 نوفمبر 2012. تم الاطلاع عليه في 1 مارس 2012 .
- ↑ يدعم Opa العديد من الخوادم الخلفية، وNodejs هو الأكثر شيوعًا.
- ↑ "OPA: دعم اللغة لشبكة ويب سليمة وآمنة، في مؤتمر OWASP 2010" . OWASP. يونيو 2010. مؤرشف من الأصل بتاريخ 22 أبريل 2016. تم الاطلاع عليه بتاريخ 7 سبتمبر 2011 .
- ↑ "مستودع GitHub" . GitHub .
- ↑ "Opa – لغة الحوسبة السحابية مفتوحة المصدر والقابلة للتوسع" . WebAppers. 22 يوليو 2011.
- ↑ "مقابلة: فرانسوا-ريجيس سينو حول أوبا، منصة تطوير الويب" . إنفو كيو. 7 سبتمبر 2011.
- ↑ نيل ماكاليستر (8 سبتمبر 2011). "تقديم لغة Opa، لغة تطوير الويب التي ستسيطر على جميع اللغات الأخرى" . إنفوورلد.
- ↑ "مراجعة إنفوورلد: أدوات لتطوير الويب السريع" . إنفوورلد . 12 مايو 2010.
- ^ "Auch Opa ist für Cloud-Anwendungen" . هيز اون لاين . 29 يوليو 2011.
- ↑ "Opa – منهج موحد لبرمجة الويب" . i-Programmer. 28 أغسطس 2011.
- ↑ كوبروفسكي، بينزتوك (2011). "TRX: مُفسِّر مُحلِّل مُدقَّق رسميًا" . الأساليب المنطقية في علوم الحاسوب . مؤرشف من الأصل بتاريخ 2017-03-05 . تم الاسترجاع بتاريخ 2011-07-22 .
- ↑ "Opa، لغة جديدة لتطوير تطبيقات الويب" (بالفرنسية). LinuxFr. 22 يونيو 2011.
- ↑ "برمجة أوبا: تطوير الويب، برؤية جديدة" . مجلة كمبيوتر وورلد . 1 فبراير 2012. مؤرشف من الأصل في 2 أكتوبر 2016. تم الاطلاع عليه في 22 فبراير 2012 .
فهرس
- أوبا: جاهز للعمل ، 2013، دار نشر أورايلي ميديا، رقم ISBN 978-1449328856
روابط خارجية
- اللغات الوظيفية
- برمجة الويب
- برامج مجانية متعددة المنصات
- لغات البرمجة التي تم إنشاؤها في عام 2011
- برنامج يستخدم رخصة جنو أفيرو العامة
- برنامج مرخص بموجب ترخيص MIT
- برنامج 2011
- لغات البرمجة ذات الكتابة الثابتة
