2009-08-07 11 views
5

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

  • : हर बार जब मैं मेज पर शब्द मानकीकरण और JQuery, प्रोटोटाइप या किसी अन्य की तरह एक जे एस ढांचे का उपयोग कर लाने के लिए, मैं कर रहा हूँ बताया फ़्रेमवर्क तीन अंक उनके खिलाफ तर्क के रूप में नीचे है पता पर्याप्त जे एस
  • फ़्रेमवर्क जावास्क्रिप्ट डेवलपर्स को सीमित
  • फ़्रेमवर्क कि उपयोग नहीं किया जाता बहुत कुछ के साथ वास्तविक विकास कोड ब्लोट।
  • हम अपने अनुप्रयोगों में पर्याप्त जावास्क्रिप्ट का उपयोग नहीं करते हमें जे एस ढांचे

जरूरत के लिए के लिए मेरे मन में ऐसा लगता है कि व्यवस्थाएं, हमारी टीम एक अच्छा प्रारंभिक बिंदु, प्रलेखन, एक समुदाय और हमेशा करने का विकल्प दे ढांचे के शीर्ष पर बढ़ो। क्या कुछ फ्रेमवर्क उपयोगकर्ता आगे विस्तार कर सकते हैं?

संपादित करें 1:

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

+16

आपके सहकर्मी एक परीक्षण और विकसित पुस्तकालय का उपयोग करके कट और पेस्ट करना पसंद करते हैं? क्या आपने कहीं और काम की तलाश की है? –

+0

वह वास्तव में कोई समझ नहीं लेता है, तो आप बहुत सारे कोड लिखते हैं (ब्राउज़र के प्रकार पर खोए गए अमूर्त होने के कारण), अगर ओपेरा ऐसा करता है तो क्रोम ऐसा करता है, तो एल्सिफ़ एफएफ ऐसा करता है अगर आईई पूरी तरह से अलग है बात = पी। – JOBG

+1

भौगोलिक, अपनी टीम को इस पोस्ट का जवाब दिखाएं, लेकिन यह कहकर इसका प्रस्ताव लें कि स्टैक ओवरफ्लो दुनिया के सर्वश्रेष्ठ डेवलपर्स का संग्रह है, जिनमें से अधिकांश बहुमुखी संरचनाओं को सामान्य ज्ञान से कम नहीं मानते हैं। फिर देखें कि वे क्या कहते हैं। –

उत्तर

7

तर्क के खिलाफ:

  • फ़्रेमवर्क पहिया
  • फ़्रेमवर्क आम तौर पर अच्छी तरह से परीक्षण किया होते कोड
  • फ़्रेमवर्क अच्छी तरह से समुदाय द्वारा समर्थित हैं फिर से खोज करने से रोकने
  • फ़्रेमवर्क पर ध्यान केंद्रित करने के लिए मजबूर व्यवसाय समस्या जिसे आप हल करने का प्रयास कर रहे हैं

</sa rcasm>

  • फ़्रेमवर्क एक लाइसेंस आप सहमत नहीं हूँ/
13

अपने सहकर्मियों द्वारा की दृष्टि के साथ काम नहीं कर सकते हैं हो सकता है, नेट और जावा लोग पर्याप्त जानकारी नहीं है, जो के लिए कर रहे हैं सभा।

फ्रेमवर्क एक कारण के लिए मौजूद हैं। वे आपको दोहराव कोड से निपटने के बजाय समस्या पर ध्यान केंद्रित करने की अनुमति देते हैं। वे आपको आत्मविश्वास रखने की अनुमति देते हैं (माना जाता है कि आप अच्छी तरह से परीक्षण किए गए ढांचे का उपयोग करते हैं) कि आपके कोड के कुछ टुकड़े भरोसेमंद और अच्छी तरह से परीक्षण किए जाते हैं।

अपने सहकर्मियों चौखटे के खिलाफ कर रहे हैं, मैं गंभीरता से पर जाने से विचार करेंगे।

+0

सहमत हैं। क्या यह उत्तर की एक टिप्पणी.इनस्टेड होना चाहिए? – Surya

+0

@ कोडी: मैं आपसे 100% सहमत हूं, मैं दो पक्षीय सिक्कों की पूरी तस्वीर प्राप्त करने के लिए तर्कों की तलाश में हूं। मैं जवाब के रूप में आपका जवाब चुनने के लिए वास्तव में लुभाना चाहता हूं, लेकिन मैं विचार के खिलाफ अंक की उम्मीद कर रहा था। – Geo

1

मैं मुख्य रूप से लोगों को कि पर्याप्त जे एस

मेरा मानना ​​है कि यह उनके लिए बहुत ही जटिल है पता नहीं है के लिए पंजाब +

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

फ़्रेमवर्क जावास्क्रिप्ट डेवलपर्स

बकवास

फ़्रेमवर्क बातें कि उपयोग नहीं किया जाता का एक बहुत के साथ वास्तविक विकास कोड ब्लोट की सीमा।

आज यह अतिरिक्त 100k-200k क्या है? विशेष रूप से यदि आप सीडीएन संस्करणों का उपयोग करते हैं (उदाहरण के लिए Google पर)। और यह माना जाता है कि आप एफडब्लू में कुछ भी नहीं इस्तेमाल करते हैं।

+0

100-200 के? जब आप gzip के साथ न्यूनतम संस्करण का उपयोग करते हैं तो jq तार के नीचे केवल 26k होता है। – redsquare

+0

यह अधिकतम है, हर कोई न्यूनतम संस्करणों का उपयोग नहीं करता है। –

6

जावास्क्रिप्ट ढांचे के लिए कुछ सकारात्मक (जैसे JQuery)।

  1. वे ui तत्वों में मानकीकरण प्रदान करते हैं।
  2. जटिल इंटरफेस और प्रभाव विकसित करने के लिए समय कम करें।
  3. फ़ंक्शंस प्रदान करके प्रयासों को सामान्यीकृत करें जो पहले से ही क्रॉस-ब्राउज़र संगत हैं।
  4. पार अनुकूलता दस्तावेज में प्रयासों के कारण के रूप में आप कैनन के बजाय विभिन्न/मालिकाना जावास्क्रिप्ट कार्यों के लिए अस्पष्ट समर्थन के लिए खोज के रूप में ढांचे के एपीआई का उपयोग कर सकते एक ढांचे में अधिक उपयोगी है।
  5. नए डेवलपर्स के लिए कम सीखने की वक्र पर आपके सॉफ़्टवेयर को उत्पादक बनाने के लिए डेवलपर्स को उत्पादक बनाते हैं।

मैं पूरी तरह असहमत हूं कि एक ढांचा जावास्क्रिप्ट डेवलपर्स को सीमित करता है। काफी विपरीत वास्तव में। अधिकांश ढांचे में व्यापक प्लग-इन तंत्र प्रदान किए जाते हैं जहां ढांचे में हुक का उपयोग करके कच्चे जावास्क्रिप्ट का उपयोग करके ढांचे को बढ़ाया जा सकता है।

+3

jQuery जावास्क्रिप्ट में वास्तव में सुखद काम करता है। मैनिपुलेशन, प्रभाव इत्यादि के उच्च स्तरीय निर्माण की क्षमता प्रोग्रामर को जेएस और ब्राउज़र संगतता के minutiae की बजाय वांछित बातचीत पर ध्यान केंद्रित करने की अनुमति देता है। –

+0

बिल्कुल। ख़ूब कहा है। –

2

पुस्तकालयों के खिलाफ एक तर्क ब्रॉसर समर्थन है अधिकांश लाइब्रेरी केवल ब्राउज़र के उप-समूह का समर्थन करते हैं। Here बीबीसी का उदाहरण उदाहरण के लिए jquery जैसे कुछ का उपयोग करने के लिए है।

+0

आपके पास एक उदाहरण है? –

+0

पूरी तरह से एक वैध कारण .. क्यों डाउनवोट? – Surya

+0

मैं सहमत हूं, अगर आपको कुछ वास्तव में रास्ता-बाहर ब्राउज़र का समर्थन करने की आवश्यकता है, तो ढांचे का सबसे अच्छा विकल्प नहीं हो सकता है। कहा जा रहा है कि, वे अक्सर वास्तविक ब्राउज़र का समर्थन करते हैं। – deceze

7

चूंकि किसी ने इसका उल्लेख नहीं किया है - एक जावास्क्रिप्ट ढांचा तेजी से एक और परियोजना निर्भरता बन जाता है, और सामान्य शब्दों में, निर्भरता खराब होती है क्योंकि वे विफलता के बिंदुओं का प्रतिनिधित्व करते हैं।

इस के लिए के रूप में: मुख्य रूप से लोगों को कि पर्याप्त जे एस

पता नहीं है व्याख्या के बिना के लिए

  • , मैं कहता हूँ कि अगर हमारी टीम में से एक है कि मेरी उपस्थिति में की तरह कुछ कहा , मैं इसे एक मजाक के रूप में बंद करने की कोशिश करता हूं। अगर मैंने सोचा कि वे गंभीर हैं, तो शायद मुझे उन्हें मारना होगा।

    और इस के लिए के रूप में:

    • फ़्रेमवर्क जावास्क्रिप्ट को सीमित डेवलपर्स

    कि को उसका अनुवाद कर सकें "फ़्रेमवर्क यह मामूली कठिन स्पेगेटी कोड लिखने के लिए बनाने के लिए, और वह है क्या मैं पूरी कोशिश है"

    वे तर्क नहीं हैं, वे बहाने हैं।

+0

आपके पॉइंट के रूप में सही हो सकता है, जेएस लाइब्रेरी स्टाइलशीट या छवि की तुलना में निर्भरता नहीं है। यह किसी परियोजना के साथ कभी भी समस्या नहीं बननी चाहिए जिसे जेएस फाइलों को छवियों और सीएसएस के समान संसाधन के रूप में पेश करने के लिए आयोजित किया गया है। बस मेरे 2 सेंट। –

+0

@ इकरिया योद्धा - मैं किसी भी तरह से जेएस पुस्तकालयों का विरोध नहीं कर रहा हूं लेकिन मेरी राय में (और थोड़ा पैडेंटिक होने के नाते) वे विफलता के एक बिंदु का प्रतिनिधित्व करते हैं। उदाहरण के लिए, कल एक नया ब्राउज़र जारी किया गया था, और आज प्रबंधन को इसे समर्थित करने की आवश्यकता है। समर्थन में लिखने के लिए एक समुदाय (या एक विक्रेता) पर निर्भर करते हुए, असफलता का एक बिंदु सख्ती से बोल रहा है। – karim79

+2

समर्थन के परिप्रेक्ष्य से, फिर हां इसे विफलता का एक और बिंदु माना जा सकता है और निश्चित रूप से एक वैध बिंदु है - मैं आपके इनपुट को बदनाम करने की कोशिश नहीं कर रहा हूं। :) यह कहा जा रहा है कि घर अपने स्वयं के जावास्क्रिप्ट को बढ़ाना आपको नए ब्राउज़र संगतता मुद्दों से बचाता नहीं है। –

1

सामान्य रूप से ढांचे के बारे में संदेह होने के बहुत अच्छे कारण हैं, निश्चित रूप से संतुलित हैं कि वे क्यों फायदेमंद हैं।

मैं अब jquery का उपयोग करता हूं, और स्पष्ट रूप से सीखने के एक घंटे के भीतर यह महसूस किया कि यह नौकरी इतनी अच्छी तरह से फिट बैठता है कि अगर यह अस्तित्व में नहीं था तो मैं केवल कुछ ही समान रूप से पुन: कार्यान्वित कर दूंगा, केवल यह नहीं होगा अच्छा या क्रॉस प्लेटफार्म के रूप में।

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

3

मैं हैरान कोई भी पहले से ही यह उल्लेख किया गया है कर रहा हूँ:

  • विकल्प
  • और कुछ करने के लिए एक वेब पेज पर यह सहित अंत पर विचार किए बिना JQuery का उपयोग करने के वेब डेवलपर्स डिफ़ॉल्ट का एक बहुत तुच्छ कार्य है जो आसानी से शुद्ध जावास्क्रिप्ट में किया जा सकता है
  • परिणाम है कि उपयोगकर्ताओं को पूरे पुस्तकालय के लिए प्रतीक्षा करने डाउनलोड करने के लिए है और यह

इसके अलावा वेब ब्राउज़िंग धीमा है:

  • कुछ वेब डेवलपर्स वेब पृष्ठों की डिजाइन के साथ दूर ले जाते हैं, और JQuery
  • की शक्ति की वजह से अनावश्यक रूप से जटिल वेब पृष्ठों के विकास अंत
  • सिर्फ इसलिए कि JQuery आप अच्छा क्रॉस-ब्राउज़र संगतता के साथ स्क्रिप्ट बनाने के लिए सक्षम बनाता है इसका मतलब यह नहीं है कि अंतिम परिणाम विभिन्न उपकरणों/इंटरफेस
  • पर भी प्रयोग योग्य है, मैं क्रॉस-ब्राउज़र संगतता का भी तर्क दूंगा क्योंकि मैंने वेबकिट के उदाहरणों को JQuery
  • के साथ अच्छी तरह से नहीं खेलना है JQuery ने "तेज़" स्क्रिप्टिंग - लेकिन यदि आप इसे घुमाते हैं तो आपको
  • से कुछ याद आ सकता है
  • स्क्रैच से जावास्क्रिप्ट में लिखना धीमा है - लेकिन मेरा मानना ​​है कि आप एक और पूर्ण समाधान के साथ समाप्त होते हैं जो उपयोगकर्ताओं की अधिक निकटता से मेल खाता है
  • JQuery का उपयोग वेब डेवलपर का ध्यान केंद्रित करने के लिए वेब साइट डेवलपर का ध्यान केंद्रित कर सकता है जो अत्यधिक ग्राफिकल हैं और देखने में आकर्षक है, जबकि फोकस कार्यक्षमता और प्रयोज्य पर होना चाहिए
  • JQuery नहीं

मैं यहाँ पक्षपाती हूँ क्योंकि मैं JQuery का उपयोग नहीं करते वेब विकास के लिए एक चांदी की गोली है, लेकिन यह क्योंकि मैं स्वर्ग है ' टी को अभी तक इसकी आवश्यकता नहीं मिली - शायद ऐसा इसलिए है क्योंकि मैं उपयोगकर्ता इंटरफ़ेस को सुंदर दिखने के बजाय उपयोगिता और कार्यक्षमता पर अधिक ध्यान केंद्रित करता हूं (क्षमा करें मुझे पता है कि JQuery उस से अधिक कर सकता है)।

+0

अगर मैं किसी भी या सभी परियोजनाओं पर 70 केबी फ्रेमवर्क निर्भरता को छोड़ देता हूं तो मैं उन चीजों का सौवां हिस्सा नहीं कर सका। JQuery के खिलाफ बोलने के लिए अखंडता के लिए धन्यवाद। – John

5

मैं jQuery को एक उदाहरण के रूप में उपयोग करूंगा, लेकिन मैं यहां जो कह रहा हूं वह अधिकांश जावास्क्रिप्ट ढांचे पर लागू हो सकता है।

कई ढांचे (विशेष रूप से jQuery) बहुत अधिक मोनोलिथिक हैं और मॉड्यूलर पर्याप्त नहीं हैं।

अच्छी तरह से परीक्षण किए गए तृतीय पक्ष सॉफ़्टवेयर के आधार पर अक्सर उचित से अधिक होता है, "ढांचे" आपको इस समय की आवश्यकता से अधिक कार्यक्षमता प्रदान करते हैं।

कई परियोजनाओं में, मुझे बहुत पसंद है कि jQuery मुझे तत्वों के सेट चुनने के लिए देता है (उदाहरण के लिए $ ("। Classname") का उपयोग करके)। लेकिन, अगर मैं AJAX की किसी भी महत्वपूर्ण राशि का उपयोग नहीं कर रहा हूं, तो मुझे jQuery द्वारा प्रदान की गई AJAX उपयोगिता की आवश्यकता नहीं है।

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

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

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

यदि आप ऐसी उपयोगिता का उपयोग करते हैं जो एक चीज़ करता है, तो आप जानते हैं कि आप किस उपयोगिता का उपयोग कर रहे हैं। वहाँ सिर्फ एक है। (यदि आप उस उपयोगिता का उपयोग नहीं कर रहे हैं, तो यह निर्धारित करना आसान है। इस तरह का दृढ़ संकल्प यह होगा कि आप इसे अपने प्रोजेक्ट से सुरक्षित रूप से हटा सकते हैं।)

मैं सभी अच्छी तरह से परीक्षण किए गए तृतीय पक्ष कोड का उपयोग करने के लिए हूं। लेकिन अगर यह बहुत अधिक करने की कोशिश करता है, (यानी, यदि यह उपयोगिता के बजाय एक ढांचा है), तो आपको शायद एक विकल्प की तलाश करनी चाहिए। यदि यह बहुत अधिक करने की कोशिश करता है (जैसे jQuery बहुत अधिक करने की कोशिश करता है), तो इसमें कुछ गंभीर, आधारभूत डिज़ाइन त्रुटियां हैं जो शायद आपको काटने के लिए वापस आ जाएंगी।

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