قبل فترة بدأت ببرمجة بعض التطبيقات بإطار عمل web.py بلغة python , وجدت هذا الإطار أفضل من Django وأسهل بالتعامل مع أنني لاحظت دعم أكبر ومراجع أكبر ل Django , فماذا تعرف عن إطار عمل web.py وما هو تقيمك له ؟
ماذا تعرف عن إطار عمل web.py ؟
web.py جديدة العهد في هذا العالم الا انها مع ذلك تعتبر سهلة جدا و بسيطة و بالنسبة للمستخدم الجديد التعامل مع web.py اسهل بكثير من التعامل مع Django .
لا اعتقد ان web.py قد تم اختبارها بشكل جدي مع مواقع ضخمة و ذات مستوى قياسي في الاستخدام و الاستهلاك (جميع المواقع المذكورة في الموقع الرسمي هي مواقع شبه محلية )
لكن هذا لا يعيبها بشكل كبير اما العيب الحقيقي و الفارق الجوهري بينهما : هو ORM حيث ما زالت web.py تعتمد على الاسلوب التقليدي في ادخال البيانات الى قاعدة البيانات صحيح انها اختصرت قسما كبيرا من تعقيدات SQL المعتادة الا انها لم تصل بعد لتكون ORM كتلك اللتي التي يستعملها Django التي تضعك في معزل (مفيد للغاية) عن اي عملية ادخال واخراج في قاعة البيانات.
يمكنك مراجعة الروابط التالية ان اردت :
بالنسبة للـ ORM فيمكنك اعتماد أي Model Layer تُريد!
يمكنك استخدام SQLAlchemy أو حتى Elexir المبني عليه، وهما بشهادة الكثيرين من أفضل وحدات النمذجة Modeling في بيثون.
بالنسبة إليّ فإني أقيس فعالية إطار الويب من خلال دعمه الفك والتركيب (بحيث لا أحتاج لتعلم وحدات خاصة به بينما أعلم وحدات أخرى تقوم بنفس العمل Modules) ومن خلال صياغة مستوى التحكم Control ومدى بساطته وقدرته على التأقلم مع مستوى العرض View.
كلام دقيق لكن امتلاك Django لـ orm مبني معه و يستخدمه بشكل طبيعي هو فرق بينه وبين web.py وهذا هدف السؤال.
حتى Django يمكنه التعامل مع ORM اخرى مثل SQLAlchemy و نتائج البحث مليئة باسئلة وطرق للقيام بهذا.
من وجهة نظر اخرى فإن الوافد الجديد الى عالم برمجة الويب سيضطر الى تعلم اطار الوب وثلة اخرى من الادوات و قد يرهقه هذا .
هي ليست جديدة مقارنة بتسارع تقنيات أطر العمل, تمّ إختبارها بشكل جدّي و بنجاح, أستخدمت لأوّل مرّة في بناء
.
إليك قائمة بعض المواقع التي تعتمد عليها
في الحقيقة إطار web.py أغجبني بشكل كبير لما فيه من بساطة في البرمجة , ولكن كما ذكرت قلت المصادر الخاصه به تجعله بعيد عن الأضواء نوعاً ما ,, أنا بطبيعتي احب التعلم من خلال الكود المصدري نفسه بالإضافة لمشاهدة توثيق اللغة ,, ولكن للأسف لم أجد ما هو كافي في توثيق web.py ولا حتى أكواد مناسبة للتعلم منها
مشكلة بايثون عدم الدعم الافتراضي من الخادمات و السيرفرات ، اقصد انها ربما تكون منصبة ولكن لا يسمح للمستخدم ان يصل اليها .
ولهذا لا اتوقع ان تجد التفاعل الكبير من الناس على عكس PHP . تبني المجتمع للاخيرة كان كبير لدرجة غير معقولة .
مع العلم .. بايثون سهلة للغاية في التعلم .
انا لا افقه فيها شيئا ، اضطررت ان اعدل بعض الملفات في برنامج على السيرفر ... تجربة ممتعة جدا. ولكن لا يمكن ان اقول ان الدعم على النت يتوازى ودعم ال PHP
في حال كنت قد اشتريت استضافة للـ php و على الاغلب ستكون shared hosting فمن الطبيعي و البدهي انك لن تستطيع استخدام برامج web مبنية على python فاستضافتك غير مبنية لهذا (الا اذا سمح لك مقدم الاستضافة بذلك, عليك ان تسال)
قضية الاستضافة ليس لها علاقة بتفاعل الناس معها فمجتمع python كبير وضخم (اقصد المجتمع العالمي) , و الدعم الخاص بها حقيقة مهول جدا و ليس ضعيفا او اقل من غيرها
صحيح ,, بنسبة حاولت ربط بين nginx و python و php وفي كل مرة افشل. وطريقة ادارة python من تشغيل السيرفر وانشاء بيئة افتراضية الخ اجدها معقدة لماذا لا يوجد شئ جهاز للبدا بالبرمجة. :)
حاليا استخدم ngnix و php فقط.
Nginx في العادة يكون افضل ما يكون مع وضع الوساطة يمكن ايضا دمج module معه (passenger مثلا) ليقوم بتشغيل Python بنفسه لا انصحك بالقيام بهذا لان مشاكله كثيرة وغير محبب ظهورها اثناء التشغيل الرسمي.
لهذا قم بتشغيل django باستخدام fastcgi و هذه هية الطريقة :
"اثناء التطوير على حاسبك لايلزمك استخدام Nginx وعليه يمكنك تجاوز الرابط الاخير"
طبعا يوجد cgi قادرة على تشغيل python و php معا او يمكنك استخدام واحدة خاصة بكل لغة (هذا الخيار افضل) جرب php-fpm مع Nginx
قمت بتجربة web.py مع apache وربطته من خلال :
FastCgi :
ووجدت أدائه جميل , سوف أقوم بتجربته مع Nginx في أقرب وقت :)
بالنسبة للاستضافات؛ فالاستضافات المشتركة في معظم الشركات تُقدّم دعمًا لبيثون ٢.٦ بأريحيّة! :)
لكن لكي تقوم بتثبيت وحدات بيثون عليك باستعمال أوامر خاصة ومختلفة عن ما تستعمله على حاسب تملك الوصول إلى ملفات النظام الخاصة به (مستخدم الروت كما نسميه في اللينُكس) .. وأيضًا تختلف طريقة "بثّ" تطبيق الويب Deployment للناس باختلاف Handler الخاص بالأباتشي في غالب الشركات المستضافة لكن FastCGI هو الأكثر شيوعًا!
بيثون -برأيِي- وكلغة متنوّعة الأغراض (وليست خاصة بتطبيقات الويب كـ PHP) تقدّم أدوات قويّة وطريقة برمجة متميّزة.
يكفي أن أقول أنّ Google Apps تستخدم هذا الإطار في أمثلة وثائقها ولم تستخدم جانغو وهو الأشهر :)
Web.py إطار ويب بسيط ورائع للغاية، وهو لمُحبّي البساطة كنزٌ لا يفني .. لم تُهيّأ لي الفرصة لكتابة تطبيقاتٍ به، لكن إحساس البساطة وحده يجعلني أتمسّك مثلًا بإطار مثل "عُكَّاشة" (وهو أبسط كثيرًا بواقع الحال) في بناء تطبيقاتي!
التعليقات