2008-11-24 12 views
13

पृष्ठभूमिक्या जैयथन पर Django विकसित करने में समस्याएं हैं?

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

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

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

प्रश्न

Jython कई सीमाएं नियमित अजगर की तुलना में है करता है? Jython पर django चल रहा है समस्याओं का कारण बनता है? पाइथन के साथ अपडेट जारी करने के लिए ज्योथन टीम कितनी जल्दी है? क्या Django Jython पर विज्ञापन के रूप में काम करेगा (बहुत कम पूर्व विन्यास के साथ)?

निर्णय

उपयोगी टिप्पणी के लिए धन्यवाद। मुझे लगता है कि मैं जेवीथन में जेवीएम समर्थन के लिए विकसित करने जा रहा हूं - लेकिन केवल पायथन कोड/पुस्तकालयों का उपयोग करने की कोशिश करने के लिए। पोर्टेबिलिटी एक बड़ी चिंता नहीं है इसलिए यदि मुझे जेडीके में लाइब्रेरी की आवश्यकता है (पाइथन में आसानी से उपलब्ध नहीं है), तो मैं इसका इस्तेमाल करूंगा। जब तक Django पूरी तरह से समर्थित है, मैं खुश हूँ।

उत्तर

3

Django work on Jython करता है, हालांकि आपको ज्योथन की विकास रिलीज का उपयोग करने की आवश्यकता होगी, क्योंकि तकनीकी रूप से ज्योथन 2.5 अभी भी बीटा में है। हालांकि, Django 1.0 और ऊपर unmodified काम करना चाहिए।

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

पाइथन होस्टिंग, this page might be helpful खोजने के लिए।

+0

क्या पाइथन सी एक्सटेंशन मॉड्यूल लोड_library() का उपयोग कर जावा के भीतर लोड किया जा सकता है या क्या उन्हें पतला करने के लिए पतली रैपर को लिखा जाना चाहिए? –

+0

आपको लगभग हमेशा पतली आवरण की आवश्यकता होगी, हालांकि यह पुस्तकालय पर निर्भर करता है। –

0

Django को ज्योथन-संगत sinc संस्करण 1.0 होना चाहिए।

This tutorial थोड़ा पुराना है, लेकिन वहां से आप देख सकते हैं कि कोई विशेष समस्या नहीं है।

3

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

यह सच है कि बहुत कम सस्ते होस्टिंग Django प्रीइंस्टॉल की पेशकश करते हैं; लेकिन यह काफी संभावना है कि यह बदलेगा, यह देखते हुए कि यह Google के ऐप इंजन के लिए सबसे समान वातावरण है।(और अधिकांश जीएई परियोजनाओं को Django पर चलाने के लिए बनाया जा सकता है)

1

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

फिर, मैंने फैसला किया कि मैं प्लगइन लिखूंगा जो विभिन्न कार्यान्वयन पर पुस्तकालयों के साथ इंटरफेस करेगा (उदाहरण के लिए, विभिन्न जीयूआई पुस्तकालय)।

क्यों? मैंने तय किया कि मेरे कोड की दीर्घायु केवल न केवल साइथन बल्कि वर्चुअल मशीनों को लक्षित करने पर निर्भर हो सकती है। आज के उद्देश्यों के लिए गति के कारण सीपीथन जाने का रास्ता है, लेकिन कल के बारे में कौन जानता है। यदि आप कोड पर्याप्त लचीला है, तो आपको लक्ष्यीकरण पर निर्णय लेने की आवश्यकता नहीं हो सकती है।

इस दृष्टिकोण का नकारात्मक पक्ष यह है कि आपके पास बनाने और बनाए रखने के लिए और कोड होगा।

संबंधित मुद्दे