10

अब जब Google ऐप इंजन पर जावा की अनुमति देता है, तो मुझे आश्चर्य है कि ऐप इंजन के लिए वेब ढांचे की पसंद पर इसका क्या प्रभाव है।कौन सा वेब विकास ढांचा Google App Engine के साथ सबसे अच्छा काम करता है?

  1. मुझे एहसास है कि Google वेबपैप फ्रेमवर्क प्रदान करता है जो कि बहुत नंगे हैं।
  2. और डीजेंगो का .96 संस्करण जो ऐप इंजन के लिए उपलब्ध है प्रतिबंधक है।
  3. वेब 2py मैंने जो सुना है, संसाधनों को जलाता है।
  4. रेल (अब उपलब्ध) ActiveRecord, ActiveResource, restclient, rmagick का उपयोग नहीं कर सकते हैं।

क्या मुझे कुछ याद आ रहा है - क्या कोई ढांचा ऐप इंजन पर अच्छा काम करता है?

उत्तर

5

व्यक्तिगत रूप से, मुझे पाइथन अधिक मजेदार पाया गया है। वो मैं ही हुं। हालांकि वहां कई सारे जावा डेवलपर्स हैं जो जीएई में जावा समर्थन की सराहना करेंगे। इसके अलावा, जावा का समर्थन करना Google द्वारा एक अच्छा विकल्प था क्योंकि यह GAE प्लेटफार्म को संभावित रूप से कई अन्य भाषाओं की मेजबानी करने की अनुमति देगा। जाहिर है कि सभी जेवीएम आधारित भाषाओं को जीएई पर चलाने की उम्मीद है, लेकिन भविष्य आशाजनक दिखता है। अभी के लिए हम देख सकते हैं कि this GAE Java Group Page पर एक नज़र डालकर क्या काम कर रहा है और काम नहीं कर रहा है।

पायथन पर वापस आ रहा है, मुझे लगता है कि छोटे वेब एप्लिकेशन अंतर्निहित वेबैप ढांचे के साथ काम करेंगे। अन्य अनुप्रयोगों को Django 1.0 से अधिक लाभ होगा। इस पर कुछ अच्छे पढ़ने के लिए फ्रेमवर्क अनुभाग के तहत GAE articles पर एक नज़र डालें। किसी भी मामले में, निस्संदेह आपके किसी भी विकल्प में प्रतिबंध होंगे क्योंकि अधिकांश वेब ढांचे को रिलेशनल डेटाबेस के साथ दिमाग में डिजाइन किया गया है ... जो डेटास्टोर/bigtable नहीं है। इसके अलावा, जीएई मंच को सुरक्षा कारणों से सैंडबॉक्स किया जाना चाहिए जो आपको कुछ हद तक प्रतिबंधित भी करता है। उम्मीद है की यह मदद करेगा।

+0

मैंने पाइथन के लिए ऐप इंजन फ्रेमवर्क की एक सूची संकलित की: http://code.google.com/p/tipfy/wiki/AppEngineFrameworks – moraes

+0

@fuentesjr जीएई जावा समूह पृष्ठ का लिंक मर चुका है। – rahulserver

3

Spring आज़माएं। यह जेपीए और जेडीओ का समर्थन करता है।

अब वसंत के लिए Python version भी है।

+0

जावा वेब ढांचे का उपयोग करने के लिए मेरे पास कभी नहीं हुआ। लेकिन यह एक विचार है। धन्यवाद। जावा - पायथन, रूबी की तुलना में कुछ अधिक संक्षेप में उम्मीद कर रहा था। – karl

+0

आपको शायद स्प्रिंग एमवीसी को स्पष्ट और निर्दिष्ट करना चाहिए, स्प्रिंग में परियोजनाओं का एक बड़ा पोर्टफोलियो है। – Jon

+0

मैं वहां जावा और स्प्रिंग का प्रयास करने की योजना बना रहा हूं। यह शुरुआती है, लेकिन यह आईएमओ का सबसे अच्छा तरीका है। – duffymo

0

यदि आप पाइथन की तलाश में हैं, तो Django आपकी सर्वश्रेष्ठ शर्त होगी।

+0

जीएई पर Django अनावश्यक लगता है। मुझे Django ढांचे बहुत पसंद है। लेकिन जब मैंने अपने डीजेंगो ऐप्स में से एक को जीएई में एकीकृत करने की कोशिश की तो मैंने कुछ हफ्तों बिताए और इसे कहीं भी नहीं मिला। क्या आपके पास कोई भाग्य है? – karl

+0

Django के लिए Appengine पैच आज़माएं: http://code.google.com/p/app-engine-patch/। यह एक एकल डेवलपर प्रोजेक्ट है और कुछ ओवरहेड जोड़ता है, लेकिन यह निश्चित रूप से 0.96 से अधिक किसी भी Django का उपयोग करने का सबसे आसान तरीका है। –

0

स्ट्रूट 2 को Google App Engine (कम से कम उदाहरण अनुप्रयोगों के संदर्भ में) पर काम करने के लिए अधिकृत किया गया है। इस सूत्र का पालन करें:

http://www.nabble.com/Google-App-Engine-support--td22972179.html

ऐसा प्रतीत होता है वहाँ templating के मामले में Sitemesh के साथ कुछ मुद्दों कर रहे हैं, लेकिन अगर आप JSP का उपयोग कर रहे आप ठीक होना चाहिए।

वेब एप्लिकेशन ढांचे के रूप में यह एक अच्छा विकल्प है।

+0

मैं जावा दुनिया पर अद्यतित नहीं हूं लेकिन मैंने सोचा कि स्ट्रूट्स पक्ष से बाहर हो गए थे - वसंत इन दिनों शहर की बात अधिक प्रतीत होता है। क्या आपको लगता है कि यह अन्यायपूर्ण है? – karl

+0

स्ट्रूट्स बहुत अधिक विरासत है, स्ट्रूट्स 2 उत्तराधिकारी है जो वेबवर्क और स्ट्रूट्स का विलय है। उस और स्प्रिंग एमवीसी दोनों का व्यावसायिक रूप से उपयोग करने के बाद मैं कहूंगा कि स्ट्रूट्स 2 एक बहुत ही लचीला और उन्नत है जहां तक ​​एक वेब अनुप्रयोग ढांचा चला जाता है। – Jon

+0

दो अन्य वेब ऐप्स में स्ट्रिप्स शामिल हैं, जो इस समय काफी लोकप्रिय हैं, और Grails - मैंने अभी Google App Engine पर इसकी शुरुआत की है, लेकिन अभी तक बहुत दूर नहीं है ... – Jon

1

मैं विकल्पों में से वास्तव में पूरी रेंज पता नहीं है, लेकिन मैं आपको बल्ले बंद चीजों में से एक जोड़े को बता सकते हैं ...

  • Google Apps/Django का उपयोग कर के शीर्ष पर बनाया गया है।
  • Django Google Apps की सराहना और समर्थन के बारे में बहुत कुछ है, इसलिए मैं उम्मीद करता हूं कि यह Google Apps के साथ दूसरों के मुकाबले बेहतर हो।
  • Google Apps में इस पर प्रतिबंध लगाए गए हैं कि आप अवरोध (या नहीं होना चाहिए)। ये सीमाएं किसी विशेष ढांचे से संबंधित नहीं हैं, बल्कि वे बोलने के लिए ऐप्स के कपड़े में बनाई गई हैं।
  • मैं ढांचे के प्रदर्शन के बारे में ज्यादा चिंता नहीं करता - अपने डिजाइन/संरचना को बेहतर बनाने की कोशिश करता हूं, यह निश्चित रूप से बेहतर भुगतान करेगा।
  • Google अंततः Django 1.0 और नए स्थानांतरित हो जाएगा, साथ ही वे Google Apps को भी अपडेट कर रहे हैं।
  • वे memcache (या समकक्ष) का उपयोग करते हैं, इसलिए इसे ध्यान में रखें और इसका उपयोग करें।
+0

मुझे लगता है कि आप Django के शीर्ष पर/साथ बनाए गए ऐप इंजन के बारे में गलत हैं। क्या आपके पास उस कथन का समर्थन करने के लिए कोई लिंक है? – karl

+0

ढांचे का प्रदर्शन स्पष्ट रूप से एक चिंता है - वेब 2py के मामले में, यह आपको दिन के लिए अपने कोटा से अधिक हो सकता है। – karl

+0

Google Apps Google App Engine के समान नहीं है। – karl

0

यदि आप पाइथन का उपयोग कर रहे हैं तो मैं web.py की अनुशंसा करता हूं।

1

यह वास्तव में निर्भर करता है कि आप क्या करना चाहते हैं। मेरे अनुभव में वेबोब के शीर्ष पर बने कुछ छोटे हाथ एपीआई के लिए वास्तव में अच्छा है। लेकिन पूरी तरह से बढ़ी साइटों के लिए जिन्हें टेम्पलेट/सत्र/जटिल रूटिंग/कैशिंग django की आवश्यकता है, को हरा करना मुश्किल है।

ध्यान दें कि यदि आप विशाल ढांचे (जैसे django 1.0) पहले अनुरोध में स्मृति में सबकुछ लोड करने के लिए लगभग 3 सेकंड लगते हैं और उस अनुरोध के बाद 15 सेकंड तक इसे वहां रखता है।

और तुम चौखटे के लिए आसपास की दुकान है, जबकि ध्यान में रखना है कि:

  • ORM के मंच पर लागू नहीं हैं तो मूल रूप से कोई फर्क नहीं पड़ता।
  • फास्ट टेम्पलेट्स (चीता की तरह) तेजी से (या यहां तक ​​कि काम नहीं) होंगे क्योंकि वे सी एक्सटेंशन का उपयोग नहीं कर सकते हैं।
  • सबकुछ तेजी से करने के लिए कैशिंग सबसे महत्वपूर्ण बात हो सकती है।
+0

ठीक है, Google के वेबपैप ढांचे में रिकवरी/प्रतिक्रिया ऑब्जेक्ट्स हैं इसलिए मुझे यकीन नहीं है कि आप Webob का उपयोग क्यों करेंगे। ओआरएम के बारे में दिलचस्प बिंदु, लेकिन मुझे यकीन नहीं है कि आपका क्या मतलब है कि वे लागू नहीं होते हैं। web2py एक ओआरएम का उपयोग करता है और यह जीएई के साथ काम करता है हालांकि आपको बिगटेबल के अद्वितीय चरित्र से सावधान रहना होगा। – karl

+0

@karl Google का वेबजैप ढांचा वास्तव में अनुरोध के लिए वेबोब का उपयोग करता है, और प्रतिक्रिया के लिए एक सरल स्ट्रिंगियो-आधारित वर्ग का उपयोग करता है। – moraes

8

असल में वेब 2py बहुत हल्का है और जीएई पर ~ 1.50 के बाद से, यह सभी बाइटकोड संकलित मॉडल/विचार/नियंत्रकों को कैश करता है।

फिर भी आपको यह विचार करने की आवश्यकता है कि डिफ़ॉल्ट रूप से डेटास्टोर आधारित सत्र होते हैं और यह फ्रेमवर्क की तुलना में कुछ ओवरहेड जोड़ सकता है जिसमें GAE पर कम से कम सत्र नहीं होते हैं (कम से कम डिफ़ॉल्ट रूप से नहीं)।

बेवकूफ Google डेटास्टोर एपीआई की तुलना में वेब 2py डीएएल स्वयं महत्वपूर्ण ओवरहेड नहीं जोड़ता है।

+0

web2py डीएएल लेनदारों और पूर्वजों के साथ संदर्भों को संभाल नहीं करता है।मैंने केवल कुछ मिनटों को देखा, इसलिए मुझे अन्य मुद्दों के बारे में पता नहीं है, लेकिन ये काफी खराब हैं। – moraes

+2

मुझे पूर्वजों के संदर्भों के बारे में निश्चित नहीं है, लेकिन यह लेन-देन को संभालता है कि जीएई लेनदेन को संभालता है। आप वास्तव में GAE run_in_transcation (...) में डीएएल कोड डाल सकते हैं – mdipierro

0

मैं नया ढांचाGAE framework का उपयोग करता हूं। यह Django के समान है, लेकिन AppEngine पर काम करते हैं।

सर्वश्रेष्ठ संबंध!

0

पायथन के लिए उपयोग करें webapp2 (एप्लिकेशन इंजन के साथ आता है)

0

आप बड़े पैमाने पर आवेदन का निर्माण और अधिक लचीला ढांचे की जरूरत चाहते हैं, तो आप Pyramid Python Framework पर एक नज़र ले जा सकते हैं। पहले इसे पिलोन कहा जाता है। इस ढांचे का उपयोग कर बहुत अच्छी कंपनियां हैं।