सीखना वेब विकास: Django बनाम नोड बनाम रेल बनाम दूसरों [बंद]


80

मैं जावा और पायथन (कुछ Django के साथ) और थोड़ा रूबी (कोई रेल्स) और कोई Node.js जानता हूं और शायद और भी बहुत कुछ है जो मुझे नहीं पता है।

मैं वेब विकास और इसके पूर्ण स्टैक को सीखना शुरू करने की योजना बना रहा हूं, लेकिन जब मैं चारों ओर देखता हूं तो मुझे विकल्पों का भार दिखाई देता है और यह मुझे भ्रमित करता है। मुझे निम्नलिखित पैरामेट्स पर आधारित सुझावों की आवश्यकता है

  1. सीखने में आसानी
  2. निर्माण और पुनरावृति में आसानी
  3. तैनाती में आसानी (मुफ्त और सस्ते होस्टिंग समाधान की तरह)
  4. लोकप्रिय

कृपया कुछ सलाह दें

धन्यवाद


गोगल्स जीडब्ल्यूटी के बारे में क्या? या ग्रूवी ग्रिल्स?
एंजेल ओ स्फीयर

जवाबों:


82

रूबी ऑन रेल्स:

सीखने में आसान? - हाँ - पर उत्कृष्ट प्रलेखन guides.rubyonrails.org और पर एक महान ट्यूटोरियल railstutorial.org

बनाने में आसान और पुनरावृति? - सुनिश्चित करने के लिए - रेल बहुत चुस्त और पुनरावृत्ति विकास के लिए खुद को उधार देता है।

तैनाती के लिए आसान है? - तैनात करने के लिए (कम से कम छोटे ऐप के लिए और सीखते समय), आप वास्तव में heroku.com - git आधारित पुश का उपयोग करने की तुलना में आसान नहीं कर सकते हैं और यह मुफ़्त है।

लोकप्रियता - बहुत लोकप्रिय!

Django

सीखने में आसान? - रेल की तरह, Django के पास docs.djangoproject.com/en/1.3/ पर उत्कृष्ट दस्तावेज़ हैं । हो सकता है कि एक छोटा सा स्टेटर लर्निंग कर्व (विशुद्ध रूप से यहाँ राय है, लेकिन मुझे लगता है कि रेल को "जाने के लिए तैयार" होना चाहिए, जबकि django को आपके विकास में आने से पहले थोड़ा सा कॉन्फिगरेशन चाहिए)।

बनाने में आसान और पुनरावृति? - फिर से, रेल की तरह, एक बार जब आप उठ रहे हैं और इसके साथ चल रहे हैं, तो इसे पुनरावृत्त करना बहुत आसान है।

तैनात करने में आसान? - रेल के रूप में आसान नहीं है। वहाँ heroku समकक्षों gondor.io , djangozoom.com , स्थिर हैं। लेकिन वे निजी बीटा में हैं। उस ने कहा, मुझे gondor.io पर आमंत्रित करने में कोई परेशानी नहीं हुई

लोकप्रियता - यह लोकप्रिय है, लेकिन उपयोगकर्ता समुदाय थोड़ा कम है .... जीवंत भीड़ की तुलना में।

नोड

सीखने में आसान? - um हां और नहीं, एक त्वरित हैलो वर्ल्ड सर्वर को एक साथ रखना आसान है, लेकिन अगर आप एक पूर्ण पैमाने पर ऐप चाहते हैं तो अधिक मुश्किल है। मैं पहले उदाहरण में इससे दूर रहूंगा - यह नया और तेजी से विकसित हो रहा है। इसके अलावा, नोड स्वयं रेल या Django के साथ तुलनीय नहीं है क्योंकि बाद के दो फ्रेमवर्क हैं, जबकि नोड एप्स के एक नंगेबोन सेट से अधिक है जिसका उपयोग आप कुछ विकसित करने के लिए कर सकते हैं। आप expressjs.com जैसे ढांचे का विकल्प चुन सकते हैं, जो रेल और Django के अनुरूप है। मैंने इसका उपयोग नहीं किया है इसलिए मैं वास्तव में आपको एक राय नहीं दे सकता।

बनाने में आसान और पुनरावृति? - निर्माण करने में आसान - हाँ, आसान करने के लिए आसान - हाँ।

तैनात करने में आसान? - आप no.de को हेड कर सकते हैं और स्मार्टमाइन प्राप्त करने के लिए आवेदन कर सकते हैं - यह फिलहाल मुफ्त है और तैनात करने में आसान है - आधारित।

लोकप्रियता - यह बढ़ रहा है।


13
मैं RoR के बारे में आपके पहले 3 बिंदुओं से सहमत हूं। दुर्भाग्य से आपका अंतिम बिंदु सत्य नहीं है। यह शायद शर्म की बात है, लेकिन RoR व्यवहार में लोकप्रिय नहीं है। Tiobe को देखें, रूबी के पास केवल 1.3% मार्केटशेयर है, जिसका अर्थ है कि RoR और भी कम है। रेल के लिए पेश नौकरियों को देखें। एक को खोजना बहुत कठिन है।
माइक ब्रॉन

4
पर्याप्त माइक - शायद ऑनलाइन समुदाय बस इतना ही शोर करता है कि मेरी धारणा यह है कि यह लोकप्रिय है। :)
slapthelownote

2
मुझे वास्तव में नहीं पता होगा, लेकिन यदि आप जावा वेब फ्रेमवर्क के साथ टैग किए गए सभी प्रश्नों को जोड़ते हैं, तो आप एसओ के पास रेल प्रश्नों की संख्या के पास कहीं भी नहीं पहुंचेंगे। यह आपके लिए 1.3% बाजार हिस्सेदारी है।
फिलिप डुपनोविक

19
हेरोकू अब Django का समर्थन करता है।
बेन राशिन

5
तथ्य यह है कि रेल के लिए कई और अधिक एसओ प्रश्न हैं, प्रोग्रामर के प्रकार का एक संकेतक हो सकता है जो वास्तविक तैनात अनुप्रयोगों में रूपरेखा की लोकप्रियता से अधिक इसे सीखने की कोशिश कर रहा है।
न्यूब्स के

44

एक Django देव के कुछ नोट जिन्होंने Node.js की खोज में थोड़ा समय बिताया है:

  • Node.js में अतुल्यकालिक प्रोग्रामिंग दृष्टिकोण वैचारिक रूप से अधिक कठिन है। जब आप Django या रेल में एक समान दृष्टिकोण ले सकते हैं, तो ऐसा करना आम नहीं है।

  • Node.js वास्तव में, बॉक्स से वास्तव में तेज़ है। लेकिन इसका कारण यह है कि इसमें बहुत ज्यादा OOB शामिल नहीं है।

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

  • Node.js के लिए अभी सबसे लोकप्रिय ढांचा एक्सप्रेस है, लेकिन एक्सप्रेस में डेटाबेस से जुड़ने का तरीका भी शामिल नहीं है। आपको उस पर जोड़ना होगा। न ही इसमें एक ORM शामिल है - आपको इसे जोड़ना होगा। मैंने कुछ नोड ओआरएम में देखा, लेकिन वे लगभग पूर्ण या परिष्कृत नहीं लग रहे थे जैसे कि Django के।

  • Django एक पूर्ण, सामंजस्यपूर्ण, एंड-टू-एंड समाधान है, जहां सभी भाग एक साथ मूल रूप से फिट होते हैं ("मैक तरीका")। Node.js एक आधार रेखा है जिसके ऊपर आप अपना स्वयं का ढाँचा, अपना ORM, अपना स्वयं का db चालक, अपना स्वयं का URL रूटिंग सिस्टम, आदि ("यूनिक्स तरीका") चुनते हैं।

  • यूनिक्स तरीके से फायदे हैं, लेकिन आईएमओ सिस्टम जैसे कि जमीन से उतरना अधिक कठिन है और बनाए रखना अधिक कठिन है। भागों जरूरी एक दूसरे से बात नहीं करते हैं जैसे आप अपेक्षा करते हैं, और पूरी परियोजना एक बार में उन्नत नहीं होती है। मैक सॉफ्टवेयर / हार्डवेयर सातत्य और Django / रेल जैसी एंड-टू-एंड सिस्टम उत्पादकता के लिए बहुत बड़ी जीत हैं। तुलना करने के लिए, Django की तुलना में पायथन के टर्बोगोयर्स (डिस्कनेक्ट किए गए भागों का एक गुच्छा) की सापेक्ष अस्पष्टता पर ध्यान दें। Django ने TurboGears का दोपहर का भोजन खाया क्योंकि यह सामंजस्यपूर्ण और सुसंगत है। यदि उत्पादकता आपके लिए महत्वपूर्ण है, तो आप अधिक परिपक्व फ्रेमवर्क में अधिक उत्पादक कार्य करने जा रहे हैं। इस दृष्टि को पूरा करने वाला एक Node.js ढांचा किसी दिन आ जाएगा, लेकिन यह अभी तक नहीं है।

  • एक्सप्रेस सहायक कमांड लाइन उपकरण, डेटा एपीआई, आदि की रेंज प्रदान नहीं करता है जो कि Django या रेल प्रदान करते हैं।

  • Node.js चौखटे निश्चित रूप से Django व्यवस्थापक की तरह कुछ भी शामिल नहीं करते हैं, जो कि Django devs के लिए एक विशाल उत्पादकता जीत है।

  • विशुद्ध रूप से मेरी राय, लेकिन अजगर सिर्फ जावास्क्रिप्ट से अधिक सुरुचिपूर्ण महसूस करता है। कोड अधिक कॉम्पैक्ट और अधिक पठनीय है। हालांकि, एक बड़ी बाधा नहीं, सिर्फ एक प्राथमिकता।

कुल मिलाकर, Django एक "बैटरी शामिल" प्लेटफ़ॉर्म की तरह महसूस करता है जबकि नोड एक रुमेज सेल की तरह अधिक महसूस करता है।

नोड / एक्सप्रेस वास्तव में युवा हैं। तरीकों में रोमांचक, और बड़ा वादा दिखा रहा है, लेकिन परिपक्व रूपरेखाओं के साथ प्रतिस्पर्धा महसूस करने के लिए Node.js फ्रेमवर्क के लिए कितना समय लगेगा? मुझे नहीं पता।


3
CoffeeScript के साथ। कोड अधिक कॉम्पैक्ट और अधिक पठनीय है जितना कि पायथन करता है
jwchang

"एक्सप्रेस मुख्य पृष्ठ से Node.js के लिए एक तेज, बिना लाइसेंस वाला, न्यूनतम वेब फ्रेमवर्क है।"

27

नौकरी के अवसर के संदर्भ में, मैं कहूंगा कि यदि आप रेल या Django के साथ जाते हैं तो आपको एक अच्छी नौकरी मिलेगी। केवल कुछ कंपनियां अब Node.js डेवलपर्स के लिए वास्तव में भुगतान कर रही हैं, क्योंकि यह अभी तक बहुत बड़ा नहीं है।

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

भविष्य के संदर्भ में, Node.js रास्ता है। HTML टेम्प्लेट लगभग पूरी तरह से जावास्क्रिप्ट वैसे भी ( jQuery.tmpl ) में लिखे जाने लगे हैं , इसलिए इसे बनाना आपको केवल 1 भाषा में महारत हासिल करना है, जावास्क्रिप्ट, आपके कौशल को और अधिक शक्तिशाली बनाता है। और नोड.जेएस वास्तव में खुद को वास्तविक समय के वेब ऐप के लिए उधार देता है । इसके अलावा, हरोकू जैसे क्लाउड परिनियोजन प्लेटफॉर्म, जो मूल रूप से 100% रूबी थे, वे भी Node.js का समर्थन करने लगे हैं । वहाँ अन्य सभी भाषाओं के लिए भी ऐसा कर रहे हैं, जैसे डॉटक्लाउड

अभी भी बहुत सारे काम हैं जिन्हें Node.js बनाने के लिए पूरी तरह से रूबी के रूप में रेल पर चित्रित किया जाना चाहिए (इसलिए रेल अभी भी मानक है, अभी के लिए), लेकिन मूल बातें सभी हैं:

यदि आप धार चाहते हैं, तो निश्चित रूप से Node.js. अगर तुम चाहते हो

  1. कम करने के लिए सीखना
  2. निर्माण और पुनरावृति में आसानी
  3. तैनाती में आसानी (मुफ्त और सस्ते होस्टिंग समाधान की तरह)
  4. लोकप्रिय

रूबी ऑन रेल्स।


5

लोकप्रियता (बिंदु 4)): जावा सर्वर चेहरे (JSF) प्रौद्योगिकी । JSF 1.2 से वर्तमान JSF 2.1 तक, यह अब क्रमशः जावा ईई 5 और जावा ईई 6 के साथ मेल खाता है। इसका मतलब है कि यह अब जावा ईई स्टैंडर्ड है। इसके अलावा, एक लाभ का अर्थ होगा कि वेब एप्लिकेशन सर्वर (जैसे JBoss 5 के रूप में और उच्चतर, GlassFish, WebSphere AS, Oracle AS, आदि) जो कि पूरी तरह से जावा EE के अनुरूप है (5 और उच्चतर) JSF चला सकते हैं (कॉन्फ़िगरेशन की कोई आवश्यकता नहीं है,) ताकि बिंदु सॉल्व हो))।

जेएसएफ के लिए विभिन्न ट्यूटोरियल हैं, जैसे कोरसर्वलेट्स में । BalusC ने स्क्रैच से एक सरल JSF वेब एप्लिकेशन को स्थापित करने और लिखने पर एक सरल और उत्कृष्ट ट्यूटोरियल लिखा ।


3
में पूरी तरह से सहमत हूँ! जेएसएफ इन दिनों बहुत अच्छा है (पुराने संस्करण इतने महान नहीं थे)। अपने उदाहरणों में जोड़ना; JSF जावा EE वेब प्रोफाइल का भी हिस्सा है, इसलिए Resin जैसे अल्ट्रा लाइटवेट सर्वर भी JSF बॉक्स से बाहर का समर्थन करते हैं।
माइक ब्रॉन

1
Ps BalusC के ब्लॉग और लेख बिल्कुल शानदार हैं! :)
माइक ब्रॉन

1

JSF 2.x आजकल बहुत लोकप्रिय हो गया है, और प्राइमफेस के संयोजन में अधिक UI सेंट्रिक फ्रेमवर्क , यदि आपको JSF इकोसिस्टम में तेजी से अनुप्रयोग विकास की आवश्यकता है जैसे रेल आपको चाहिए

http://www.springfuse.com/

http://www.myeclipseide.com/documentation/quickstarts/ME4STutorialScaffoldingJSF/scaffoldingjsfarticle.html

JSF Addon के साथ स्प्रिंग रूओ http://java.dzone.com/articles/jsf-20-spring-roo

1)ease to learn (http://www.vogella.com/articles/JavaServerFaces/article.html)

2)ease to build and iterate

3)ease to deploy (like free and cheap hosting solutions) 

   a) http://www.mkyong.com/google-app-engine/google-app-engine-jsf-2-example/
   b) http://blog.jelastic.com/2012/06/11/how-to-deploy-primefaces-applications-into-jelastic-cloud/

4)popular (http://www.primefaces.org/whouses.html)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.