Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Ruby on Rails

रूबी ऑन रैल्ज़ (Ruby on Rails) क्या है?

by
Difficulty:IntermediateLength:LongLanguages:

Hindi (हिंदी) translation by Shubham Sharma (you can also view the original English article)

इमेज क्रेडिट: Rubyonrails.org

शुद्धतावादी (प्युअरीस्ट) के लिए एक वेब डिवेलप्मन्ट फ्रेमवर्क

1995 में, युकिहिरो मात्सुमोटो ने रूबी 0.95 को शुद्ध, ऑब्जेक्ट ओरिएंटेड (ओ.ओ.), सामान्य उद्देश्य प्रोग्रामिंग भाषा के रूप में जारी किया: 

एक प्रोग्रामिंग भाषा के पागल की तरह और 15 वर्षों तक ओ.ओ. प्रशंसक के रूप में, मैं वाकई वास्तविक वस्तु-उन्मुख, आसान उपयोग वाली स्क्रिप्टिंग भाषा चाहता था।  मैंने देखा लेकिन एक भी नहीं मिला।  इसलिए मैंने इसे बनाने का फैसला किया। - वाई. मात्सुमोटो

तब 2004 में, डेविड हेनिमेयर हंससन ने रूबी ऑन रैल्ज़ के पहले संस्करण को एक वेब एप्लिकेशन फ्रेमवर्क के रूप में जारी किया, जिसमें उन्होंने अपनी टीम प्रबंधन एप्लिकेशन बेसकैम्प लॉन्च किया।  उन्होंने 2005 में रूबी ऑन रैल्ज़ को ओपन सोर्स किया, और ऐप्पल ने 2007 में ओएस एक्स लेपर्ड (OS X Leopard) के साथ इसे जारी किया। 

इस ट्यूटोरियल के लिए, मैं रूबी ऑन रैल्ज़ (Ruby on Rails) के रूप में आराम के लिए रैल्ज़ (Rails) का संदर्भ दूँगा; कुछ लोग भी आर.ओ.आर (ROR) का उपयोग करते हैं। 

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

What is Ruby on Rails Sample Rails Apps with Juggler for fun

इस ट्यूटोरियल में, मैं "रूबी ऑन रैल्ज़ क्या है" सवाल का जवाब दूँगा? और आप इसके साथ प्रयोग करने में मदद करने के लिए प्रोग्रामिंग ढांचे की मूल बातें करने के लिए परिचय दूंगा। 

आरंभ करने से पहले कृपया याद रखें, मैं नीचे दी गई चर्चाओं में भाग लेता हूं। अगर आपके पास कोई प्रश्न या विषय सुझाव है, तो कृपया नीचे एक टिप्पणी पोस्ट करें या ट्विटर पर मुझे संपर्क करें @reifman। 

रूबी ऑन रैल्ज़ क्या है?  

रूबी ऑन रैल्ज़ एक लोकप्रिय, खुला स्रोत, ऑब्जेक्ट-ओरिएंटेड वेब डेवलपमेंट फ़्रेमवर्क है जिसका इस्तेमाल कई प्रोग्रामर और एप्लिकेशन प्रदाताओं द्वारा किया जाता है।  यह एक मॉडल व्यू नियंत्रक (एम.वी.सी) दृष्टिकोण पर आधारित है।

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

प्रोग्रामर की खुशी के लिए अनुकूलन करते हूए कॉन्फिगरेशन पर कन्वेन्शन को प्राथमिकता दे कर, हम ऐसे रोल करते हैं।  

नियंत्रक (कन्ट्रोलर) उपयोगकर्ता और सर्वर के बीच मुख्य रूप से अनुरोध का प्रबंधन करता है, मॉडल से डेटा एकत्र कर के और व्यू फाइल के माध्यम से उपयोगकर्ता को लौटाता है। 

व्यू अनिवार्य रूप से प्रोग्रामेटिक HTML फ़ाइलें हैं जो डायनामिक डेटा के साथ पृष्ठ को प्रदर्शित करते हैं। 

रैल्ज़ कन्वेन्शन डेवलपर्स को RESTful रुटिंग पर भरोसा करने के लिए मार्गदर्शित करता है। नियंत्रक कार्रवाई आम तौर पर - नया (new), बनाना (create), संपादित (edit) करना, अपडेट करना (update), नष्ट करना (destroy), शो (show), अनुक्रमणिका (index) आदि।  ये उपयोगकर्ता और सिस्टम को विभिन्न विशेषताओं के साथ सहभागिता करने के लिए अनुमति देते हैं। 

सामूहिक रूप से, रैल्ज़ के एम.वी.सी. (MVC) सुविधाओं को एक्शन पैक कहा जाता है, यानी एक्शन कॉन्ट्रोलर (ActionController), एक्शन वीव (ActionView) और एक्टिवरेकॉर्ड (ActiveRecord), आखरी वाला डाटाबेस के साथ इंटरैक्ट करने के लिए।

What is Ruby on Rails The Action Pack View Controller Record

रैल्ज़ के संस्थापक हंससन ने The Ruby on Rails Doctrine नामक ढांचे के पीछे एक सैद्धांतिक धर्मशास्त्र प्रदान किया है। 

What is Ruby on Rails The Rails Doctrine

रूबी ऑन रैल्ज़ पर सिद्धांत (डाक्ट्रिन)

रेल सिद्धांत में आठ सिद्धांत शामिल हैं:

  1. प्रोग्रामर की खुशी के लिए अनुकूलित करें: जब भी संभव हो, रूबी ने प्रोग्रामर की इच्छाओं को पूरा करने का प्रयास किया। 
  2. कॉन्फ़िगरेशन पर कन्वेंशन: मानक, प्लेटफ़ॉर्म व्यापी डिफ़ॉल्ट विकल्पों का चयन करना, नई परियोजनाओं पर प्रोग्रामरों को आरंभ करने के लिए इसे तेज़ और आसान बनाता है। 
  3. मेनू ओमेकस है: रेल के पीछे की टीम ने सबसे अच्छे उपकरण और दृष्टिकोण का चयन किया है, और हर कोई उनका उपयोग करके खुश होगा। 
  4. कोई भी प्रतिमान नहीं: अंत में रेल विभिन्न अवसरों के लिए लचीला समाधानों को गले लगाता है। 
  5. सुंदर कोड उमाड़ना: सौंदर्यशास्त्र और सादगी पर प्राथमिक ध्यान केंद्रित। 
  6. मूल्य एकीकृत प्रणाली: ऐप्लकेशन और समाधानों के निर्माण के लिए आवश्यक सभी उपकरणों की पूर्ण जागरूकता और एकत्रीकरण के लिए एक नीति (ओरीएन्टेशन)। 
  7. स्थिरता से महत्वपूर्ण प्रगति: आगे बढ़ने के लिए जोखिम को ले जाने के लिए एक इच्छा। 
  8. एक बड़े तम्बू को पुश करें: दृष्टि सेट करने के लिए प्रतिभागियों का एक बड़ा समुदाय और उनकी आवाज का स्वागत करते हुए। 
रेल की मुख्य उपलब्धियां प्रोग्रामिंग और प्रोग्रामर की प्रकृति के बारे में विचारों के व्यापक सेट के एक मजबूत जनजाति को एकजुट और विकसित करना थी।  - डेविड हाइनेमेयर हांससन

वर्तमान में प्राथमिक रेल योगदानकर्ता हैं (संस्थापक डेविड हैन्सन ऊपरी बाएं में हैं):

What is Ruby on Rails The Core Team

और उनके पास एक हार्दिक, स्वागत करने वाला समुदाय है: 

शायद आप आगे और अधिक जानने में दिलचस्पी रखते हैं, तो यहां बताया गया है कि कैसे आरंभ करें।

रूबी ऑन रैल्ज़ के साथ आरंभ होना

रेल का उत्कृष्ट दस्तावेजों का एक संग्रह है।  आरंभिक मार्गदर्शिका की यहां एक नज़र है:

What is Ruby on Rails Getting Started

यह गाइड आपको एक सामान्य परिचय, बुनियादी इन्स्टलेशन और कुछ शुरुआती रेल प्रोग्रामिंग के माध्यम से ले जाता है।  

रूबी ऑन रैल्ज़ स्थापित (इन्स्टलेशन) करना 

मैक (Mac) उपयोगकर्ताओं को रूबी पहले से इंस्टॉल मिल जाएगा।  विंडोज़ उपयोगकर्ता RailsInstaller को देख सकते हैं।  ओएस एक्स (OS X) पर एक पूर्ण रेल इन्स्टलेशन के लिए, गाइड टोकैडो की सिफारिश करता है। वैकल्पिक रूप से, डैनियल केहो ने एक-क्लिक इंस्टॉलर से बचने का सुझाव दिया है और मैक ओएस एक्स एल कैप्टन (Mac OS X El Capitan) इंस्टॉल करने के लिए विस्तृत निर्देश प्रदान करता है।  

अनुभवी रेल डेवलपर्स यह भी रिपोर्ट करते हैं कि यह वेब एप्लिकेशन डेवलपमेंट को अधिक मजेदार बनाती है। - रैल्ज़ गाइड

हालांकि, यह कुछ समय था जब से मैं रेल चलाया था, और इसे एल कैप्टन (El Capitan) के मैक पर अपने देर के मॉडल वाला मैक पर पुनः इन्स्टलेशन करने में बहुत समय लगा।

रूबी की इन्स्टलेशन की पुष्टि करें

ओएस एक्स (OS X) पर रूबी पहले से स्थापित हो जाएगा:

रैल्ज़ फ़्रेमवर्क (Rails Framework) स्थापित करें  

मेरी रेल इन्स्टलेशन में लगभग 10 से 15 मिनट लगते थे (धीरज रखें):

लेकिन, यह काम किया है: 

अपना ऐप्लकेशन और फ्रेमवर्क इंस्टेंस बनाएं 

फिर मैंने ब्लॉग नामक एक नया एप्लिकेशन बनाया: 

आप अपने ऐप्लकेशन के भीतर रेल वेब अनुप्रयोग ढांचे की डिरेक्टरी संरचना ब्राउज़ कर सकते हैं:  

यहां प्रारंभिक मार्गदर्शिका से एक दृश्य (व्यू) है, जिसमें दिखाया गया है कि कैसे रूबी ऑन रैल्ज़ कॉन्फ़िगरेशन के ऊपर कन्वेन्शन पर निर्भर करता है: 

What is Ruby on Rails Directory Structure Convention

अपने सर्वर को लॉन्च करें 

अंत में, आप कमांड लाइन के साथ अपने सर्वर को लॉन्च कर सकते हैं: 

अपने ऐप्लकेशन पर जाएं

अपने ब्राउज़र में, http://localhost:3000 पर जाएं, और आपको एक सामान्य रेल एप्लीकेशन के लिए अपना डिफ़ॉल्ट होम पेज देखना चाहिए: 

What is Ruby on Rails Welcome Page of New Application

मुझे कहना है, मैं चाहता हूं कि यह सब थोड़ा क्लीनर होता।  ऐसा कहे जाने के बाद, आपको बढ़ने में मदद करने के लिए वहाँ कुछ अद्भुत समुदाय संसाधन हैं। 

गहराई में जाना

यहां एक निःशुल्क गोरेल्स स्क्रीनकास्ट का एक उदाहरण है जिसमें उपरोक्त निर्देशिका में दिखाए गए मूल रूपरेखा एप्लिकेशन आर्किटेक्चर को कवर किया गया है:

और रेल गाइड ही आपको कई शुरुआती चरणों के माध्यम से चलता है: 

What is Ruby on Rails The Getting Started Guide Table of Contents

कुल मिलाकर, आपको लिखित और स्क्रीनकास्ट ट्यूटोरियल की एक विस्तृत विविधता है जो आपको मार्गदर्शन प्रदान करती है।

समापन होने को 

यदि आपको रूबी ऑन रैल्ज़ और उसके समुदाय की गुणवत्ता से चकित किया गया है, तो मुझे आशा है कि आपको यह परिचय मिलना एक सहायक शुरुआती बिंदु है।  शायद आपने ऊपर इन्स्टलेशन करने की भी कोशिश की है। 

हाल ही में, मुझे ऐप्पल की स्विफ्ट की खुली सोर्सिंग से चकित हूँ, जो कि रूबी के समान दीर्घकालिक क्षमता वाले ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज स्पेस में एक रोमांचक प्रवेशक है, रूबी ऑन रैल्ज़ जैसा।

हालांकि मैंने पहले से रैल्ज़ के साथ काम किया है, मैंने इसके साथ संघर्ष भी किया है, खासकर होस्टिंग और कार्यक्षमता बढ़ाने के लिए - मैंने इसे और अधिक महँगे होस्टिंग भी पाया है।  मैं Yii के साथ सबसे अधिक आरामदायक रहना जारी रखता हूं, जिसे आप हमारे एन्वाटो टट्स+ यइआईआई2 (Yii2) प्रोग्रामिंग सीरीज़ में पढ़ सकते हैं।  और PHP 7 उभरते हुए, भविष्य PHP- आधारित प्रोग्रामिंग फ़्रेमवर्क के लिए तेज़ और उज्ज्वल दिखता है। 

यदि आपके कोई प्रश्न हैं, तो कृपया उन्हें नीचे पोस्ट करें। या, आप ट्विटर पर @reifman पर मुझसे संपर्क कर सकते हैं। मेरे द्वारा लिखे गए अन्य ट्यूटोरियल देखने के लिए कृपया मेरे एन्वाटो ट्यूट्स+ निर्देशक पृष्ठ की जांच करें, जैसे कि आइविट्नेस का पता लगाने के लिए सोशल मीडिया का इस्तेमाल करना, जो कि Instagram और Twitter के APIs पर प्रकाश डालता है। 

सम्बंधित लिंक्स

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.