2011-08-24 9 views
58

प्रश्न के लिए माफी इतनी व्यक्तिपरक है।एएसपीनेट एमवीसी डेवलपर्स के लिए जावास्क्रिप्ट सर्वोत्तम प्रथाओं

मैं एएसपीनेट एमवीसी अनुप्रयोगों में बेहतर जावास्क्रिप्ट को प्रबंधित करने के तरीके के कुछ व्यावहारिक उदाहरणों की तलाश में हूं।

jQuery से पहले मैंने जितना संभव हो जावास्क्रिप्ट का उपयोग करने से बचने की कोशिश की। अब मैं इसका बहुत उपयोग कर रहा हूं लेकिन मुझे लगता है कि मैंने अपने वेबस्क्रिप्ट कोड को बड़े वेब अनुप्रयोगों में संरचित करने के लिए कुछ सर्वोत्तम प्रथाओं/सिफारिशों को याद किया होगा।

कुछ चीजें हैं जो मैं का दोषी हूँ और से दूर ले जाना चाहते हैं: मेरे विचार में

  1. इनलाइन जावास्क्रिप्ट। मैं कोड के लोगों से बात नहीं कर रहा हूं लेकिन मेरे लिए प्रत्येक दृश्य पर कुछ प्रारंभिक कोड रखना असामान्य नहीं है।
  2. एक बड़ी "साइट" जावास्क्रिप्ट फ़ाइल। चूंकि मेरे एप्लिकेशन में उपयोग किए गए प्लगइन्स की सूची बढ़ती है (उदाहरण के लिए jquery ui), तो मेरा प्लगइन प्रारंभ करने वाला मेरा "स्टार्टअप" फ़ंक्शन भी है। अक्सर यह समस्या 1 से बचने के लिए है (जावास्क्रिप्ट इनलाइन जोड़ना)। शायद प्रति दृश्य एक जावास्क्रिप्ट फ़ाइल एक बेहतर समाधान है?
  3. सब कुछ बहुत प्रक्रियात्मक लगता है। मैं .NET में ऑब्जेक्ट उन्मुख तरीके से काम करने के लिए प्रयोग किया जाता हूं, लेकिन जब जावास्क्रिप्ट की बात आती है तो यह खिड़की से बाहर निकलता प्रतीत होता है। अब मुझे पता है कि ओओपी निश्चित रूप से संभव है, और जावास्क्रिप्ट के साथ प्रोत्साहित किया गया है लेकिन मैं कुछ व्यावहारिक उदाहरण देखकर कर सकता हूं कि मुझे वास्तविक वेब एप्लिकेशन के संदर्भ में इसे कैसे करना चाहिए।
  4. नेमस्पेसिंग/प्रोजेक्ट स्ट्रक्चर - मैंने जावास्क्रिप्ट नेमस्पेसिंग (ऑब्जेक्ट्स के आधार पर) के कुछ उदाहरण देखे हैं और दृष्टिकोण की तरह लेकिन फिर कुछ और पृष्ठभूमि ज्ञान के साथ कर सकते हैं।

कोई भी साइट, किताबें इत्यादि जो लोग सिफारिश कर सकते हैं उनकी सराहना की जाएगी।

+16

@jfar - यकीन नहीं क्यों कि एक downvote समर्थन करती है, खासकर के रूप में मैं विकल्पों के बारे में अधिक जानकारी के लिए पूछ रहा हूँ। –

+3

+1। मुझे लगता है कि इस सवाल से कई डेवलपर्स, esp से संबंधित किया जा सकता है। कोई भी सिर्फ एमवीसी पर शुरू होता है, जैसे कि I. –

+7

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

उत्तर

2

मैं दृष्टिकोण यहाँ वर्णित उपयोग किया है:

http://weblogs.asp.net/jaimedelpalacio/archive/2011/03/23/a-way-to-organize-your-javascript-code.aspx

मुझे पता है कि क्या आप इसे के बारे में सोच उत्सुक होगी।

रेफरी अतः

Is there a better way to organise javascript in a single file with specific code for multiple pages?

+0

मुझे यह पसंद है। केवल एक चीज यह है कि यदि कोई custome मार्गों का उपयोग कर रहा है तो रणनीति खत्म हो जाएगी। इसके चारों ओर एक रास्ता मार्ग-टेम्पलेटिंग का उपयोग मार्गों के साथ-साथ जावास्क्रिप्ट बूटस्ट्रैप को रणनीतियों के लिए नियंत्रकों को हुक करने के लिए करना होगा। विचार खुद को दोहराना नहीं है। –

0

मेरे लिए पर एक समान सवाल का, KnockoutJS तरह पुस्तकालयों मेरी जे एस कोड को व्यवस्थित करने के लिए एक बहुत मदद की है, यह वास्तव में शक्तिशाली है, मैं कई परियोजनाओं के लिए यह प्रयोग किया जाता है और यह है वास्तव में अच्छी तरह से काम किया। (मैं भी एक एएसपीएनटी एमवीसी डेवलपर हूं लेकिन यह अन्य तकनीकों पर भी लागू होता है, इसके अलावा, जिस व्यक्ति ने इसका आविष्कार किया है, उसके पास एस्पनेट एमवीसी के साथ बहुत अनुभव है)

9

मैंने सोचा कि मैं अपने 2 सेंट में फेंक दूंगा।

  1. Best practice विचारों में JScript का उपयोग नहीं करने का सुझाव देते हैं, और इस मैंने पाया एचटीएमएल सहायकों कि JScript शामिल है या जे एस फ़ाइलों में JScript धक्का और अपने HTML सहायक में यह प्रारंभ का उपयोग करके टाला जा सकता है। यह तीसरा पक्ष एमवीसी नियंत्रण देव (उदाहरण के लिए टेलीरिक) का उपयोग करता है। यदि आप अपने नियंत्रक में जेस्क्रिप्ट को धक्का देने का निर्णय लेते हैं, तो आप पाएंगे कि यह बहुत जल्दी गन्दा हो जाता है।

  2. मैं अक्सर खुद को उसी परिदृश्य में ढूंढता हूं जहां मेरे पास प्रत्येक दृश्य के लिए एक जेएस फ़ाइल है, लेकिन इसे एक जेएस प्रति मॉड्यूल रखने के लिए समेकित किया जा सकता है। यह फिर से है कि आपका कोड कितना जटिल हो सकता है।यदि आपको लगता है कि कई विचारों में समान प्रारंभिकता है, तो आप आधार दृश्य दृष्टिकोण को नीचे जा सकते हैं। इसे सर्वश्रेष्ठ अभ्यास भी माना जाता है।

  3. आप पाएंगे कि JScript is quite OO और यह कैसे JScript JSON का उपयोग करता है के साथ क्या करना है। मुझे लगता है कि जेस्क्रिप्ट की लचीलापन ओओपी से दूर होने लगती है। जेस्क्रिप्ट के साथ मेरा सीमित अनुभव इसे छोटा और संक्षिप्त रखना है और यह पुनः उपयोग करने योग्य जेएसक्रिप्ट को फिर से लागू करेगा।

  4. मुझे लगता है कि इस JScript में अभ्यास के साथ अति-आ जा सकता है। यहां मुझे सबसे बड़ा मुद्दा नाम-अंतर के साथ नहीं है, लेकिन जेएसक्रिप्ट की डुप्लिकेटिंग/डबल लोडिंग से कैसे बचें। यदि विचार "आत्मनिर्भर" होते हैं, तो सिद्धांत में अपनी स्वयं की जेस्क्रिप्ट लोड करनी चाहिए, लेकिन इससे जेएसक्रिप्ट कई बार लोड हो जाएंगे या यहां तक ​​कि संघर्ष भी पैदा होंगे। दोबारा, एक अच्छा एचटीएमएल सहायक आपको यहां बचा सकता है (एप्लॉजीज, मेरे पास एक अच्छा उदाहरण नहीं है, लेकिन Google इसे और आप गलत नहीं जा सकते हैं)।

कुल मिलाकर, जेस्क्रिप्ट बहुत शक्तिशाली है और वेब प्रोग्रामिंग को एक नए स्तर पर खोलता है। जेस्क्रिप्ट वेब प्लेटफॉर्म का अधिक से अधिक हिस्सा होगा, खासकर जब हर कोई एचटीएमएल 5 में चलता है। एमवीसी और जेएसआरपीटी के साथ, बिल्कुल वही काम करने के 100 अलग-अलग तरीके हैं और सर्वोत्तम अभ्यास केवल आपको ले जा सकता है। आप जो हासिल करने की कोशिश कर रहे हैं उसके आधार पर यह तय करने के लिए बाकी है, आपके लक्षित दर्शक कौन हैं और आप कौन से ब्राउज़र का समर्थन कर रहे हैं।

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