7

मेरे पास इंटरैक्टिव, डायनामिक वेब साइट्स विकसित करने के बारे में एक नौसिखिया सवाल है। किसी को संक्षेप में व्याख्या कर सकते हैं के बीच मतभेद: ऑन रेल्स डीजेगो, रूबी ऑन रेल, Google ऐप इंजन इत्यादि के बीच क्या अंतर है?

  • Google अनुप्रयोग इंजन
  • CGI स्क्रिप्ट/क्षुधा
    • Django
    • रूबी और जो कुछ भी है या इसी तरह की (PHP ?, जावा सर्वलेट लगता है? , टर्बोगियर्स ?, आदि)

    मैं कहां से कहूंगा, डैंजो पर Google ऐप इंजन, आदि? अगर मैं अमेज़ॅन की तरह एक किताब की दुकान खोलना चाहता था, तो मैं वेबसाइट बनाने के लिए क्या चुनूँगा? अगर मैं एसओ को फिर से लागू करना चाहता था? Nytimes की तरह एक समाचार साइट के बारे में क्या?

    खेद है कि मैं इन सभी विभिन्न प्रौद्योगिकियों और चौखटे फेंक रहा हूँ एक साथ, लेकिन मेरे लिए uninitiated के वे सभी काफी ही बात कर रहे हो रहे हैं ...

  • उत्तर

    17

    यहाँ अपने (बहुत व्यापक) प्रश्न पर मेरे प्रयास है:

    1. Django - बहु-क्लाइंट वेब-आधारित CRUD ऐप्स को विकसित करने के लिए एक पायथन फ्रेमवर्क आसान है।
    2. रेल पर रूबी - बहु-ग्राहक वेब-आधारित CRUD ऐप्स को विकसित करने के लिए एक रूबी ढांचा आसान है।
    3. Google ऐप इंजन - पाइथन या जावा अनुप्रयोगों की Google होस्टिंग जो बिगटेबल को स्टोरेज तंत्र के रूप में उपयोग करती है।
    4. सीजीआई स्क्रिप्ट/ऐप्स - पुराने स्कूल वेब ऐप्स जहां एक वेब सर्वर पर प्रत्येक अनुरोध के लिए एक CGI स्क्रिप्ट को लात मार दिया गया था।

    ग्रेल्स बहु-क्लाइंट वेब-आधारित CRUD ऐप्स को विकसित करने के लिए एक रूबी-जैसी ढांचा है। यह जावा, ग्रोवी, स्प्रिंग और हाइबरनेट पर आधारित है।

    जावा सर्वलेट HTTP श्रोता वर्ग हैं जिन्हें आप जावा ईई सर्वलेट/जेएसपी इंजन का उपयोग करके तैनात करते हैं। उन इंजनों में लगभग हमेशा HTTP सर्वर होते हैं, ताकि आप चुन सकें कि उन्हें अपाचे या आईआईएस जैसे वेब सर्वर के शीर्ष पर तैनात करना है या नहीं। वे Grails जैसे ढांचे का हिस्सा होंगे, लेकिन आपको गतिशील, डेटा-संचालित वेब ऐप बनाने के लिए servlets के अलावा कई अन्य सामान जोड़ने की आवश्यकता है। यही कारण है कि आप एक और जावा वेब ढांचे (उदाहरण के लिए, स्ट्रूट्स, स्प्रिंग, विकेट, जेएसएफ इत्यादि) को मारने के बिना बिल्ली को स्विंग नहीं कर सकते हैं - केवल servlets की तुलना में इसके लिए बहुत कुछ है।

    ये सभी समान हैं कि वे उसी मौलिक समस्या को हल करने के विभिन्न प्रयास हैं। आप अंतर्निहित भाषा के साथ अपनी परिचितता के आधार पर एक चुनते हैं।

    मैं Google App Engine को उसी श्रेणी में नहीं रखूंगा। रेल या डीजेगो के विकल्प की तुलना में यह Google के "क्लाउड इन क्लाउड" विकल्प की तरह लगता है। आप पाइथन ऐप्स को तैनात कर सकते हैं जो Google App Engine पर Django का उपयोग करते हैं, इसलिए यह उस अर्थ में कोई विकल्प नहीं है।

    +2

    +1। केवल यह जोड़ना होगा कि यदि आप किसी भी भाषा से परिचित नहीं हैं, पायथन या रूबी (मुझे पायथन पसंद है) जावा से अधिक अभिव्यक्तिपूर्ण और कम वर्बोज़ हैं। Django (पायथन के साथ) और रूबी (रेल के साथ) जावा में कुछ समकक्षों की तुलना में कम जटिल ढांचे हैं। – cethegeek

    +0

    उत्कृष्ट जोड़; धन्यवाद, celopes। 'बहु-ग्राहक वेब-आधारित CRUD ऐप्स' के लिए – duffymo

    +0

    +1 –

    3

    यह स्वाद की बात है कि तुम क्या चुनते हैं, हालांकि आप संतरे के साथ सेब की तुलना है:

    • Django और TurboGears वेब
    • रूबी ऑन रेल्स पर और अधिक आसानी से अजगर उपयोग करने के लिए व्यवस्थाएं हैं भी एक रूपरेखा लेकिन उपयोग कर रहा है एक अलग भाषा: रूबी
    • पीएचपी एक पटकथा भाषा वेब
    • जावा सर्वलेट वे जावा के साथ वेबसाइट बनाने
    • सीजीआई के लिए उपयोग किया जाता है के लिए विकसित की प्राथमिक है सिर्फ एक metho है डी प्लेटफ़ॉर्म पर एक स्क्रिप्ट को कॉल करने के लिए वेबसर्वर के लिए
    • Google App Enginge भिन्न है: यह एक सेवा प्रदाता है जिस पर आप अपना वेबपैप होस्ट कर सकते हैं। वर्तमान में यह पाइथन (यहां तक ​​कि Django या TurboGears के साथ) और जावा

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

    0

    अमेज़ॅन, एसओ और Nytimes सभी कम या कम CRUD ऐप्स हैं। तो आप इसे किसी भी अद्यतित वेब ढांचे के साथ कार्यान्वित कर सकते हैं।

    मैं कोई आदेश में विचार woud,:

    • रूबी: रूबी के लिए रेल
    • अजगर: Django
    • सी #: asp.net MVC के
    • php: symfony2

    यदि आप एक तेज़ सीखने की वक्र चाहते हैं (यदि आपको जल्दी से लॉन्च करने की आवश्यकता है, तो आप छोटे ढांचे पर एक नज़र डाल सकते हैं):

    एक महत्वपूर्ण कारक भाषा आप पहले से ही पता है। इसलिए एक ढांचा चुनने का प्रयास करें जहां आप इसकी भाषा से परिचित हैं।

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

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