2010-01-16 10 views
25

मैं सिनात्रा (रूबी ढांचे) के बारे में उलझन में हूं।आप सिनात्रा के लिए क्या उपयोग करते हैं?

क्या यह हल्का रेल प्रतिस्थापन है या आप उन्हें एक तरफ दौड़ सकते हैं?

क्या आप वेब एप्लिकेशन (जैसे रेल में) कर सकते हैं? उदाहरण के लिए एक ट्विटर क्लोन?

उत्तर

60

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

हालांकि 100% सटीक नहीं है, सिनात्रा अधिकतर वास्तुशिल्प पैटर्न में फिट बैठता है, और रेल एक स्पष्ट MVC कार्यान्वयन है।

विशेष रूप से आपके सवालों के जवाब के लिए:

  • यह नहीं रेल को बदलने के लिए इरादा है
  • यह कर सकते हैं कंधे से रन पक्ष
  • आप सिनात्रा
  • में एक चहचहाना क्लोन बना सकते हैं
5

नमक के एक अनाज के साथ मेरा जवाब लें (क्योंकि मैंने वास्तव में पहले एक सिनात्रा आवेदन नहीं किया है), लेकिन सिनात्रा का "मीठा स्थान" माइक्रो-ऐप है: छोटे छोटे अनुप्रयोग जहां एक पूर्ण एमवीसी ढांचा होगा overkill। सिनात्रा के साथ, आप कोड की एक फ़ाइल के साथ एक संपूर्ण वेब ऐप बना सकते हैं।

"माइक्रो ऐप" का एक उदाहरण rubular है (हालांकि, मुझे नहीं पता कि इसमें क्या ढांचा लिखा गया है)। रूबुलर एक चीज करता है, और एक चीज बहुत अच्छी तरह से होती है। रेल का उपयोग करना अधिक होगा।

+0

दिलचस्प बात यह है कि रूबुलर में रेल बैकएंड है। http://builtwith.com/rubular.com – Rishi

15

हम वर्तमान में सिनात्रा का उपयोग कर रहे हैं एक उत्पादन परियोजना के लिए (अभी तक जीवित तैनात नहीं, अभी भी देव में)।

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

रेल माना जाता था, लेकिन उनका उपयोग नहीं है क्योंकि:

  • कोई दृश्य नहीं परत (अनिवार्य रूप से देखा गया सिर्फ JSON/XML बाकी प्रतिक्रियाओं कर रहे हैं)
  • मॉडल अगली कड़ी का उपयोग कर (ActiveRecord विचित्र साथ विरासत डीबीएस के साथ काम कर बेकार कार्यान्वित किया जाता है , गैर मानक संरचनाओं, लेकिन अगली कड़ी काफी अच्छा इस के लिए है)
  • नियंत्रक और मार्ग परत काफी सरल है (यद्यपि वहाँ कुछ जटिल व्यापार रूबी में लागू तर्क यह समर्थन)
है

इन आवश्यकताओं को देखते हुए रेल उपयोग योग्य है, लेकिन ओवरकिल, जहां सिनात्रा अच्छी जगह पर हिट करता है।

1

हमने http://tweetarium.com के लिए सिनात्रा का उपयोग किया, मैडलेप के उपयोगकेस की तरह ही साइट का बहुमत सिर्फ AJAX कॉल है, इसलिए विचार बहुत सरल हैं।

हम एक ORM का उपयोग नहीं करते, बस चहचहाना एपीआई से JSON serializing और TokyoCabinet

में यह कैशिंग मैं व्यक्तिगत रूप से लगता है सिनात्रा एपीआई के लिए एक उत्कृष्ट फिट है। प्रत्येक संस्करण एक अलग अंतराल पर घुड़सवार एक अलग सिनात्रा ऐप हो सकता है और आप इसे अपने रेल ऐप के अंदर चला सकते हैं।

+0

इस तथ्य के आधार पर कि साइट नीचे है, मैं कहूंगा कि यह इतना अच्छा नहीं हुआ :) – Mehran

+0

@Mehran अच्छी ट्विटर ने बाद में ट्विटर सूचियों को जारी किया जिसने टूल को कम उपयोगी बना दिया ताकि हम इसे बंद करो, लेकिन सरल एपीआई के लिए मैं अब अंगूर पर एक नज़र डालेगा। – MatthewFord

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