2009-05-02 10 views
6

क्या किसी के पास Google App Engine के साथ ज्योथन का उपयोग करके कोई प्रत्यक्ष अनुभव (अच्छा या बुरा) है?Google ऐप इंजन पर जैथन विकास

+0

24 जनवरी 2011 को जोड़ा गया बक्षीस।अगर किसी के पास ज्योथन पर नई जानकारी है, तो एपेंगिन, सोर्स कोड, ट्यूटोरियल इत्यादि पर उपयोग के उदाहरण कृपया – abel

उत्तर

4

स्पष्ट प्रश्न पूछने के लिए: आप क्यों चाहेंगे? (सी) पाइथन को Google App Engine द्वारा मूल रूप से समर्थित किया गया है, और अब तक काफी परिपक्व और बहुत अच्छी तरह से समर्थित है।

, मूल प्रश्न का उत्तर देने हालांकि: मैं व्यक्तिगत अनुभव की जरूरत नहीं है, लेकिन मैं आपको यह कैसा हो जाएगा का एक सामान्य अवलोकन दे सकते हैं:

सबसे आसान तरीका है वर्तमान में Jython के उपयोग करने के लिए किया जाएगा ऐप इंजन जावा एसडीके का उपयोग करने के लिए जावा में कॉल करने के लिए समर्थन। इसका मतलब यह है कि यद्यपि आप पाइथन लिखेंगे, यह जावा की तरह बहुत कुछ देखने जा रहा है, और आपको Python की बजाय जावा डॉक्स का उपयोग करना होगा।

हालांकि, सैद्धांतिक रूप से सैद्ध इंजन पर ज्योथन में पायथन एसडीके का उपयोग करना संभव है। एसडीके शुद्ध पायथन है, और एसडीके और रनटाइम के बीच सभी बातचीत आरपीसी के माध्यम से की जाती है हालांकि google.appengine.api.apiproxy_stub_map मॉड्यूल। जावा में com.google.apphosting.api.ApiProxy क्लास में समकक्ष इंटरफ़ेस है - इसे कॉन्फ़िगर करने के तरीके के बारे में कुछ विवरणों के लिए Unit Testing in GAE पर आलेख देखें।

  1. एक अजगर apiproxy_stub कि बस सभी API कॉल लेता है और उन्हें com.google.apphosting.api.ApiProxy वर्ग के लिए भेजता है लिखें:

    सब को देखते हुए, इस तरीके से Jython में अजगर एपीआई का उपयोग कर सकता है ।

  2. पाइथन एसडीके के प्रासंगिक हिस्सों को अपने ज्योथन ऐप के साथ बंडल करें (दुर्भाग्यवश, इसमें से अधिकांश)।
  3. अपने प्रारंभिक कोड में, apiproxy_stub उपclass को सभी प्रासंगिक सेवाओं - datastore_v3, memcache, user, urlfetch, और छवियों के लिए हैंडलर के रूप में लिखा है।

यदि आप इसे समाप्त कर देते हैं, तो कृपया इसे दस्तावेज करें और कोड जारी करें - मुझे कम से कम एक अन्य उपयोगकर्ता के बारे में पता है जो दिलचस्पी लेता है। :)

+5

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

+0

कुछ कारण: एक यह है कि मुझे Google द्वारा जावा रनटाइम के लिए अनुमोदित किया गया है और पिछले 9 सालों में मैंने विकसित कुछ जावा कोड का लाभ उठाना चाहते हैं, और दूसरी बात यह है कि मुझे विश्वास है कि पायथन (Django) वेब विकास अधिक समझ में आता है और जावा (जेएसपी) से अधिक मौजूदा समुदाय और कोड बेस है .. गंभीरता से, क्या वे "मध्य में कटौती" और (जावा या पायथन चुनने के बजाय) के कारण नहीं हैं। ज्योथन का प्रयोग करें? टीएल –

+0

ठीक है, मैं जावा का उपयोग करने का सुझाव दूंगा, अगर जावा आप चाहते हैं। :) –

2

सबसे पहले, ऐसे लोग हैं जो दावा करते हैं कि Jython, Querces, and JRuby can Beat their Native Counterparts जब गति की बात आती है, तो JVM की शक्ति का उपयोग करते हैं।

हालांकि, ज्योथन की गति पर कुछ विरोधाभासी जानकारी है। एक स्टैक ओवरफ़्लो उपयोगकर्ता दावा करता है कि Jython is the slowest of many of the languages involved in a speed test he conducted

प्रदर्शन प्रश्नों में से कोई भी वास्तव में ऐप इंजन, केवल सामान्य रूप से JVM को शामिल नहीं करता है।

this article posted by a Jython committer में, एलन केनेडी का दावा है कि ऐप इंजन पर जैथन जेवीएम में उपलब्ध उदार पुस्तकालयों के साथ पाइथन की तीव्र विकास प्रकृति को जोड़ती है। ज्योथन पायथन है, लेकिन यह पाइथन है जिसकी जावा कक्षाओं तक सीधी पहुंच है।

मुझे इसके साथ Querces PHP के साथ कुछ अनुभव है। मैंने Google App Engine में JQuery फॉर्म बिल्डर प्लग-इन पोर्ट किया। यह PHP कोड है, लेकिन वह PHP सीधे जावा में लिखे गए डीएओ ऑब्जेक्ट्स तक पहुंचने में सक्षम है। इसी तरह, ज्योथन भी ऐसा करने में सक्षम है।

एलन केनेडी भी Challenge issued by Nick Johnson से मुलाकात की, जिससे वह कुछ ऐसा प्रदर्शित करता है जो ऐप इंजन पर ज्योथन के साथ किया जा सकता है जो अन्यथा शुद्ध पायथन, एक्सएसएलटी रूपांतरणों में पूरा करना मुश्किल होगा। निक के जवाब में उन्होंने स्ट्राइक-थ्रू प्रश्न का उत्तर दिया: आप क्यों चाहेंगे?