2012-11-02 5 views
8

मैं backbone.js के लिए नया हूं और कुछ ट्यूटोरियल्स के माध्यम से अपना रास्ता काम कर रहा हूं। मुझे एक ऐसा जोड़ा मिला है जो अच्छा लगता है, लेकिन कुछ असंगतताएं हैं कि वे कैसे कार्यान्वित करते हैं, इसलिए मैं सर्वोत्तम प्रथाओं पर थोड़ा सा मार्गदर्शन ढूंढ रहा हूं।backbone.js noob विवादित ट्यूटोरियल द्वारा भ्रमित

मेरे सवाल कर रहे हैं:

  1. पहले टुट Backbone.Controller का उपयोग करता है

    यहाँ मैं से सीख रहा हूँ ट्यूटोरियल हैं लेकिन बैकबोन नहीं। चयन। दूसरा विपरीत है। एमवीसी पर रीढ़ की हड्डी में "सी" के लिए सबसे अच्छा अभ्यास कौन सा है?

  2. पहला टट मॉडल में यूआरएल को परिभाषित करता है, जबकि दूसरा इसे संग्रह में परिभाषित करता है। बेहतर अभ्यास कौन सा है?
  3. दूसरा टट बैकबोन.उटर का उपयोग करता है, जबकि पहला वाला नहीं होता है। सबसे अच्छा अभ्यास कौन सा है?

वैकल्पिक रूप से यदि कोई बेहतर परिचय प्रथाओं का पालन करने वाले बेहतर परिचय ट्यूटोरियल का सुझाव दे सकता है तो मुझे वहां से सीखने में खुशी होगी। दुर्भाग्य से इन दोनों के बीच असंगतताओं के कारण, मुझे चिंतित है कि मैं गेट से कुछ बुरी आदतों को सीख रहा हूं।

अग्रिम धन्यवाद।

उत्तर

3

बैकबोन.कंट्रोलर renamed to पिछले साल बैकबोन.राउटर था। मुझे लगता है कि आप एक पुराने ट्यूटोरियल पढ़ रहे थे।

BackboneTutorials.com शुरू हो रही है के लिए एक सभ्य ट्यूटोरियल है।

के रूप में आप सीखना एक छोटा सा एप्लिकेशन बनाएं और आपको पता चल जाएगा कि क्या बैकबोन आप के लिए करता है।

बैकबोन सीखने का सबसे अच्छा तरीका annotated source code से गुज़रना है। प्रत्येक पंक्ति पर टिप्पणी और समझाया जाता है।

अपने ऐप के निर्माण के दौरान minified संस्करण के बजाय dev version का उपयोग करें। यह डिबगिंग में मदद करता है।

यदि आप किताबें पढ़ रहे हैं, तो एडी ओस्मानी Backbone Fundamentals, एक निःशुल्क ई-बुक देखें। पुस्तक भयानक है, लेकिन काफी verbose। आप इसे संदर्भ के रूप में उपयोग कर सकते हैं।

संसाधनों की निश्चित सूची के लिए क्वारा पर this question देखें;

'वी' और 'सी' और एमवीसी पर रीढ़ की हड्डी के स्पिन के बारे में ज्यादा चिंता न करें। ढांचे कोड है कि सर्वर और कोड कि कोर ग्राहक तर्क करता है साथ सूचना का आदान को अलग करने का एक बहुत अच्छा काम करता है। Templating और डोम तत्वों को अद्यतन करने के लिए आप छोड़ दिया है। यह उस अर्थ में बहुत सरल है। रीढ़ Events प्रदान करता है अलग-अलग हिस्सों को एक दूसरे के साथ बातचीत कर रहा है।

+1

मुझे पता नहीं था कि नियंत्रक का नाम बदलकर राउटर कर दिया गया था, ताकि पुराना ट्यूटोरियल देखने पर लाल झंडा होना चाहिए। स्पष्टीकरण देने के लिए धन्यवाद। –

1

यह एक अच्छा सवाल है। हालांकि, बैकबोन इस स्थिति को नहीं ले रहा है कि आपको अपना कोड कैसे व्यवस्थित करना चाहिए।

तो, असली जवाब है: यह निर्भर करता है।

यह आपके आवेदन की आवश्यकता पर निर्भर करता है और आप प्रोग्राम के लिए कैसे उपयोग किए जाते हैं।

आप कुछ सबसे अच्छा अभ्यास के एक सिंहावलोकन चाहते हैं, मैं तुम्हें रीढ़ बॉयलरप्लेट परियोजना का उल्लेख चाहते हैं: https://github.com/tbranyen/backbone-boilerplate

इस परियोजना बहुत ठोस है, और वास्तव में मुझे बाहर में मदद की जब शुरू।

फिर, अपने प्रश्न (इस opiniated महसूस कर सकते हैं, और यह वास्तव में है) जवाब देने के लिए:

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

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

: राउटर के बारे में, यदि आप अपने ऐप पर एकाधिक पेज/सेक्शन बना रहे हैं, तो उनका उपयोग करें। लेकिन routesaction के रूप में उपयोग करने से सावधान रहें क्योंकि आप रीस्टफुल एपीआई में करेंगे, यह ज्यादातर समय अंततः समस्या लाता है (उपयोगकर्ता प्रेस बटन, इत्यादि)। इसलिए, यदि आप पृष्ठों का प्रबंधन करना चाहते हैं तो मार्गों का उपयोग करें।

इस सहायता की आशा करें !!

1

मैं अनुभव से जवाब देंगे:

प्रश्न: दूसरा विपरीत है। एमवीसी पर रीढ़ की हड्डी में "सी" के लिए सबसे अच्छा अभ्यास कौन सा है?

एक: वहाँ वर्तमान बैकबोन http://backbonejs.org/ में कोई Controller है - 'सी' (देखें नीचे) होता है या तो देखें (ज्यादातर मामलों) में या रूटर में।

प्रश्न: पहला टट मॉडल में यूआरएल को परिभाषित करता है, जबकि दूसरा संग्रह में इसे परिभाषित करता है। बेहतर अभ्यास कौन सा है?

ए: ऐसे मामले हैं जब आपको संग्रह की आवश्यकता नहीं होती है। मामले में जब तुम नहीं, अपने मॉडल बिल्कुल एक यूआरएल की जरूरत है। जब आपके पास संग्रह होता है, तो संग्रह के लिए निर्दिष्ट यूआरएल उसके मॉडल पर लागू होगा।

प्रश्न: दूसरा टट बैकबोन.उटर का उपयोग करता है, जबकि पहला नहीं होता है। सबसे अच्छा अभ्यास कौन सा है?

एक: अंगूठे का नियम - आप 2 मामलों में रूटर का उपयोग करना चाहते हैं: 1) आप इतिहास है करना चाहते हैं, और 2) जब आप पर्मालिंक्स करना चाहते हैं। अन्यथा आपको वास्तव में राउटर की आवश्यकता नहीं है।

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

  • कोई संबंधित समस्या नहीं^_^