11

इन दिनों बहुत सारे जावास्क्रिप्ट एमवीसी फ्रेमवर्क उपलब्ध हैं (बैकबोन.जेएस, कैप्चिनो, एम्बर.जेएस, जीडब्ल्यूटी, आदि), जिनमें से प्रत्येक के अपने सकारात्मक और नकारात्मक हैं। मेरे प्रश्न हैं;जावास्क्रिप्ट एमवीसी फ्रेमवर्क

  1. वास्तविक लाभ है कि MVC ढांचे सामान्य जावास्क्रिप्ट से अधिक प्रदान करता है क्या हैं?
  2. क्या सभी ढांचे ज्यादातर jQuery पर आधारित हैं?
  3. कोई तय करता है कि किस ढांचे के लिए जाना है? कुछ ढांचे पर pinpointing से पहले क्या सवाल पूछने की जरूरत है?
  4. एक विशिष्ट प्रश्न है कि मैं MVC के बारे में है कुछ चौखटे जो अद्यतन दृश्य के रूप में जल्द ही मॉडल/डेटा परिवर्तन के रूप में ... तो AJAX के माध्यम से संभव है कि देखते हैं क्या है?

कृपया मुझे बहुत ही बुनियादी व्यावहारिक दृष्टि से यह बताने ..

+1

[कौन सा जावास्क्रिप्ट ढांचे (jQuery बनाम डोजो बनाम ...)?] (Http://stackoverflow.com/questions/394601/which-javascript-framework-jquery-vs-dojo-vs) – dynamic

+4

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

+0

@laurens peeters: बिल्कुल सही ... मैं जावास्क्रिप्ट एमवीसी ढांचे का जिक्र कर रहा हूं विशेष रूप से और सामान्य jQuery, डोजो, मोजो, आदि – testndtv

उत्तर

3
  1. लाभ:

    • पुन: प्रयोज्य कोड
    • व्यापार तर्क से देखने तर्क का पृथक्करण
    • आसान बनाए रखने के लिए/दस्तावेज़
  2. उदाहरण के लिए नहीं।, ExtJS के मूल GWT से आते हैं (अगर मैं सही याद)

  3. आप जटिलता और आप करते हैं और पेशेवरों और वक्र सीखने चौखटे के विपक्ष वजन की कोशिश कर रहे हैं की पैमाने पर देखने के आपको आवश्यक सुविधाओं के मुकाबले/व्यय (दोनों समय और मौद्रिक)। उदाहरण के लिए, यदि आपको शक्तिशाली डेटा ग्रिड और उन्नत विजेट की आवश्यकता है, तो extJS जाने का तरीका हो सकता है। हालांकि, अगर आप कुछ हल्का जरूरत है, Django एक बेहतर विकल्प (सिर्फ एक उदाहरण)
  4. हाँ, यह सब AJAX के माध्यम से किया जाता हो सकता है। ExtJS 4 में, जब आप ग्रिड से जुड़े स्टोर में रिकॉर्ड जोड़ते हैं, तो ग्रिड स्वचालित रूप से अपडेट हो जाता है।

मुझे उम्मीद है कि इससे मदद मिलती है।

+0

ExtJS yui – SriN

4

एमवीसी मानक जावास्क्रिप्ट पर स्थापत्य लाभ प्रदान करता है - यह आपको बेहतर संगठित, और इसलिए अधिक रखरखाव कोड लिखने में मदद करता है। यह एक पैटर्न है जिसका उपयोग कई भाषाओं और प्रोग्रामर की पीढ़ियों पर व्यापक रूप से परीक्षण किया गया है। संभावना है कि, यदि आप कुछ करना चाहते हैं, तो किसी और ने इसे पहले से ही कर लिया है, इसलिए समय-परीक्षण पैटर्न का उपयोग करने से आपको पैटर्न के लाभों का लाभ उठाने में मदद मिलती है, जो पहले प्रोग्रामर की गलतियों के बिना, आपको समय और प्रयास

बैकबोन jQuery पर आधारित नहीं है, लेकिन यह jQuery के साथ संगत है और यदि आप इसका उपयोग करते हैं तो आपको कुछ उपहार देता है, उदाहरण के लिए दृश्यों में यह आपको $ el में दृश्य कंटेनर के लिए एक कैश संदर्भ देता है। लेकिन अगर आप jQuery के बजाय ज़िप्टो का उपयोग करते हैं, तो $ el ज़िप्टो कार्यक्षमता में लपेटा गया है जो jQuery नहीं है।

YUI MVC घटक हैं और पूरी तरह से jQuery पर आधारित नहीं है;)

एक निर्णय लेता है चालू परियोजना, ढांचे के लिए प्रलेखन, समुदाय यह पर आधारित है, आदि की जरूरतों के आधार पर उपयोग की जाने वाली ढांचा यह चुनने के लिए कि कौन सी जेएस लाइब्रेरी का उपयोग करना है, या किस बैकएंड फ्रेमवर्क का उपयोग करना आदि।क्या एक व्यक्ति के लिए सही/परियोजना किसी अन्य व्यक्ति/परियोजना

4
  • वास्तविक लाभ क्या हैं कि MVC ढांचे सामान्य जावास्क्रिप्ट से अधिक प्रदान करता है के लिए सही नहीं हो सकता है? जब आप सभी व्यवस्थाएं ज्यादातर jQuery के आधार पर कर रहे हैं आपके आवेदन
  • में अपने कोड और अलग चिंताओं व्यवस्थित करने की आवश्यकता
  • फ़्रेमवर्क उपयोगी कर रहे हैं?
  • MVC चौखटे डोम हेरफेर, एनीमेशन करना है, jQuery मुख्य रूप से यहाँ है jQuery के साथ कुछ नहीं है, लेकिन वे सुविधाओं है कि आप एक घटना प्रणाली, अजाक्स, आदि जैसे jQuery में पा सकते हैं हो सकता है ... कैसे एक तय करता है कि किस ढांचे के लिए जाना है? कुछ ढांचे पर pinpointing से पहले क्या सवाल पूछने की जरूरत है?
  • आपको उन्हें परीक्षण करने, फ्रेमवर्क के बिना एक ऐप लिखने की आवश्यकता है, फिर अपने कोड को ढांचे के साथ दोबारा करने का प्रयास करें और देखें कि यह काम करना आसान है या नहीं।
  • एमवीसी के संबंध में मेरे पास एक विशिष्ट प्रश्न है कि कुछ ढांचे हैं जो मॉडल/डेटा में परिवर्तन के तुरंत बाद दृश्य को अद्यतन करते हैं ... तो क्या यह AJAX के माध्यम से संभव है?

  • वे सभी ऐसा करते हैं, यह एमवीसी का उद्देश्य है। जब मॉडल बदलता है, तो दृश्य को अधिसूचित किया जाता है और खुद को पुनः प्रस्तुत करता है ... लेकिन वे इसे विभिन्न तरीकों से करते हैं। वास्तव में एक "बाहरी" MVC ढांचे, एक घटना प्रणाली में बनाया गया है क्योंकि jQ पहले से ही है की जरूरत नहीं है

अब, मेरी राय में, jQuery के साथ, एक चाहिए, सहायक कार्यों का एक बहुत कुछ है, और जावास्क्रिप्ट वस्तुओं रहे हैं ऑब्जेक्ट्स के "वर्ग" को परिभाषित किए बिना उन्हें फ्लाई पर किसी भी व्यवहार को संलग्न करने के लिए पर्याप्त गतिशील।

मेरा मुद्दा यह है: आप jQuery के साथ अपना स्वयं का एमवीसी कर सकते हैं, सभी टूल्स पहले ही लाइब्रेरी में हैं।

यदि आपको अन्य चीजों की आवश्यकता है, जैसे "राउटर", सत्यापन सहायक, मचान, आदि ... तो एक एमवीसी ढांचा जाने का रास्ता है।

+1

से है, मैं नहीं कहूंगा कि मॉडल के बाद वे सभी स्वचालित रूप से विचार प्रस्तुत करते हैं परिवर्तन। मॉडल परिवर्तनों के बाद उनमें से पुन: प्रस्तुत करने सहित विचारों के प्रतिपादन को लागू करने के लिए बैकबोन इसे आपके ऊपर छोड़ देता है। JQuery का उपयोग करते समय अभी भी एक एमवीसी (या कुछ अन्य वास्तुशिल्प पैटर्न) की आवश्यकता होती है। यह स्थापित किया गया है कि अकेले jQuery को 'बड़े', गैर-तुच्छ जावास्क्रिप्ट अनुप्रयोग बनाने में तैयार नहीं किया गया है, न ही यह उपयोगी है: http://blog.rebeccamurphey.com/on-jquery-large-applications – danwellman

+0

बेशक, यह जब मॉडल बदलता है तो दृश्य के व्यवहार को कोड करने के लिए आप पर निर्भर करता है, एक ढांचा एक जादुई सामान नहीं है जहां आपको काम करने के लिए अपने एचटीएमएल में .js फ़ाइल डालना होगा। – mpm

+0

मैं रेबेका मर्फी से सहमत नहीं हूं। जब कोई घटना भेज और सुन सकता है, तो उसे केवल अपनी एमवीसी बनाने की जरूरत है। आखिरकार, एमवीसी रणनीति पैटर्न और पर्यवेक्षक पैटर्न का मिश्रण हो सकता है। जावास्क्रिप्ट में इन पैटर्न को लागू करने के लिए आपको कुछ खास क्यों चाहिए?केवल उन वस्तुओं को बनाएं जिनके पास आवश्यक व्यवहार है। ट्रिगर/Suscbribe घटनाओं को ट्रिगर करने में सक्षम होने के नाते आपको पर्यवेक्षक पैटर्न को लागू करने की आवश्यकता है। और आपको स्ट्रिंगजी पैटर्न को लागू करने के लिए विशेष कुछ भी नहीं चाहिए, केवल 2 ऑब्जेक्ट्स। – mpm

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