بلاك (برنامج)

بلاك هو إطار عمل برمجي لتطبيقات الويب مكتوب بلغة بيرل ، مستوحى من راك للغة روبي و WSGI للغة بايثون ، [ 1 ] [ 2 ] وهو المشروع الذي يقف وراء مواصفات PSGI المستخدمة في أطر عمل أخرى مثل كاتاليست ودانسر . [ 3 ] يتيح بلاك اختبار تطبيقات الويب المكتوبة بلغة بيرل دون الحاجة إلى خادم ويب مباشر. [ 4 ]
Plackup هي أداة سطر أوامر لتشغيل تطبيقات PSGI من سطر الأوامر. [ 5 ]
PSGI
PSGI أو واجهة بوابة خادم الويب في لغة بيرل هي واجهة بين خوادم الويب وتطبيقات الويب وأطر العمل المكتوبة بلغة برمجة بيرل ، وتتيح كتابة تطبيقات محمولة يمكن تشغيلها كخوادم مستقلة أو باستخدام CGI و FastCGI و mod_perl وغيرها. [ 6 ] وهي مستوحاة من واجهة بوابة خادم الويب في بايثون ، و Rack في روبي ، و JSGI في جافا سكريبت . تطبيق PSGI هو روتين فرعي في بيرل يقبل وسيطات كمرجع تجزئة واحد ، ويعيد مرجعًا إلى مصفوفة من ثلاثة عناصر: رمز حالة HTTP ، ومرجع إلى مصفوفة رؤوس HTTP ، ومرجع إلى مصفوفة أسطر نص HTTP (عادةً ما يكون مستند HTML مُنشأ ) أو كائنًا يشبه مُعرّف الملف .
الأنظمة الخلفية المدعومة
اعتبارًا من مايو 2023 [ 7 ] يدعم Plack خوادم الخلفية التالية:
- الصور المولدة بالحاسوب
- SCGI
- فاست سي جي آي
- mod_perl تحت Apache 1.3 و 2.0
- خادم HTTP مستقل مضمن في بلاك
- HTTP::Server::Simple
- كورونا
- ستارمان
- تويغي
- AnyEvent::HTTPD
- AnyEvent::ReverseHTTP
أمثلة
استخدام خادم HTTP المستقل الافتراضي:
$ plackup app.psgi HTTP::Server::PSGI: قبول الاتصالات على http://0:5000/يعمل كبرنامج خفي FastCGI يستمع على مقبس Unix ، جاهز للاستخدام من قبل أي خادم ويب يدعم FastCGI :
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgi FastCGI: مدير (معرف العملية 3336): تم التهيئة FastCGI: مدير (معرف العملية 3336): تم بدء تشغيل الخادم (معرف العملية 3337) FastCGI: الخادم (معرف العملية 3337): تم التهيئةتطبيق "Hello world" يعمل بشكل صحيح من سطر واحد :
$ plackup -e 'sub { [200, ["Content-Type" => "text/plain"], ["Hello, world!"]] }' HTTP::Server::PSGI: قبول الاتصالات على http://0:5000/يقوم الأمر أعلاه بتشغيل خادم HTTP يستمع على المنفذ 5000 لكل واجهة محلية ( عنوان IP ) ويعيد استجابة 200 OK لكل طلب HTTP :
HTTP / 1.0 200 OK التاريخ : الجمعة، 19 مارس 2010 23:34:10 بتوقيت غرينتش الخادم : HTTP::Server::PSGI نوع المحتوى : نص عادي طول المحتوى : 13 مرحبا بالعالم! مراجع
- ↑ بو، كورتيس (2012). مقدمة في لغة بيرل . جون وايلي وأولاده. ص 484. ISBN 9781118235638تم الاطلاع عليه بتاريخ 29 أكتوبر 2018 .
- ↑ "PSGI/Plack - Perl Superglue for Web Frameworks and Web Servers" . plackperl.org . تم الاطلاع عليه بتاريخ 9 سبتمبر 2023 .
- ↑ كويجلي، إيلي (2014). بيرل بالأمثلة . بيرسون للتعليم. ص 586. ISBN 9780133760811تم الاطلاع عليه بتاريخ 29 أكتوبر 2018 .
- ↑ كروماتيك (2015). بيرل الحديثة ( الطبعة الرابعة). شركة براغماتيك بروجرامرز، ذ.م.م.، ص 134. ISBN 978-1-68050-088-2.
- ↑ "بلاك اب – metacpan.org" . metacpan.org . تم الاسترجاع في 30 مايو 2023 .
- ↑ chromatic. "تطوير تطبيقات الويب باستخدام لغة بيرل الحديثة" . modernperlbooks.com .
- ↑ بلاك :: وحدات المعالج على CPAN
روابط خارجية
- برنامج مبرمج بلغة بيرل
- برنامج خادم ويب مجاني
