سؤال

ما هي ميزات تحطيم (التورية) ل Grok التي تجعلها أفضل من Django؟ كيف أعرف متى يحتاج مشروعي إلى Grok + Zope، أو يمكن تطويره فقط مع Django؟

هل كانت مفيدة؟

المحلول

كان Zope هو أول إطار لنشر الكائنات إيفا، ومجتمع Zope لديه خبرة طويلة مع فعل الأشياء بالطريقة الصحيحة. كانت Zope 2 المحاولة الأولى، كانت Zope 3 هي المحاولة التالية، ونحن الآن في الجيل الثالث من أطر الويب، والتي تضم Grok و BFG و BOBO.

GROK ضخمة، ولديها المزيد من الوحدات النمطية المتوفرة لا تأتي عند تثبيت القاعدة (وهو في عملية تقليل عدد الوحدات النمطية المطلوبة أيضا، لذلك تصبح البصمة أصغر). BFG و BOBO تذهب في الاتجاه الآخر، وهي أطر ضيقة ولكن مع سهولة الوصول إلى مجموعة أدوات Zope وجميع وظائف Zope.

وعلى الرغم من أن Django يجعل العديد من الأخطاء نفسها Zop2 فعلت، إلا أنها تحددها بشكل أسرع بكثير، لذلك أتوقع تماما الكثير من هذه المناقشة لتكون بعيدة السنوات لمدة خمس سنوات، لأنني أتوقع كل إطار WEB PYTHON للاستخدام WSGI + Webob + Repoze + الخلاص + بناء كقاعدة بحلول ذلك الوقت. ولكن حتى بعد ذلك، سأذهب للأطر حيث يمكنني استخدام بنية مكون Zope ZOPE و ZODB، لكن ذلك لا يشمل فقط تلك التي أدلى بها مجتمع Zope، ولكن أيضا على سبيل المثال TurboGears. وربما ستشمل Django أيضا بحلول ذلك الوقت، الذي يعرف ... :-)

اعتمادا على متطلبات المشروع التي أذهب إليها اليوم مع إما Plone (إذا احتاجوا إلى CMS) أو Grok أو BFG (حسب المطورين المعنيين وتعقيد المهمة والميزانية). هذا بالطبع يعتمد جزئيا على تجربتي الكبيرة مع تقنيات Zope وتجربتي الصغيرة مع Django، ولكن في الغالب لأنني أستطيع استخدام ZTK و ZODB في Grok و BFG.

YMMV، إلخ، بلوحة.

نصائح أخرى

GROK هي في الأساس كل قوة Zope بطريقة أسهل استخدام الحزمة. حتى تحصل على كل ترف قاعدة بيانات كائن بيثون حقيقية (على الرغم من أنه يمكنك استخدام SQL Backend). وأنا أفترض أنك تعرف عن المحولات / المرافق / آراء ما يسمى بنية مكون Zope ". تلك تسمح لك بتقديم طلب قوي. مفيد بشكل خاص إذا كنت بحاجة لاحقا إلى تخصيصها بشكل انتقائي. والأمن تقليديا ZABE (وبالتالي Grok) نقطة قوية. يتم التعامل مع التنمية والنشر بالكامل مع البيض (وبحثها): في تجربتي هي وسيلة قوية وموثوقة ومتكررة ومريحة.

إذا كان لديك تطبيق يمكن أن يعمل مع جداول SQL مستقيمة دون الحاجة إلى تخصيص انتقائي كبير بعد ذلك: لا حرج في Django. عليك أن تفعل الكثير من الأمن نفسك، بحيث يحتاج إلى عين حريصة. يوجد أقل بكثير من إطار عمله (خموس ومؤشر URL)، لذلك سيشعر بيثون أكثر "نقية وبسيطة". هذا يعني أيضا أنك بحاجة إلى القيام بأكثر نفسك.

لا يوجد شيء من إيقافه من استخدام أجزاء من Grok بشكل انتقائي: http://pypi.python.org/pypi/grokcore.component. على سبيل المثال هو جوهر كبير جدا. معزولة بشكل جيد للغاية، حتى تتمكن من استخدامها دون شراء في كومة ZAPE بأكملها. أنا متأكد من أنه يمكنك استخدام ذلك في Django. مكون Grokcore / Zope هو مجرد رمز بيثون. هذا يحصل لك المحولات / الواجهات / المرافق. أنا لا أعرف ما كنت تبني، لذلك سيكون عليك التجربة.

شيء واحد لصالح الجذاب ل Grok التي أقترح أن أحاول جربها: قاعدة بيانات كائن ZOPE ZOPE. orm جيد (و Django's OK OK) يساعد كثيرا في تناول الألم من قواعد بيانات SQL، ولكن قاعدة بيانات كائن حقيقية هي مجرد ترف عادي :-)

لا أعتقد أن أي من الأطر يهدف إلى الحصول على أي "ميزات" تجعل "أفضل" من الآخر، أو "اللازمة" في بعض الظروف. بدلا من ذلك، فإن الفرق بين Django و Grok - أو الصلب، أو TurboGears - هو حقا أحد النهج. قد تجد نهج Grok حسب رغبتك، أو قد تفضل أحد الآخرين. أشك في أنه يمكنك تحقيق الكثير في أحدهم لا يمكنك في أي من الآخرين.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top