2010-12-17 10 views
12

मुझे जावास्क्रिप्ट के साथ कुछ अनुभव है - लेकिन मुख्य रूप से कुछ छोटी चीजों के साथ, मैंने कभी जावास्क्रिप्ट में वास्तव में कुछ भी बड़ा नहीं किया।एक बड़े जावास्क्रिप्ट प्रोजेक्ट पर काम करने के लिए टिप्स

अभी, हालांकि, मैं एक बड़ी जावास्क्रिप्ट से संबंधित प्रोजेक्ट कर रहा हूं, एक jquery-powered frontend जो AJAX के माध्यम से JSON भेजकर/प्राप्त करके सर्वर-साइड बैकएंड के साथ संचार करता है।

मुझे आश्चर्य है कि क्या आप बड़ी जावास्क्रिप्ट परियोजनाओं से निपटने के तरीके पर कुछ उपयोगी जानकारी प्रदान कर सकते हैं - क्या कोई सहायक उपकरण/मुक्ति/अच्छी प्रथाएं हैं?

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

+0

सुनिश्चित करें कि आप क्लाइंट के लिए अपने जावास्क्रिप्ट को छोटा करें और gzip करें। – Asaph

+0

@ग्रीगोरी किसी भी उपकरण की आवश्यकता नहीं है, दो सामान्य हेल्पर फ़ंक्शंस और दोहराए गए कोड – kobe

+1

के लिए सामान्य फुकनशन लिखें और आपके पास – kobe

उत्तर

2

ग्रिगोरी,

यहां तक ​​कि मैं यूआई कुछ महीनों के लिए एक बैकएंड से चले गए वापस केवल इस दृष्टिकोण

  1. या तो गूगल से या कुछ पुस्तक के माध्यम से या jQuery के माध्यम से jQuery के सभी अवधारणाओं को पढ़ने का पालन करें प्रलेखन।
  2. jQuery के कुछ का पालन सर्वोत्तम प्रथाओं http://psdcollector.blogspot.com/2010/03/77-best-jquery-tips-i-have-ever-read.html getcookie की तरह सभी दोहराया कोड, के लिए
  3. लिखने utitlity कार्यों subsstrings आदि आदि
  4. रखें अपने कोड अनुभवी व्यक्ति द्वारा की समीक्षा हो रही आप
  5. पोस्ट अगर आप stackoverflow करने के लिए मार्गदर्शन कर सकते हैं जो कहीं भी अटक जाओ।
  6. क्योंकि यह बड़ी परियोजना मल्टीपल फाइलों में विभाजित है और उचित नामकरण विश्वास का उपयोग करती है।

आप के साथ मॉडल उपलब्ध कराने के द्वारा किसी और

+0

+1, उपयोग सम्मेलनों नामकरण, नामस्थान, वस्तुओं! वेब जे एस पर पुरानी संसाधनों से भरा है - ओल्ड-स्कूल जावास्क्रिप्ट या उसके ट्यूटोरियल द्वारा परीक्षा नहीं किया है। – Konerak

+0

धन्यवाद! करेंगे :-) –

+0

@grigory, हमें बताएं कि आपको किसी भी मदद की ज़रूरत है, मैं बड़ी jquery json परियोजना – kobe

2

jQuery and YUI 3: A Tale of Two JavaScript Libraries जटिल अनुप्रयोग के संदर्भ में उनकी एक अच्छी तुलना है, और jQuery प्रोग्रामर के लिए भी उपयोगी संकेत देता है।

+0

यह क्यों था नीचे मतदान किया? मेरे लिए बेहद प्रासंगिक माना जाता है। यहां तक ​​कि यदि पोस्टर jQuery से दूर नहीं जा रहा है, तो उसे पता होना चाहिए कि वह क्या कर रहा है। – mwilcox

+0

आप इस तरह के एक व्यापक प्रश्न के उत्तर नीचे वोट करने के लिए चाहते हैं, तो कम से कम जोड़ने क्यों जवाब गलत/खतरनाक है - भले ही वह * * सही जवाब नहीं है। – Konerak

4

आप जावास्क्रिप्ट भारी आवेदन करने के लिए Backbone.js

रीढ़ की आपूर्ति संरचना की जाँच करने के लिए चाहते हो सकता है कुछ भी जरूरत है तो कृपया मुझे बताएं कुंजी-मान बाइंडिंग और कस्टम ईवेंट, संग्रह समृद्धके समृद्ध एपीआई के साथफ़ंक्शंस, घोषणात्मक इवेंट हैंडलिंग के साथ विचार, और इसे पर रीस्टफुल JSON इंटरफ़ेस पर आपके मौजूदा एप्लिकेशन से कनेक्ट करता है।

1

सबसे अच्छी सलाह है कि आपके कोड को "कक्षाओं" के रूप में अलग-अलग फ़ाइलों में विभाजित रखें। मैं व्यक्तिगत रूप से ऐसी फाइल में काम करने से नफरत करता हूं जो कुछ सौ लाइनों से अधिक लंबी है।

फिर इकट्ठा और वेब पर उपकरणों में से एक के साथ अपने कोड कम करें, जैसे Shrinksafe या Google Closure Compiler

ध्यान दें कि डोजो, YUI, और Ext सभी बड़े अजाक्स अनुप्रयोगों को संभालने के लिए तैयार कर रहे हैं। आप jQuery के साथ थोड़ा सा संघर्ष करेंगे। लेकिन मुझे लगता है कि यह ऐप सभी नहीं है जो बड़ा है और आपको ठीक होना चाहिए।

0

आप बाहर की जाँच करने पर विचार MooTools?

MooTools एक कॉम्पैक्ट, मॉड्यूलर, Object-Oriented JavaScript framework उन्नत जावास्क्रिप्ट डेवलपर के लिए मध्यवर्ती के लिए डिज़ाइन किया गया है। यह आप अपने, सुंदर अच्छी तरह से प्रलेखित, और सुसंगत एपीआई के साथ, शक्तिशाली, लचीला, और क्रॉस-ब्राउज़र कोड लिखने की अनुमति देता है।

5

मेरे एक बड़ा टिप modularize हैं

जावास्क्रिप्ट में, यह चर अन्य चर मार करने के लिए बहुत आसान है। इससे बचने के लिए, मॉड्यूलरलाइजेशन जरूरी है। परिवर्तनीय संघर्ष की संभावना को कम करने के लिए जावाScripts स्कोप नियमों का लाभ उठाने के कई तरीके हैं। myProject -

var myProject = {}; 

myProject.form = function(p_name, p_method, p_action) 
{ 
    var name = p_name, 
     method = p_method, 
     action = p_action; 
    var addInput = function(p_input) 
    { 
     // etc... 
    } 

    return { 
     addInput: addInput, 
     name: name 
    }; 
} 

myProject.input = function(p_name, p_type, p_value) 
{ 
    var name, method, value; 
    var setValue = function(p_value) 
    { 
     value = p_value; 
     return true; 
    } 

    return { 
     setValue: setValue, 
     name: name 
    }; 
} 

// etc... 

आप var का उपयोग कर के बारे में सावधान कर रहे हैं, और अपने समारोह गुंजाइश का ट्रैक रखने, तो आप केवल एक वैश्विक चर है।

नया फॉर्म ऑब्जेक्ट प्राप्त करने के लिए, आप बस निम्न कार्य करेंगे: var myForm = myProject.form('form1', 'post', 'post.php')

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