2009-04-09 5 views
5

मैं रेल सीख रहा हूं और सिनात्रा & मेरब के बारे में बहुत कम विचार है। मैं सोच रहा था कि ऐसी स्थितियां हैं जहां आप मेर्ब/सिनात्रा का उपयोग करेंगे।परिदृश्य क्या हैं जिनमें से कोई सिनात्रा या मेरब का उपयोग करेगा?

आपकी प्रतिक्रिया के लिए धन्यवाद!

उत्तर

7

सिनात्रा रेल की तुलना में बहुत छोटा, हल्का वजन ढांचा है। इसका उपयोग तब किया जाता है जब आप जल्दी से कुछ चलाना चाहते हैं जो केवल कुछ यूआरएल से निकलता है और कुछ सरल सामग्री देता है। Sinatra home page पर एक नज़र डालें; आपको केवल "हैलो, वर्ल्ड" को चलाने और चलाने की ज़रूरत है, जबकि रेल में आपको एक पूरी परियोजना संरचना उत्पन्न करने की आवश्यकता होगी, एक नियंत्रक और एक दृश्य स्थापित करें, रूटिंग सेट करें, और इसी तरह (मैंने नहीं किया है थोड़ी देर में एक रेल ऐप लिखा, इसलिए मुझे नहीं पता कि "हैलो, वर्ल्ड" कितने कदम हैं, लेकिन यह निश्चित रूप से सिनात्रा से अधिक है)। सिनात्रा के पास रेल की तुलना में बहुत कम निर्भरताएं हैं, इसलिए इसे स्थापित करना और चलाने में आसान है।

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

MerB is being merged into Rails, तो बहुत जल्द वहाँ नहीं वास्तव में एक दूसरे के ऊपर का उपयोग करने के किसी भी कारण से किया जाना चाहिए। यह मूल रूप से थोड़ा हल्का वजन और रेल से अधिक decoupled होने के लिए बनाया गया था; रेलों ने धारणाओं में और अधिक बनाया था कि आप ActiveRecord का उपयोग करेंगे। लेकिन चूंकि वे दोनों विलय कर रहे हैं, वे समान तरीके से रेल को कम कर रहे हैं, इसलिए यदि आप पहले से ही रेल सीख रहे हैं, तो शायद इसके साथ रहना और विकास के बाद आने वाले कार्यक्रमों का पालन करना संभव है।

+0

@ ब्रायन - बहुत बहुत धन्यवाद। यही वही था जो मैं जानना चाहता था। – tundal45

2

मैं मेरब के लिए ज्यादा बात नहीं कर सकता, लेकिन सिनात्रा छोटे या हल्के समाधानों के लिए अत्यधिक प्रभावी है। यदि आप पूरी तरह से कोड के साथ काम नहीं कर रहे हैं, या किसी बड़ी वेबसाइट की आवश्यकता नहीं है, तो आप सिनात्रा के साथ एक बहुत प्रभावी साइट को या तो तेजी से, या दो बार जितनी जल्दी रेल (मेरी राय में) के रूप में कोड कर सकते हैं।

सिनात्रा एक आवेदन के खंडित टुकड़ों के लिए भी उत्कृष्ट है, उदाहरण के लिए आंकड़े पैकेज के सामने-अंत। या ErrCount जैसे कुछ, जो कि वास्तव में एक बहुत ही सरल हिट काउंटर है।

तो, प्रकाश, तेज, और अत्यधिक साधारण वेब अनुप्रयोगों के बारे में सोचते हैं (हालांकि जटिलता अपनी पसंद है) जब सिनात्रा का उपयोग कर।

+0

उस विवरण को जोड़ने के लिए बहुत बहुत धन्यवाद। अब मैं देख सकता हूं कि सिनात्रा मेरे कोडिंग एस्केप में फिट हो सकता है। – tundal45

1

जिस तरह से चीजें चल रही हैं, यह जल्द ही एक महत्वपूर्ण सवाल होगा।

जैसा कि पहले से उल्लेख किया गया है, मेरब 2.0 और रेल 3.0 एक ही चीज़ होने जा रहे हैं। नव संयुक्त मर्ब और रेल कोर टीम पहले से ही इसे प्राप्त करने पर काम कर रही हैं। मुझे नहीं पता कि वे अभी भी मई में RailsConf द्वारा रिलीज (शायद बीटा) पर योजना बना रहे हैं, लेकिन यह निश्चित रूप से इस वर्ष हो रहा है।

आप ActiveRecord के अलावा किसी अन्य ORM का उपयोग करने पर मृत सेट कर रहे हैं, उदाहरण के लिए, आप MerB साथ अब अद्यतन शुरू करने और जब 2.0 (रेल 3.0) जहाजों हो सकता है। फिलहाल, मेरब को आम तौर पर रेल की तुलना में किसी के घटकों के लिए बेहतर ढांचा प्रदान करने के लिए स्वीकार किया जाता है।

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

फिर, रेल (और इसलिए जल्द ही MerB) अब रैक के शीर्ष पर बैठे के साथ, वहाँ बच्चे शामिल करने के लिए नहीं सिनात्रा समाधान में एप्लिकेशन कोई कारण नहीं है।a blog post that discusses that very concept

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