अजाक्स-भारी वेब अनुप्रयोगों के लिए पैटर्न


12

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

जैसे ही मेरे आवेदन अजाक्स पक्ष (एकल-पृष्ठ एप्लिकेशन आदि) पर भारी हो जाते हैं, मैंने देखा कि मैं मदद नहीं कर सकता, लेकिन एमवीसी की मूल अवधारणाओं को धोखा दे सकता हूं: जावास्क्रिप्ट अधिकांश काम कर रहा है; नियंत्रक को केवल विचारों या अधिक js / json कोड के लिए कॉल करना गलत लगता है।

नियंत्रकों में सभी राउटिंग नौकरियों को रखने के लिए प्रयास करने के बाद, अब मैंने मौलिक रूप से इसे और जावास्क्रिप्ट (यानी फ्रेमवर्क के पीओवी, विचारों का हिस्सा) के बीच विभाजित किया है। जब json के लिए पूछ MVC तोड़फोड़ और भी अधिक स्पष्ट दिखता है: js अनुरोध कर कोड है नियंत्रक; फ्रेमवर्क नियंत्रक केवल मॉडल के डेटा के लिए प्रॉक्सी के रूप में कार्य कर रहा है - मैं वास्तव में क्या पूछ रहा हूं।

तो, मुझे क्या देखना चाहिए?

मैं शुद्ध-जावास्क्रिप्ट अनुप्रयोगों के बारे में सोच रहा था, उदाहरण के लिए backbone.js और बैकएंड के रूप में दस्तावेज़-आधारित, json-spitting database (couchDB), लेकिन मैं अपने संबंधपरक डेटाबेस से प्यार करता हूं।

एक अन्य विकल्प निम्नलिखित होगा: मैं सिर्फ PHP / रूबी / गो / व्हाट्सएप में "रूड मॉडल" बनाऊंगा। वे अनुरोध का विश्लेषण करेंगे, डीबी को कॉल करेंगे, कुछ जसन वापस देंगे।

यह दृष्टिकोण मुझे दिलचस्प लगता है, लेकिन इसमें किसी भी पर्याप्त दस्तावेज या अकादमिक विश्लेषण का अभाव है, इसलिए मैं छलांग से थोड़ा डरता हूं।

विचार?


आप सॉकेटस्ट्रीम जैसी किसी चीज़ में माइग्रेट करना चाहते हैं । जिसे वास्तविक समय, ग्राहक भारी अनुप्रयोगों के लिए डिज़ाइन किया गया है
रेयनोस सिप

2
डर मत बदलो। रिलेशनल डेटाबेस में अपना स्थान होता है, लेकिन यदि आपका प्रोजेक्ट रिलेशनल डेटाबेस के लिए कॉल नहीं करता है, तो इसका उपयोग न करें।
बीटगैमिट

जवाबों:


1

यदि कोई अकादमिक विश्लेषण नहीं है, तो इसे स्वयं करें। बस अपने अगले लघु उद्योग पर प्रयोग करें, और देखें कि आपको यह कैसे पसंद है। पॉल ग्राहम के निबंध पढ़ें कि वह अपने स्टार्टअप के लिए लिस्प को क्यों चुनते हैं, भले ही इसका आमतौर पर उपयोग नहीं किया गया था। http://www.paulgraham.com/avg.html

वहाँ MVC जावास्क्रिप्ट फ्रेमवर्क के बहुत सारे हैं। यदि आप मुख्य रूप से जावास्क्रिप्ट एप्लिकेशन का निर्माण करना चाहते हैं, तो करें।

बस रेल में एक आरामदायक एपीआई का निर्माण करें या जो भी फ्रेमवर्क आप उपयोग करते हैं वह डेटाबेस के लिए सिर्फ एक आवरण है, और आपको रिलेशनल डेटाबेस को छोड़ना नहीं पड़ेगा। जैसे आप सर्वर आधारित लॉजिक एप्लिकेशन थे, वैसे ही आप एपीआई को डेटाबेस को कॉल करेंगे।

इसके अतिरिक्त, यदि आप अपना ऐप इस तरह से बनाते हैं, तो आप ऑफ़लाइन सहायता में बहुत आसानी से निर्माण कर सकते हैं।


मैं अपने अगले प्रोजेक्ट के लिए यह कोशिश करूंगा। जावास्क्रिप्ट फ्रेमवर्क के लिए, आप क्या सुझाव देते हैं? केवल एक ही मैंने अब तक देखा है रीढ़ की हड्डी है।
cbrandolino

@cbrandolino बैकबोन सीमित समय से अच्छा लग रहा है जो मुझे इसके साथ खेलना था। आप एक छोटी परियोजना के लिए sammyjs.org की जांच करना चाहते हैं ।
सेठ आर्चर ब्राउन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.