फ्रेमवर्क चुनना और सीखना


पिछले दो अध्यायों में फ्रेमवर्क क्या हैं और कौन से फ्रेमवर्क मौजूद हैं को कवर किया गया था। यह वाला व्यावहारिक पक्ष है: कौन सा उपयोग करें, कौन सा चुनें, और इसे कैसे सीखें। क्रम महत्वपूर्ण है, क्योंकि पहला सवाल ही वह है जिसे अक्सर छोड़ दिया जाता है।
क्या आपको बिल्कुल फ्रेमवर्क की जरूरत है?
दो प्रोजेक्ट्स की कल्पना करें। पहला एक ऐसा ऐप है जिसमें खाते, फॉर्म्स, और स्क्रीन्स हैं जो सभी साझा डेटा पर प्रतिक्रिया करते हैं। इसे हाथ से बनाना मतलब ठीक उसी सिस्टम को फिर से बनाना है जो एक फ्रेमवर्क पहले से ही सही कर चुका है, और वैनिला संस्करण एक बिखरा हुआ, आधा परीक्षित फ्रेमवर्क बन जाता है जिसे कोई विरासत में लेना नहीं चाहता। ऐसे में Django या React का उपयोग करना विकल्प की तुलना में कम गतिशील भागों को चुनना है।
दूसरा एक लैंडिंग पेज है, एक कंटेंट साइट, एक छोटा स्क्रिप्ट, एक फॉर्म जो कहीं जमा होता है। सामान्य HTML, CSS, और थोड़ा JavaScript इन सभी को कोई बिल्ड स्टेप, कोई dependency updates, और अगले साल कोई माइग्रेशन के बिना कवर करते हैं। ऐसे पेज को एक पूर्ण फ्रेमवर्क में लपेटना ऐसी मशीनरी जोड़ता है जिससे केवल टूलिंग को फायदा होता है। बहुत से अनुभवी डेवलपर्स जानबूझकर वैनिला शिप करते हैं, और यह एक पेशेवर उत्तर है, कभी भी एक शुरुआती का समझौता नहीं।
इंजीनियरिंग के पास एक सीधा पुराना नियम है जो दोनों मामलों को कवर करता है: KISS, "keep it simple, stupid"। यह अपमान डिजाइनर की ओर नहीं बल्कि डिजाइन की ओर निर्देशित है, और विचार यह है कि सबसे अच्छा समाधान वह है जिसमें सबसे कम मशीनरी हो और अभी भी काम करे। दोनों प्रोजेक्ट्स ऊपर इसका पालन करते हैं, और वे विपरीत उत्तरों पर पहुंचते हैं।
यह परीक्षण को एक सवाल बनाता है, हर प्रोजेक्ट के लिए ताजा पूछा जाता है: वह विकल्प चुनें जो आपको कम मशीनरी को बनाए रखने के लिए छोड़ता है। जब सिस्टम उत्पाद को बौना करता है, तो वह फ्रेमवर्क है। जब उत्पाद लगभग सब कुछ है, तो वह वैनिला है।
कौन सा चुनें
जब उत्तर हाँ हो, तो unglamorous मानदंड के साथ चुनें। Benchmarks और feature तुलना सबसे कम उपयोगी inputs हैं, क्योंकि एक परिवार के भीतर लोकप्रिय विकल्प सभी काफी तेज़ और काफी सक्षम हैं। जो वास्तव में आपकी दैनिक जिंदगी को आकार देता है:
Ecosystem और community: परिपक्व documentation, उत्तर दिए गए सवाल, और packages जिन समस्याओं को आप हिट करेंगे। Team और codebase जिसमें आप शामिल हो रहे हैं: सबसे अच्छा फ्रेमवर्क आमतौर पर वह है जो आपका प्रोजेक्ट पहले से उपयोग कर रहा है, और team के भीतर consistency novelty को हराता है। Job market, अगर काम के लिए सीख रहे हैं: शुद्ध उपयोग संख्याएं मायने रखती हैं, जो एक बड़ा हिस्सा है कि क्यों React कई लोगों की rational पहली पिक है। और language जिसे आप जानते हैं: एक Python developer Django तक Rails से तेजी से पहुंचता है क्योंकि कारण जिनका गुणवत्ता से कोई संबंध नहीं है।
vanilla विकल्प को आखिर तक सूची पर रखें। अगर comparison table भर जाती है और कोई भी candidates simplicity test पर "none of the above" को beat नहीं करता, तो वह उत्तर आपको कुछ बता रहा है।
किसी भी फ्रेमवर्क को कैसे सीखें
Language को पहले सीखें। एक फ्रेमवर्क अपनी language को हर जगह assume करता है: React code JavaScript wall to wall है, और Django ऐप की हर confusing line Python के नीचे है। Learners जो फ्रेमवर्क पर skip करते हैं एक साथ दो mysteries debug करने में समाप्त होते हैं, फ्रेमवर्क का behaviour और language की syntax, कोई तरीका नहीं है कि कौन सी कौन है। अगर React आपका लक्ष्य है, तो JavaScript track वास्तविक पहला कदम है; Django या pytest के लिए, Python track एक ही भूमिका निभाता है। Language first सबसे बड़ा shortcut है, क्योंकि यह वह हिस्सा है जो हर जगह transfer होता है।
फिर कुछ छोटा और real बनाएं। एक छोटा project जो आप वास्तव में चाहते हैं, official tutorial को lean करते हुए बनाया गया, किसी भी amount की watching और reading से अधिक सिखाता है, क्योंकि फ्रेमवर्क की shape केवल आपके अपने हाथों के नीचे समझ में आती है। पहले project को purpose पर modest रखें: इसकी पूरी job फ्रेमवर्क के ideas को आप में introduce करना है, और masterpiece बाद में आ सकता है।
और जैसे जाएं, हमेशा पूछते रहें कि फ्रेमवर्क आपके लिए क्या कर रहा है। हर convenient feature कुछ real के लिए stand in है: एक route URL parsing के लिए, एक component DOM updates के लिए, एक model SQL के लिए। आपको इन layers को upfront master करने की जरूरत नहीं है, लेकिन जानना कि वे मौजूद हैं, और मोटे तौर पर फ्रेमवर्क इनके साथ क्या करता है, यह use करने को अलग करता है एक फ्रेमवर्क से blindly पर निर्भर होने के लिए।
यह आपको कहाँ छोड़ता है
यह पूरा primer है: simplicity test के रूप में, unglamorous मानदंड pick के लिए, learning के लिए language से पहले framework। जब एक specific framework अगला दिखाई दे, इन docs में या wild में, The kinds of frameworks उसे place करने का map है, और What is a framework इसके नीचे definition है।

