एक शुरुआत डेवलपर के लिए Django बनाम web2py [बंद]


83

इन दो रूपरेखाओं में से कौन सा 11 महीने के अनुभव के साथ एक डेवलपर के लिए बेहतर है। मैंने अपने सर्वर साइड कोडिंग के लिए अजगर सीखने का फैसला किया है और जानना चाहता हूं कि इनमें से कौन मेरे कौशल स्तर पर किसी के लिए बेहतर होगा। मैंने अभी कुछ दिन बिताए हैं वेब 2 खस के साथ खेलना और वास्तव में यह पसंद है और मुझे आश्चर्य है कि क्या Django कुछ और प्रदान करता है जो मुझे याद आ रही है?

पुनश्च। अद्यतन: तीन django पुस्तकों को खरीदने और django और web2py दोनों के लिए कुछ छोटी परियोजनाओं / ट्यूटोरियल से गुजरने के बाद, अद्भुत इनपुट के लिए आप सभी का धन्यवाद, मैंने web2py पर बसाया है। यह एक अद्भुत ढांचा है, जो वेब विकास को एक नए व्यक्ति के लिए वास्तव में मजेदार बनाता है। मैं इस ढांचे को सीखने के लिए सभी न्यूबॉकों की सिफारिश करूंगा क्योंकि यह भविष्य में मुख्य धारा होगी। Django भी एक अद्भुत रूपरेखा है, लेकिन web2py मेरे सीमित अनुभव राय में बेहतर है।


इसे देखें अगर यह mengu.net/post/django-vs-web2py
शिव दीपक

1
"Web2py आपको अपने एप्लिकेशन को विकसित करने पर ध्यान केंद्रित करने देता है, Django नहीं। यह चाहता है कि आप इसका सारा सामान कर लें।" हाँ, एक बहुत ही निष्पक्ष तुलना की तरह लगता है
user240515

अपने कथन का समर्थन करने के लिए कोई विकल्प न चुनें। लेख इतना बुरा नहीं है।
एशले

मुझे लगता है कि मुझे वेब 2
कॉलिन कीनन

1
'अगर आपने कभी Django का उपयोग किया है ... पूरी बात विरासत पर आधारित है। जब उन्होंने [CBVs] की शुरुआत की तो यह इतना जटिल हो गया कि किसी को यह साइट सिर्फ विरासत के पेड़ की खोज करने के लिए बनानी थी : ccbv.co.uk '- news.ycombinator.com/item?id=7994281 बनाम' एक और चोर है, क्योंकि मॉडल और नियंत्रक वर्ग-आधारित नहीं हैं, कुशल कोड का उपयोग अधिक कठिन हो जाता है, विशेष रूप से एक मूल नियंत्रक से विरासत में असमर्थता के रूप में ... इसका मतलब है कि सभी नियंत्रक फ़ाइलों में सामान्य नियंत्रक कार्यक्षमता को बार-बार संदर्भित किया जाना चाहिए। ' - en.wikipedia.org/wiki/Web2py
mistermarko

जवाबों:


107

(अस्वीकरण: मैं web2py के लिए परियोजना का नेता हूं)

Django को web2py की तुलना में लगभग 5 साल का समय हो गया है, इसलिए इसके उपयोगकर्ताओं और अधिक अनुप्रयोगों को दिखाने के लिए है। Django के पास वे "व्यवस्थापक" हैं, जो web2py के "व्यवस्थापक" के समान नहीं हैं, लेकिन अधिक वेब 2py के "appadmin" की तरह हैं। Django का "व्यवस्थापक" web2py के "appadmin" की तुलना में बेहतर और अधिक अनुकूलन योग्य है। Django के पास web2py के "व्यवस्थापक" के बराबर नहीं है। (नाम भ्रम के लिए खेद है)।

web2py अधिक कॉम्पैक्ट है और बॉक्स के बाहर अधिक कार्यक्षमता है (अधिक समर्थित डेटाबेस, वेब आधारित आईडीई, टिकटिंग सिस्टम, बिना पैच के जीएई पर चलता है, कई लॉगिन तरीके, भूमिका आधारित अभिगम नियंत्रण, वेब आधारित अनुवाद इंटरफ़ेस, कई डेटाबेस कनेक्शन के लिए समर्थन, आदि) वितरित लेनदेन, और अधिक)।

मेरे लिए web2py की सबसे महत्वपूर्ण कार्यक्षमता स्वचालित माइग्रेशन है। Django उन्हें बॉक्स से बाहर प्रदान नहीं करता है।

Web2py लंबी अवधि के लिए पिछड़े संगतता सुरक्षा के साथ मिलकर एक प्राथमिक लक्ष्य है। Django सुरक्षा के मामले में web2py के बराबर है (सिवाय इसके कि web2py सीएसआरएफ की रोकथाम और डिफ़ॉल्ट टेम्पलेट से पहले भागने में था) लेकिन 1.0 रिलीज होने पर Django ने पिछड़े संगतता को तोड़ दिया। web2py अक्टूबर 2007 के बाद से कभी नहीं किया।

मेरे लिए web2py सिंटैक्स अधिक प्राकृतिक है:

 db(db.tablename.fieldname <= value).select() # web2py
 Tablename.objects.filter(fieldname__lt=value) # Django

मुझे Web2py की किसी भी कार्यक्षमता की जानकारी नहीं है जो कि Django में मौजूद नहीं है। मैंने वह प्रश्न कई बार पूछा है, क्योंकि अगर वहाँ है, तो हम इसे web2py में जोड़ना चाहते हैं, लेकिन मुझे अभी तक संतोषजनक उत्तर नहीं मिला है।

बेशक ऐसी चीजें हैं जो हम दोनों करते हैं लेकिन अलग तरह से। Django इस प्रकार है "स्पष्ट रूप से निहित से बेहतर है"। web2py नहीं करता है और इसके बजाय "सब कुछ एक डिफ़ॉल्ट व्यवहार होना चाहिए"। मेरा मानना ​​है कि यह web2py कोड और कॉन्फ़िगरेशन को अधिक कॉम्पैक्ट बनाता है।

वैसे भी, आप जो भी चुनते हैं, वे दोनों अच्छे ठोस वेब फ्रेमवर्क हैं और मतभेदों की तुलना में कम समानताएं हैं। Django के डेवलपर्स बहुत स्मार्ट लोग हैं।

Web2py समुदाय बहुत अनुकूल है। प्रयोग के रूप में, web2py Google समूह और Django समूह पर एक प्रश्न पूछने का प्रयास करें।


1
धन्यवाद, यह कुछ अच्छा सामान है। मैं इसे परीक्षण करने के लिए एक Django ट्यूटोरियल के माध्यम से जा रहा हूं, web2py सिंटैक्स निश्चित रूप से अधिक प्राकृतिक है। उम्मीद है कि बाद में मेरे पास एक स्पष्ट तस्वीर होगी, लेकिन अभी तक दोनों रूपरेखा वास्तव में अच्छी हैं।
RubyGladiator

11
+1 (मैं सराहना करता हूं कि web2py आपको अपने विचारों में सीधे अजगर लिखने की अनुमति देता है)
डग

1
मेरे पास आपके द्वारा प्रदान किए गए web2py उदाहरण के बारे में एक प्रश्न है (" db(db.tablename.fieldname <= value).select()"), क्योंकि यह पायथन की तरह नहीं दिखता है (कोष्ठक के भीतर का हिस्सा मापदंडों में से किसी एक को मान नहीं दे रहा है, लेकिन केवल पासिंग True/ False)। क्या यह web2py के लिए मानक है या आपके द्वारा प्रदान किया गया कोड वास्तविक जीवन के web2py कोड का सिर्फ सरलीकृत संस्करण है? शायद कोष्ठकों में भाग को उद्धरणों के भीतर संलग्न किया जाना चाहिए? कृपया समझाएँ।
तादेक

Db (...) में सेलेक्ट करें () ... एक सही / गलत वैल्यू नहीं है। db.tablename.fieldname <= मूल्य एक अभिव्यक्ति है जो प्रत्येक रिकॉर्ड पर सही या गलत के रूप में मूल्यांकन करेगा। यह वास्तविक web2py कोड है। कोई उद्धरण नहीं।
मासिमो

4
web2py DAL केवल प्रश्नों को लिखने का एक तरीका प्रदान करता है। क्वेरीज़ को SQL में कनवर्ट किया जाता है और डेटाबेस में भेजा जाता है जो प्रतिक्रिया देता है। web2py डेटाबेस में कितने रिकॉर्ड से प्रभावित नहीं है और परवाह नहीं करता है। अगर मैं "db (db.tablename.fieldname <= value) .select ()) लिखता हूं तो दूसरे शब्दों में, सभी रिकॉर्ड्स को पुनः प्राप्त करने और उनमें से प्रत्येक पर स्थिति को विकसित करने के लिए नहीं है। अगर यह "SELECT * FAB TABLENAME WHERE FIELDNAME = '1'" के लिए डेटाबेस को क्वेरी करने जा रहा है।
मासिमो

23

Django और web2py दोनों समान विशेषताओं और क्षमताओं के साथ उत्कृष्ट 'पूर्ण स्टैक' वेब फ्रेमवर्क हैं - आप किसी भी फ्रेमवर्क के साथ शुरुआत करने वाले के रूप में ज्यादा 'गायब' नहीं होंगे।

आपके सीखने के साथ क्या करना है, इसके बारे में अधिक जानने के बिना आपके प्रश्न का उत्तर देना कठिन है। कुछ लोग कहेंगे कि रूपरेखा सीखने का खतरा है और भाषा का नहीं इसलिए यह सबसे अच्छा हो सकता है कि पहले पायथन भाषा और हल्के वजन की रूपरेखाओं (जैसे फ्लास्क या वीकेजग ) की गहरी समझ प्राप्त करें ।

कहा जा रहा है कि, वेब 2 खों में Django की तुलना में कम प्रारंभिक सीखने की अवस्था है क्योंकि इसे विशेष रूप से एक शिक्षण उपकरण के रूप में तैयार किया गया था । तो मैं कहूंगा कि आपने एक अच्छा विकल्प बनाया है। कोई भी सीख कभी भी बर्बाद नहीं होती है और यदि आपने तय कर लिया है कि आपको भविष्य में कुछ और की जरूरत है तो आपने जो अच्छी तकनीकें सीखी हैं, वे वेब 2 पी का उपयोग करके बेकार नहीं जाएँगी।

हालांकि, Django के लिए अधिक सीखने के संसाधन हैं, क्योंकि यह लंबे समय तक रहा है और अधिक उपयोगकर्ता हैं, web2py सीखना भी उत्कृष्ट पुस्तक और उपयोगकर्ता समूह पर प्रश्नों के लगभग त्वरित प्रतिक्रियाओं के कारण तेज है ।

यदि आप नौकरी पाने के लिए देख रहे हैं, तो अधिक Django नौकरियां हैं ताकि एक कारक हो सकता है। कहा जा रहा है कि, वेब 2 पी समुदाय ने हाल ही में विशेषज्ञों की संख्या 4 सेट की है, जहां आप भविष्य में अपने कौशल और उपलब्धता को बढ़ावा दे सकते हैं।

मज़े करो!


धन्यवाद निटैटॉम्स, मैंने वास्तव में माणिक सीखा है और मैं अजगर को पार कर रहा हूं और सीख रहा हूं, जो अब तक बहुत समान है। इस बारे में कि मैं एक रूपरेखा के साथ क्या करना चाहूंगा, यह निकट भविष्य में शुद्ध रूप से एक वेब स्टार्टअप का निर्माण करना होगा। मैं jquerymobile का उपयोग करके कुछ बनाना भी चाहूंगा क्योंकि मैं इसके साथ खेल रहा हूं।
RubyGladiator

2
सुनने में दिलचस्प है - मैं एक समान स्थिति में हूं और क्योंकि मैं खुद के लिए काम कर रहा हूं और इस प्रकार मैं अपना खुद का ढांचा चुन रहा हूं जो मैं web2py के साथ गया था और अब तक खुश हूं।
कुंजी

10

मैं Web2py और डीजेंगो दोनों के साथ एक पूर्ण नॉब हूं, लेकिन मुझे एक वेब फ्रेमवर्क चाहिए था जो कि एक साधारण डेटाबेस के लिए खेलने, सीखने और फ्रंट एंड बनाने के लिए पायथोनिक था। मैंने web2py को देखा, लेकिन किसी भी अच्छे ट्यूटोरियल को नहीं पा सका, जो कि पूरे newbies पर लक्षित है, जब मैंने web2py स्थापित किया, जो कि बहुत आसान था, मुझे नहीं पता था कि आगे क्या करना है, ऐसा कोई ट्यूटोरियल नहीं लग रहा था जिसने मुझे निर्देशित किया कैसे एक सरल वेब एप्लिकेशन बनाने के लिए, (न सिर्फ हैलो दुनिया)। दूसरी ओर डीजेंगो ने आपका पहला डीजेंगो ऐप पार्ट 1 लिखा था । यह वास्तव में अच्छा रहा है, एक नौसिखिया को एक सरल वेब ऐप लिखकर सेटअप करने और उपयोग करने के तरीके पर एक परिचय दिया गया है। जब तक Web2Py यह पेशकश नहीं करता, तब तक मेरा वोट डीजेंगो को जाता है।


मैंने Web2py को पायथन या डेटाबेस को न जानने से बिल्कुल भी नहीं सीखा: youtube.com/। कुछ ही समय बाद मैंने बड़े पैमाने पर उद्यम और Web2py के साथ उपयोगकर्ता आधार के लिए दो उत्पादन वेब सेवाओं का निर्माण किया। Google समूह समुदाय के लिए बहुत धन्यवाद!
प्रिविक्टिव

6

कई शब्दों में: (जैसा कि मैंने समझा)

Web2py निश्चित रूप से आसान है और कोड को सरल और क्लीनर बनाता है। लेकिन Django आपको व्हाट्सएप पर बेहतर समझ देता है, और डिज़ाइन / प्रक्रिया को संशोधित करने की अधिक शक्ति भी देता है।

Web2py में "सरल जटिल से बेहतर है" पर अधिक ध्यान दिया गया है, लेकिन Django का "स्पष्ट से बेहतर है" निहित पर अधिक ध्यान केंद्रित है। पाइथन के ज़ेन के दो भाग, इसलिए यह कहना बहुत कठिन है कि कौन सा ढाँचा अधिक पाइथोनिक है।


9
वास्तव में मुझे कभी-कभी Web2Py विपरीत, जटिल लगता है - जो " जटिल से जटिल है " के विपरीत है । पिछड़ी संगतता, डुप्लिकेट किए गए नाम, विभिन्न फाइलों के निहित निष्पादन, हर जगह लटकने वाले वैश्विक चर - इन सभी समस्याओं के परिणामस्वरूप पायथन फ्रेमवर्क है जो कि पायथन के दर्शन के खिलाफ है।
Tadeck
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.