Django की लोकप्रियता का इतिहास [बंद]


84

घटनाओं के किस क्रम ने Django को सबसे लोकप्रिय पायथन वेब फ्रेमवर्क बनाया .. और अभी भी ऐसा है? हालांकि कई अन्य ढांचे भी मौजूद हैं।

नोट : यह सवाल न तो तर्कपूर्ण है और न ही टकराव का । मैंने केवल "घटनाओं के अनुक्रम" के लिए (उद्देश्य) पूछा है जो इसकी वास्तविक लोकप्रियता का कारण बनता है। सॉफ्टवेयर स्वीकृति की गतिशीलता के बारे में पता होने के नाते , मैं तकनीकी श्रेष्ठता के बारे में बहस करने के लिए किसी का इरादा नहीं कर रहा हूं।


14
Django सबसे लोकप्रिय पायथन वेब फ्रेमवर्क है, यह एक व्यक्तिपरक राय है। "घटनाओं के अनुक्रम" का अर्थ है डिजाइन के फैसले, समय, विपणन और इसके आगे की लोकप्रियता। इसके बारे में क्या बकवास है?
श्रीधर रत्नाकुमार

2
यह वास्तव में एक अच्छा सवाल है।
जोशुआ अंशयोगी

मैं यह जानने के लिए दिलचस्पी के साथ देखूंगा कि क्या ये डिजाइन निर्णय, समय, विपणन आदि, पर्याप्त सटीकता और समयबद्धता के साथ "इतिहास" माना जाता है।
जॉन सॉन्डर्स

मैं इस प्रश्न के समापन से असहमत हूं, लेकिन यह सीएस पर बेहतर हो सकता है ।
काइल स्ट्रैंड

जवाबों:


107

मुझे लगता है कि कुछ कारक थे, जिनमें से संयोजन उनके व्यक्तिगत वजन के योग से अधिक था।

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

एक अन्य कारक यह है कि Django है और हमेशा एक एकल-पैकेज स्थापित किया गया है (ठीक है, काफी नहीं: आपको अभी भी एक डेटाबेस एडाप्टर की आवश्यकता है, जब तक कि आप Python 2.5+ पर न हों और SQLite का उपयोग कर रहे हैं, लेकिन पर्याप्त बंद है)। गैर-ज़ोप विकल्प, जो सभी ने डेवलपर के हाथों में घटक विकल्पों को छोड़ने पर ध्यान केंद्रित किया, बस उस बिंदु पर पहुंचने के लिए बहुत अधिक काम की आवश्यकता थी जहां आप एक बुनियादी ट्यूटोरियल कर सकते थे: आपको ORM नीचे शिकार करने की आवश्यकता होगी, ए टेम्पलेट भाषा, आदि, और उन सभी को स्थापित और कॉन्फ़िगर करें। हालांकि यह वर्षों में बहुत बेहतर हो गया है, मुझे लगता है कि उस की सुस्त स्मृति अभी भी एक प्रभाव है।

और Django दस्तावेज के साथ गेट से बाहर आया (अगर मैं खुद कह सकता हूं) ओपन-सोर्स प्रोजेक्ट्स के लिए सामान्य मानक से बहुत ऊपर था, और केवल समय के साथ बेहतर हो गया है। ट्यूटोरियल, इसके सभी कई दोषों के लिए, कई उच्च बिंदुओं पर हिट करता है जो Django को उपयोगी बनाते हैं, और शेष दस्तावेज़ हमेशा अच्छी गुणवत्ता के रहे हैं, दोनों एपीआई संदर्भ और महत्वपूर्ण "कैसे बिट्स" की आवश्यकता के रूप में मिलाते हैं। यह एक अच्छा आउट-ऑफ-द-बॉक्स अनुभव पैदा करता है और पोस्ट-ट्यूटोरियल लर्निंग कर्व (कुछ ऐसा है जो हमेशा ज़ोप से ग्रस्त है) के साथ मदद करता है।

मुझे भी लगता है कि एक धारणा है - सही या गलत तरीके से - कि, कहते हैं, पाइलन्स या वर्कर्ज़ुग वास्तव में अनुभवी डेवलपर्स के लिए बेहतर हैं जो पहले से ही डब्ल्यूएसजीआई और पायथन वेब पारिस्थितिकी तंत्र के आसपास अपना रास्ता जानते हैं; तथ्य यह है कि वे आपके मौजूदा पसंदीदा पुस्तकालयों को लेने के लिए मजबूत विकल्प हैं और उन्हें एक साथ प्लग करना इस का स्रोत है, मुझे लगता है, और शायद कुछ नए लोगों को Django के एकीकृत दृष्टिकोण की ओर इशारा करता है। फ्लिप पक्ष, ज़ाहिर है, बहुत से लोग जो Django की कोशिश करने से पहले अधिक अप-फ्रंट सीखने से बेहतर होगा;)

अंत में, मुझे लगता है कि जिस तरह से Django के विपणन के लिए कुछ कहा जाना था, जो यह कहना है कि यह वास्तव में लंबे समय तक विपणन नहीं किया गया था , या कम से कम इस अर्थ में नहीं था कि, रेल का विपणन किया गया था। Django 1.0 के उतरने तक, "मार्केटिंग" प्रयास में ज्यादातर लोग ब्लॉगिंग से जुड़े थे (और कुछ उल्लेखनीय घटनाएं थीं जहां लोगों को इसे थोड़ा नीचे करने के लिए कहा गया था), PyCon पर बातचीत और फिर ज्यादातर फ्रेमवर्क में सुधार करना, इसके साथ शांत चीजों का निर्माण करना। और परिणाम खुद के लिए बोलते हैं। अब, निश्चित रूप से, 1.0 के बाद की दुनिया में हमारे पास DSF और DjangoCon और व्यवसाय उन्मुख सलाहकार हैं जो प्रशिक्षण सत्र और बहुत सारी किताबें और बाकी सभी करते हैं, लेकिन यह सब अभी भी काफी नया है।

मुझे उम्मीद है कि वहाँ एक बैकलैश होगा, जैसे रेल के साथ है, और वास्तव में मुझे लगता है कि यह थोड़ी देर के लिए चल रहा है और पहले से ही शुरू हो गया है। लेकिन अब तक मुझे लगता है कि जिन कारकों को मैंने यहां सूचीबद्ध किया है, वे कम से कम प्रमुख हैं, जो कि लोकप्रियता में लगातार बढ़ रही है, Django ने अपनी प्रारंभिक रिलीज के बाद से देखा है।


31
मामूली होने की आवश्यकता नहीं है: Django के प्रलेखन की गुणवत्ता और मात्रा इसके लिए एक बड़ा धन है। अच्छा किया, सब।
नेड डिली

1
"जब तक Django 1.0 उतरा," विपणन "प्रयास में ज्यादातर लोग शामिल थे ब्लॉगिंग ..." क्या आप 1.0 से पहले प्रकाशित दो पुस्तकों (यानी, लंबे समय तक कामों में) को भूल रहे हैं , उनमें से एक आपकी है? यह मेरे लिए कुछ भारी विपणन की तरह लगता है।
क्रिस्टियन

9
दो पुस्तकें "भारी विपणन" नहीं करती हैं, कम से कम मेरे लिए। और, ईमानदार होने के लिए, मैं 1.0 से बाहर होने तक मेरा चयन करना पसंद करता था, अगर केवल इसलिए कि यह मेरे जीवन को काफी सरल बना देता।
जेम्स बेनेट

4
आपको शायद Django के साथ अपनी भागीदारी का उल्लेख करना चाहिए, क्योंकि यह SO पर उतना प्रसिद्ध नहीं है, जितना आपका ब्लॉग। मुझे लगता है कि आपको इसके बारे में कुछ लिखना याद है, हालाँकि मुझे लिंक atm नहीं मिल रहा है।
Xiong Chiamiov

7
मेरे नाम पर क्लिक करना और यह देखना आसान है कि मैं कौन हूं।
जेम्स बेनेट

112

2005 में जब Django के सामने आने पर कई पायथन वेब फ्रेमवर्क पहले से मौजूद थे - वास्तव में, मजाक पहले से ही चारों ओर चल रहा था, तब तक, पायथन "कीवर्ड की तुलना में अधिक वेब फ्रेमवर्क वाली भाषा" है (और गुइडो ने Py3k द्वारा इसे ठीक करने के मेरे प्रस्ताव को खारिज कर दिया। कई, कई और कीवर्ड्स जोड़ते हुए)। अब "django" प्रति se एक खोज शब्द के रूप में थोड़ा अस्पष्ट है (यह एक लोकप्रिय गिटार खिलाड़ी का नाम भी है, जिसके जीवन ने वुडी एलेन फिल्म आदि को प्रेरित किया), फिर भी उन अन्य अर्थों को हटाने के लिए खोज में "अजगर" को जोड़ा गया। आप इस ग्राफ में उदाहरण देख सकते हैंएक और क्लासिक पायथन वेब फ्रेमवर्क, ज़ोप की तुलना में इसकी सापेक्ष लोकप्रियता कैसे बदल गई। तिमाही में ज्यादातर स्थिर वृद्धि तिमाही, क्यू 2 2008 की शुरुआत में एक बड़ी आश्चर्यजनक छलांग के साथ ... जो सिर्फ उस तारीख के साथ मेल खाती है जिसमें Google ने ऐप इंजन की घोषणा की थी (ऐसे मामले में कार्य सिद्ध करना असंभव है, लेकिन संयोग है कम से कम दिलचस्प ;-)

ऐप इंजन अनिवार्य रूप से किसी भी पायथन वेब ढांचे को नियमबद्ध करता है जो गहराई से कस्टम सी-कोडेड घटकों पर निर्भर करता है, या आंतरिक रूप से "भारी रिलेशनल" कार्यक्षमता की आवश्यकता होती है; उन लोगों में से जो केवल शुद्ध पायथन कोड के साथ अच्छी तरह से चलते हैं, Django शायद एक है जो ऐप इंजन सबसे सीधे और नेत्रहीन समर्थन करता है। हालांकि, यह सिर्फ एक बढ़ावा था, जोजंगो के अंतर्निहित स्वस्थ विकास की प्रवृत्ति को जोड़ता है। उस प्रवृत्ति के लिए स्पष्टीकरण (और वास्तव में App इंजन टीम और उपयोगकर्ताओं के निर्णय के लिए Django का समर्थन करने के लिए इतनी अच्छी तरह से) की विशेषताओं में झूठ होना चाहिए जो Django के लिए आंतरिक हैं।

कभी-कभी Pylons, TurboGears, Werkzeug, और c जैसे विकल्पों की तुलना में Django की आलोचना की जाती है (आपके द्वारा ... तुम्हारा सच में ;-) "बहुत जादुई" या "बहुत अखंड" होने के लिए), जो हल्के-वजन वाले हैं (बाद वाले)। , मेरा पसंदीदा ;-), अधिक पारदर्शी, और विशिष्ट घटकों (ओआरएम, टेम्प्लेटिंग, और सी) के अंदर और बाहर आसान स्वैपिंग की अनुमति देता है। हालांकि, Django की लोकप्रियता हमें बताती है कि, सर्वर-साइड वेब साइटों और ऐप्स को विकसित करने में रुचि रखने वाले अधिकांश लोगों के लिए, इन Django डिज़ाइन विकल्पों को सकारात्मक रूप से माना जाता है: Django के एक बहुत समृद्ध और अच्छी तरह से एकीकृत फ्रेमवर्क के रूप में देखा गया है (और इसमें बहुत कुछ है- ऑन और योगदान "प्लगइन्स", लेकिन उन लोगों के परिणामस्वरूप इसकी चढ़ाई के कारण अधिक हैं)।

आरंभ करने में आसानी, स्वचालित "व्यवस्थापक पृष्ठ", और इस तरह - साथ ही इस तथ्य के साथ कि Django को वास्तव में समृद्ध और जटिल साइटें / एप्लिकेशन बनाने और बहुत कौशल और कुछ काम के साथ अजीबोगरीब या अद्वितीय आवश्यकताओं को समायोजित करने के लिए तुला जा सकता है - शायद "हत्यारा विशेषताएं" हैं। अपने सबसे अच्छे तरीके से वेर्केग का उपयोग करने के लिए, आपको HTTP और WSGI को समझने और अपने पसंदीदा स्टोरेज और टेम्प्लेटिंग को एकीकृत और एकीकृत करने की आवश्यकता है - पायथन-आधारित वेब साइटों और ऐप्स के डेवलपर्स (जैसे, एक अर्थ में, रेल के उपयोगकर्ता, या उपयोगकर्ता) और भी अधिक लोकप्रिय PHP! -) "अपने माइंडशेयर के साथ मतदान कर रहे हैं" एक ऐसे वातावरण के लिए जिसमें उन्हें आवश्यक रूप से कोई भी करने की आवश्यकता नहीं है, लेकिन ज्यादातर अपने आवेदन डोमेन पर ध्यान केंद्रित कर सकते हैं। मुझे यह स्वीकार करना होगा कि उनके पास शायद एक बिंदु है ;-)।


3
मुझे लगता है, Django की लोकप्रियता को देखते हुए, इसके साथ कुछ परिचित आप अच्छी तरह से सेवा करेंगे; जब वे किसी ऐप या साइट को बेहतर तरीके से सूट करते हैं, तो रिपॉज.बीएफजी, वेर्केग, आदि का उपयोग करने से भी पीछे नहीं हटते। आप उनमें से प्रत्येक में खरोंच से एक अर्ध-खिलौना परियोजना बना सकते हैं, अगर आपके पास कुछ समय है, और इस तरह से ताकत और कमजोरियों के लिए एक गहरी प्रशंसा प्राप्त होती है जो उन्हें कम या ज्यादा उपयुक्त बनाती है, जो इस बात पर निर्भर करता है कि परियोजना को क्या करना है (मुझे स्वीकार करना होगा मेरे पास रेपोज़.बीएफजी ...) के साथ कोई वास्तविक दुनिया का पहला अनुभव नहीं है।
एलेक्स मार्टेली

1
@Triptych, स्पष्ट रूप से नहीं एकमात्र कारण है, क्योंकि कुछ अन्य चौखटे ( नहीं किसी भी ढांचे हालांकि: लगता है Zope, उदाहरण के लिए -) बस के रूप में लागू हो सकता है। मुझे लगता है कि एप्स / साइट डेवलपर्स के बारे में धन, एकीकृत और कुछ हद तक "जादुई" फ्रेमवर्क के बारे में मेरे कयासों ने निर्णय लिया है कि किसी भी उपयोगकर्ता के अपलोड की आवश्यकता के बिना इसे स्वचालित रूप से उपलब्ध कराने के लिए प्राथमिक समर्थन क्या होगा।
एलेक्स मार्टेली

1
@ क्लेटस, जावा में 50 कीवर्ड प्रति java.sun.com/docs/books/tutorial/java/nutsandbolts/… हैं , पायथन 2.6 में 31 प्रति हैं len(keyword.kwlist)- जैसे, टाइप्टन में पायथन में कीवर्ड नहीं हैं, आदि
एलेक्स मार्टेली

34
मुझे लगता है कि आप एक महत्वपूर्ण बिंदु याद करते हैं। Django का प्रलेखन किसी भी पायथन फ्रेमवर्क से बेहतर था (साथ ही रेल डाक्यूमेंट्स, IMO से बेहतर)
agiliq

6
@ एलेक्स, मुझे संदेह है कि वास्तव में किसी ने भी डॉक्स को समाप्त करना शुरू कर दिया है, लेकिन ज्यादातर लोगों को जब समस्या होती है, तो वे एक Google खोज को हिट करते हैं। ब्लॉग पोस्ट के माध्यम से 1 घंटे के बजाय अच्छे दिखने वाले डॉक्स का उपयोग करके 5 मिनट में जवाब खोजने में सक्षम होना एक बड़ा प्लस है (यह StackOveflow तक था, कम से कम, जो गूंगे सवालों को बहुत आसान बना देता है;)
एडन मौर

22

मैं Django की लोकप्रियता के तीन कारणों के बारे में सोच सकता हूं, जिनमें से केवल एक को अन्य उत्तरों में संबोधित किया गया है जहां तक ​​मैं देखता हूं:

  1. प्रलेखन। यह अच्छी तरह से संरचित, व्यापक, और कई कौशल स्तरों से स्वीकार्य है।

  2. डिज़ाइन। अधिकांश ओपन सोर्स प्रोजेक्ट के साथ देखे गए डिज़ाइन के स्तर से एडमिन, एरर पेज और प्रोजेक्ट साइट का विज़ुअल डिज़ाइन बहुत ऊपर है।

  3. सामुदायिक समर्थन। वर्ल्ड ऑनलाइन में टीम के साथ शुरुआत करते हुए, Django ने कुछ प्रभावशाली प्रचारकों को जल्दी उठाया। मुझे यकीन नहीं है कि आप गैर-डेवलपर्स के लिए जेफ क्रॉफ्ट की Django जैसी ब्लॉग पोस्ट के महत्व को बता सकते हैं (मुझे लगता है कि यह शीर्षक था)।


13

"मेरा व्यक्तिगत पसंदीदा, और मुझे उम्मीद है कि यह लंबे समय तक एक व्यक्तिगत पसंदीदा बना रहेगा, जिसे कुछ Django नाम दिया गया है" - Guido Van Rossum on FLOSS साप्ताहिक एपिसोड 11, 4 अगस्त 2006 को प्रसारित किया गया।

[यहां क्लिक करें] (साक्षात्कार के अंतिम तीसरे को सुनें)

सोचिये इससे मदद मिली होगी? या कम से कम यही कारण है कि Google ने इसे AppEngine के लिए क्यों चुना?

बेशक, django समुदाय (देवों सहित) सही चीजों का एक बहुत कुछ कर रहे हैं। उदाहरण के लिए (लिंक में कुछ विश्लेषण):

प्रतिरूपकता में सुधार: [यहाँ क्लिक करें]

किक गधा प्रलेखन यहाँ क्लिक करें

उस समुदाय के बारे में भी कुछ है जो लोगों को योगदान देना चाहता है जिसे मैंने अपनी उंगली डालनी है: यहाँ क्लिक करें

बेशक, जो सभी Django के लिए एक बाहरी होने का नेतृत्व करते हैं: यहां क्लिक करें

Django की लोकप्रियता के बारे में कोई सवाल नहीं है।


1
मुझे लगता है कि यह उत्तर दूसरों को थोड़ा सा प्रदान करता है। उस टिप्पणी के कारण बहुत से लोग Django में अंधे हो गए।
जॉर्ज वर्गास

कुछ भी गलत नहीं है जब आँख बंद करके ऐसा करने पर गुइडो इसका वर्णन करता है। मैंने किया, और तब से कभी पीछे मुड़कर नहीं देखा।
ऊपर।

3

मेरे मामले में, मैंने टर्बोगियर्स पुस्तक खरीदी, और चीजों को समझाने के लिए अपनी विसंगतियों और बेतरतीब मार्ग के माध्यम से संघर्ष किया। फिर मुझे Django किताब मिली, और वोइला! पुस्तक में नमूना परियोजना के माध्यम से अपने तरीके से काम करते हुए मेरा पहला वेतन भुगतान परियोजना बनाई गई थी। इसके अलावा ऑनलाइन दस्तावेज ने इस सौदे को सील कर दिया। मेरे लिए, यह सरल था: प्रलेखन, प्रलेखन, प्रलेखन।


2

मैंने देखा कि अक्सर इसे पायथन में रूबी ऑन रूल्स के रूप में प्रचारित किया जाता है। इसका Google (Google होस्ट Django घटनाओं से भी संबंध है, और अपने ऐप इंजन में इसका समर्थन करता है)। Google द्वारा एंडोर्स किए जा रहे वेब फ्रेमवर्क में किसी चीज़ के लिए राशि होती है। :)


2
ज़रूर, लेकिन GAE इस प्रक्रिया में बहुत बाद में आया। और Django पहले से ही लोकप्रिय था।
श्रीधर रत्नाकुमार

1
@ श्रीधर, हाँ - मैंने अपने उत्तर में दोनों बिंदु बनाए: जीएई ने Django को इसकी घोषणा की तारीख पर एक बड़ा उछाल दिया ... लेकिन यह एक स्थिर विकास प्रवृत्ति के शीर्ष पर था।
एलेक्स मार्टेली

2

कम से कम मेरे लिए, एक महत्वपूर्ण कारक यह था कि साइमन विलीसन और एड्रियन होलोवेटी पहले से ही "वेब स्टैंडर्ड" दृश्य के साथ-साथ जेफ क्रॉफ्ट के बाद में प्रसिद्ध खिलाड़ी थे।

यह न केवल एक गुणवत्ता सील था, बल्कि HTTP, मार्कअप और यहां तक ​​कि त्वरित और गंदे, "प्रिंट डिबगिंग" काम करने के तरीके के साथ Django को बहुत ही वेब-फ्रेंडली बनाया गया था, जो कि PHP से आने वाले लोगों के काम आता था।

मैं यहाँ भारी गलत हो सकता हूँ, इसे वापस करने के लिए कोई डेटा नहीं है, लेकिन मुझे लगता है कि Django ने PHP से आने वाले लोगों से बहुत अधिक कर्षण प्राप्त किया है, जैसा कि उन रेल्स के विपरीत है जिन्हें जावा / .NET से बहुत सारे रूपांतरण मिले।

जैसा कि अन्य ने पहले ही उल्लेख किया है, प्रलेखन औसत से ऊपर है। सबसे अच्छा मैंने देखा है, जहाँ तक मुझे याद है।


0

तथ्य यह है कि पहले से ही Django (यानी lawrence.com आदि ...) का उपयोग करते हुए कई उच्च वॉल्यूम साइटें थीं - यहां तक ​​कि 0.96 दिनों तक - मुझे समझाने में मदद मिली कि यह प्रबंधन सुरक्षित था। पाइलन्स और टर्बोगियर्स जैसी चीजें वास्तव में वैसी नहीं थीं।


1
सौभाग्य से वे दिन खत्म हो गए हैं, अब उस तोरण के अब reddit.com और sourceforge (टर्बोगियर्स के माध्यम से) हैं।
zzzeek

Pylons ने अभी तक 1.0 नहीं मारा है, हालांकि, जो मुझे लगता है (चेक नहीं किया गया है) का अर्थ है कि उनके पास Django के एपीआई स्थिरता वादों का अभाव है।
22ion में Xiong Chiamiov

-1

समय के साथ Django की लोकप्रियता के लिए (आपके प्रश्न शीर्षक का शाब्दिक अर्थ, यदि आपका वास्तविक प्रश्न नहीं है), तो Google प्रवृत्ति पर एक नज़र डालें ।


1
यह प्रवृत्ति लिंक गलत है। जैसा कि @Alex Martelli द्वारा बताया गया है, आपको गिटारवादक को बाहर निकालने की आवश्यकता है।
जॉर्ज वर्गास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.