रेल का बड़ा लाभ यह है कि आप है एक मंच और एक भाषा है जिसका आप उपयोग करते हैं जो सर्वर-कोड को संभालेगा और क्लाइंट-कोड उत्पन्न कर सकता है (दृश्यों का उपयोग करके)।
निस्संदेह यह सैद्धांतिक लाभ जल्दी ही फिसलना शुरू हो जाता है जब आप जावास्क्रिप्ट और jquery के साथ अपने उपयोगकर्ता अनुभव को बेहतर बनाना चाहते हैं। तो वास्तव में आपको अभी भी दो भाषाओं को सीखना है।
लेकिन फिर भी: आपके सभी मॉडल, व्यवसाय-नियम, ... रूबी में सर्वर-साइड पर संभाला जाता है। इसका यह भी अर्थ है कि सर्वर हमेशा पहुंच योग्य होना चाहिए।
क्या एक javacript/क्लाइंट एमवीसी (बैकबोन.जेएस, स्प्राउटकोर, ...) की पेशकश कर सकते हैं आप एक अधिक देशी आवेदन महसूस कर सकते हैं। एक एकल वेब पेज एप्लिकेशन, जैसे उदा। जीमेल लगीं। आपकी आवश्यकताओं के आधार पर ऐसे मंच के लिए कुछ बहुत ही वैध उपयोग-मामले हैं। जैसे कम कनेक्टिविटी वाले स्थानों या उपकरणों में यह बहुत उपयोगी हो सकता है (HTML5 के साथ) एक वेब-एप्लिकेशन है जिसे हर समय "ऑनलाइन" होने की आवश्यकता नहीं होती है। यह स्थानीय स्टोरेज में डेटा और संपादन को सहेज सकता है और डिवाइस वापस ऑनलाइन होने पर सर्वर/डेटाबेस पर वापस सिंक कर सकता है।
लेकिन, रेल के साथ संयोजन में क्लाइंट एमवीसी अनुप्रयोगों को विकसित करते समय एक बड़ा नुकसान होता है: आपको कुछ डबल विकास करना होगा (यह वही है जब आप फ्लेक्स/चांदी की रोशनी का उपयोग कर रहे हों)। आपके मॉडल को सर्वर और क्लाइंट दोनों पर परिभाषित करने की आवश्यकता होगी। मैं कल्पना कर सकता हूं कि क्लाइंट एमवीसी की तरह कुछ सुधार किए जा सकते हैं, आप वास्तव में प्रस्तुति-वर्गों का उपयोग कर रहे हैं, जो सर्वर-साइड पर विभिन्न मॉडलों/तालिकाओं में संग्रहीत किए जा सकते हैं। लेकिन फिर भी तर्क, मॉडल, ...
इसलिए मुझे लगता है कि ज्यादातर अनुप्रयोगों के लिए, कुछ क्लाइंट एमवीसी ढांचे पर स्विच करना बुद्धिमान नहीं है। यह बहुत अधिक काम होगा।
लेकिन जब आपको वास्तविक मूल एप्लिकेशन, या एक पृष्ठ-वेब एप्लिकेशन के स्वरूप और अनुभव की आवश्यकता होती है, तो एक जावास्क्रिप्ट क्लाइंट एमवीसी फ्रेमवर्क जाने का तरीका है। और यदि आपको क्लाइंट एमवीसी ढांचे की आवश्यकता है, तो मैं Sproutcore का प्रस्ताव दूंगा।
अपने वर्तमान रेल एप्लिकेशन को आसानी से अजेज़ करने के लिए (प्रत्येक पृष्ठ के लोड-टाइम को कम करता है), pjax-rails पर एक नज़र डालें।
http://backbonetutorials.com आपको शुरू करने में मदद कर सकता है। –