2010-01-21 13 views
6

मैं वेब प्रोग्रामिंग के लिए बहुत नया हूं (या वास्तव में, इसके लिए बहुत पुराना है, क्योंकि आखिरी बार जब मैंने वेब से गड़बड़ की थी तो HTML 1.1 था), लेकिन अब इसे एक वेब एप्लिकेशन को जल्दी से तैनात करने की आवश्यकता है। ऐसा लगता है कि हर बार जब मैं घूमता हूं, वहां सीखने के लिए नए शब्दकोष और तकनीकें होती हैं (जेएसओएन, एक्सएमएलआरपीसी, जीडब्ल्यूटी, जावास्क्रिप्ट, रेल, इत्यादि)।क्या मुझे इस वेबसाइट एप्लिकेशन के लिए रेल या रूबी का उपयोग करना चाहिए? कैसे?

यहाँ मेरी एप्लिकेशन करना चाहिए क्या करना है:

  1. एक उपयोगकर्ता नाम और पासवर्ड को देखते हुए, प्रमाणित (बहुत आसान है, सब कुछ है कि, जाहिरा तौर पर करता है)।
  2. उपयोगकर्ता को प्रोसेसिंग के लिए डेटा का एक बड़ा ग्लोब अपलोड करने की अनुमति दें।
  3. डेटा को संसाधित करें।
  4. उपयोगकर्ता को अपने संसाधित डेटा डाउनलोड करने की अनुमति दें।

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

मैं इन मौजूदा और परीक्षण विधियों का उपयोग करके इस कार्य के लिए वेब फ्रंट-एंड बनाना चाहता हूं। मैं वर्तमान में इस दृष्टिकोण पर झुका रहा हूं:

  1. दो मशीनें, डेटाबेस मशीन और वेब सर्वर है। यह दृष्टिकोण बाद में स्केलेबिलिटी के लिए अनुमति देता है, यदि आवश्यक हो, लेकिन यह भी आवश्यक है कि मैं यह नहीं मान सकता कि मैं डेटा का उपयोग करने और इसे कुशल बनाने के लिए उपयोग किए जाने वाले प्रोग्राम स्थानीय रूप से संग्रहीत हैं।
  2. सर्वर और क्लाइंट बनाने के लिए Ruby DRb एप्लिकेशन का उपयोग करें। ग्राहक सर्वर पर डेटा पास करेगा जो बदले में इन अनुप्रयोगों को कॉल करेगा।
  3. वेब फ्रंटेंड के लिए डीआरबी के साथ बातचीत करने के लिए कुछ अन्य रूबी इंटरफ़ेस का उपयोग करें।

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

क्या रेल मेरे लिए सही तकनीक है, या रूबी डीआरबी का उपयोग कर रहा है? क्या कोई अन्य तकनीक है जो मुझे खोजनी चाहिए?

यदि रेल या रूबी सही बात है, तो मुझे क्या देखना चाहिए? मेरे पास पहले से ही Programming Ruby पुस्तक है, और कुछ बैकएंड सामानों के साथ-साथ मूल डीआरबी सामान काम करने के लिए इसका उपयोग किया है।

उत्तर

16

रेल की तरह लगता है आपकी स्थिति के लिए थोड़ा हेवीवेट हो सकता है। शायद Sinatra बेहतर फिट हो सकता है? यह एक अति-हल्का ढांचा है: एक हैलो वर्ल्ड ऐप कुछ ऐसा दिख सकता है:

require 'sinatra' 
get '/' do 
    "Hello World!" 
end 
+0

वाह, सिनात्रा पूरी तरह से शानदार दिखता है! मुझे पहले से ही एक नौ लाइन प्रोग्राम मिला है जो ड्रैब के माध्यम से रिमोट प्रोग्राम को कॉल करता है और परिणामों को वेबपृष्ठ पर पोस्ट करता है। – mmr

+0

@mmr यह बहुत अच्छा है। पुस्तक को पढ़ना सुनिश्चित करें! (Http://www.sinatrarb.com/book.html) –

1

रेल ठीक है। आप अपनी स्थानीय मशीन और रिमोट मशीन पर उत्पादन डेटाबेस पर विकास और परीक्षण डेटाबेस कर सकते हैं। यह वेब सर्वर होना आवश्यक नहीं है। Agile Web Development with Rails की एक प्रति प्राप्त करें। यह आपको सिखाएगा जो आपको जानने की जरूरत है।

+0

रेल ठीक है, भले ही मैं रेल की किसी भी डेटाबेस कार्यक्षमता का उपयोग नहीं करना चाहता हूं? रेलवे क्या है, फिर, यदि डेटाबेस डेटाबेस में संग्रहीत नहीं है? – mmr

+0

रेल मॉडल-व्यू-कंट्रोलर आर्किटेक्चरल पैटर्न के चारों ओर एक ढांचा है, लेकिन मॉडल भाग बहुत अधिक प्लग करने योग्य है।मॉडल परत, ActiveRecord के रूप में उपयोग किए जाने वाले ओआरएम को पूरी तरह से अक्षम किया जा सकता है, जिससे आप केवल नियंत्रकों और विचारों को छोड़ सकते हैं। डेटा भंडारण के लिए आप जो भी उपयोग करते हैं, वह आपके ऊपर है। –

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

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