अब तक, मैं वेब एप्लिकेशन विकसित करने के लिए MVC पैटर्न का बहुत बड़ा प्रशंसक रहा हूं। वेब के लिए, मैंने ज्यादातर PHP (कोहना और कोडाइन्गिटर फ्रेमवर्क के साथ) और रूबी (आरओआर) विकसित किया है।
जैसे ही मेरे आवेदन अजाक्स पक्ष (एकल-पृष्ठ एप्लिकेशन आदि) पर भारी हो जाते हैं, मैंने देखा कि मैं मदद नहीं कर सकता, लेकिन एमवीसी की मूल अवधारणाओं को धोखा दे सकता हूं: जावास्क्रिप्ट अधिकांश काम कर रहा है; नियंत्रक को केवल विचारों या अधिक js / json कोड के लिए कॉल करना गलत लगता है।
नियंत्रकों में सभी राउटिंग नौकरियों को रखने के लिए प्रयास करने के बाद, अब मैंने मौलिक रूप से इसे और जावास्क्रिप्ट (यानी फ्रेमवर्क के पीओवी, विचारों का हिस्सा) के बीच विभाजित किया है। जब json के लिए पूछ MVC तोड़फोड़ और भी अधिक स्पष्ट दिखता है: js अनुरोध कर कोड है नियंत्रक; फ्रेमवर्क नियंत्रक केवल मॉडल के डेटा के लिए प्रॉक्सी के रूप में कार्य कर रहा है - मैं वास्तव में क्या पूछ रहा हूं।
तो, मुझे क्या देखना चाहिए?
मैं शुद्ध-जावास्क्रिप्ट अनुप्रयोगों के बारे में सोच रहा था, उदाहरण के लिए backbone.js और बैकएंड के रूप में दस्तावेज़-आधारित, json-spitting database (couchDB), लेकिन मैं अपने संबंधपरक डेटाबेस से प्यार करता हूं।
एक अन्य विकल्प निम्नलिखित होगा: मैं सिर्फ PHP / रूबी / गो / व्हाट्सएप में "रूड मॉडल" बनाऊंगा। वे अनुरोध का विश्लेषण करेंगे, डीबी को कॉल करेंगे, कुछ जसन वापस देंगे।
यह दृष्टिकोण मुझे दिलचस्प लगता है, लेकिन इसमें किसी भी पर्याप्त दस्तावेज या अकादमिक विश्लेषण का अभाव है, इसलिए मैं छलांग से थोड़ा डरता हूं।
विचार?