विषयसूची[लुकाउनुहोस्][देखाउनु]
- त्यसोभए, मोड्युल महासंघ के हो?
- मोड्युल महासंघ किन ?
- मोड्युल फेडरेशन कोर कम्पोनेन्टहरू
मोड्युल संघ मुख्य विशेषताहरु+-
- उत्कृष्ट वेब प्रदर्शन
- प्रभावकारी विकास
- आत्म-निको पार्ने क्षमता र अनावश्यकता
- साझा निर्भरताहरूको प्रभावकारी व्यवस्थापन
- उपभोक्ताहरूलाई पुन: प्रयोग गर्नुको सट्टा, स्वतन्त्र कोड प्रयोग गर्नुहोस्।
- चलिरहेको बेला, अन्य निर्माणहरूबाट कोड आयात गर्नुहोस्।
- ग्राहक अनुभव संरक्षण गर्दा विकासकर्ता अनुभव परिष्कृत
- माइक्रो-फ्रन्टेन्डहरू मोनोलिथिक फेसनमा काम गर्छन्।
- निष्कर्ष
माइक्रो फ्रन्टएन्डको अवधारणाले फ्रन्टएन्ड विकासमा माइक्रो सेवाहरू लागू गर्दछ।
विचार भनेको एप्लिकेसन वा वेबसाइटलाई साना, स्वतन्त्र रूपमा विकसित टुक्राहरूमा तोड्ने हो जुन रनटाइमको समयमा जडान हुन्छ, तिनीहरूलाई एकल, एकजुट मोनोलिथको रूपमा सिर्जना गर्नुको विपरीत।
विधिले तपाईंलाई अन्य प्रविधिहरू प्रयोग गरेर र स्वतन्त्र टोलीहरूसँग अनुप्रयोगको अन्य घटकहरू सिर्जना गर्न सक्षम बनाउँछ।
यसरी विकासलाई विभाजन गरेर सामान्य मोनोलिथसँग सम्बन्धित मर्मत खर्च घटाउने विचार हो।
तिनीहरूलाई एक सुसंगत टोलीको रूपमा एप्लिकेसनको विशेष क्षेत्रमा ध्यान केन्द्रित गर्न अनुमति दिएर, यसले ब्याकएन्ड र फ्रन्टएन्ड devs बीचको सहयोगको नयाँ रूपहरू पनि सम्भव बनाउँछ।
उदाहरणका लागि, तपाईंसँग एउटा टोली हुन सक्छ जुन खोज क्षमता वा व्यवसायको लागि महत्त्वपूर्ण उत्पादनको अर्को पक्षको लागि मात्र जिम्मेवार छ।
मोड्युल महासंघलाई धन्यवाद, तपाईंसँग कार्यप्रवाह ह्यान्डल गर्न पर्याप्त कार्यक्षमता छ माइक्रो फ्रन्टएन्ड दृष्टिकोण जनादेश।
यो पोष्टले मोड्युल फेडरेशनको वास्तुकला, साथै यसको मुख्य सुविधाहरू र अनुप्रयोग ढाँचाहरूमा गहिरो नजर लिनेछ।
त्यसो भए, के हो एक मोड्युल महासंघ?
जाभास्क्रिप्टको मोड्युल फेडरेशन डिजाइनले धेरै अनुप्रयोगहरूमा पुन: प्रयोग गरिएका भागहरूको प्रयोग गर्दछ।
यो एकदम आधारभूत शब्दजाल हो, तर मैले भर्खरै यसलाई हावादार देखिने तरीकाले बनाएको छु।
प्रतिक्रिया एप्लिकेसन भित्र कम्पोनेन्टहरू साझेदारी गर्न हामी सबै परिचित छौं, मोड्युल फेडरेसनले प्रभावकारी रूपमा व्यवहारमा समान लक्ष्य पूरा गर्दछ, अपवाद बाहेक यसले अन्य अनुप्रयोगहरूद्वारा खपतको लागि अनुप्रयोग मोड्युलहरू गतिशील रूपमा उजागर गर्दछ।
मोड्युल महासंघले ती मुख्य साझा तत्वहरूलाई म्याक्रो वा माइक्रोको रूपमा वांछित रूपमा वितरण गरी वितरित प्रणालीमा मोड्युल साझेदारीको समस्यालाई हटाउन खोज्छ।
यो तिनीहरूलाई तपाईंको एपहरू र निर्माण कार्यप्रवाहबाट हटाएर पूरा हुन्छ।
मोड्युल महासंघ किन ?
यहाँ केहि कारकहरू छन् जुन मोड्युल संघले सजिलैसँग ह्यान्डल गर्न सक्छ:
- Externals र DLLs (Dynamic Link Libraries) हामी कहिलेकाहीं अनुप्रयोगहरू बीच कार्यक्षमता साझेदारी गर्नका लागि थियौं। ती सबैले स्केलिंग कोड साझेदारीलाई अत्यन्त चुनौतीपूर्ण बनायो।
- NPM सुस्त छ।
- जब दुई अलग-अलग कार्यक्रमहरूले महत्त्वपूर्ण कोड साझा गर्छन्, तिनीहरू गतिशील र लचिलो हुनुपर्छ।
स्ट्यान्डअलोन एपहरू पूर्णतया तिनीहरूको आफ्नै भण्डारमा हुनको लागि, छुट्टै डिप्लोय गर्न, र आफ्नै स्वतन्त्र SPA को रूपमा सञ्चालन गर्न, मोड्युल फेडरेशन सिर्जना गरिएको थियो।
मोड्युल फेडरेशन कोर कम्पोनेन्टहरू
गहिराइमा जान अघि, मोड्युल फेडरेशनले ल्याउने केही नयाँ अवधारणाहरू संक्षिप्त रूपमा छलफल गर्नु महत्त्वपूर्ण छ।
- होस्ट: जब पृष्ठ लोड हुन्छ, निर्माण वा मोड्युल प्रारम्भिक रूपमा सुरुमा होस्ट भनिन्छ। एक प्रदायकलाई होस्टको रूपमा सोच्न सकिन्छ।
- रिमोट: रिमोट एक फरक निर्माण हो जसले होस्टको एक भाग प्रयोग गर्दछ। उनीहरूलाई ग्राहक पनि भनिन्छ।
- द्वि-दिशात्मक होस्ट: वेबप्याक निर्माण जसले अन्य होस्टहरूले खपत गर्ने रिमोट र रिमोटहरू खपत गर्ने होस्ट दुवैको रूपमा कार्य गर्दछ।
- विक्रेता महासंघ: होस्ट वा रिमोटका लागि एनपीएम मोड्युल निर्भरताहरूको घोषणात्मक रूपमा साझेदारी गरिएको रनटाइम साझेदारी सक्षम गर्दछ, तिनीहरू जुन स्थानबाट लोड गरिएका छन्। माइक्रो फ्रन्टएन्डहरूसँग प्रमुख प्रदर्शन समस्याहरू मध्ये एक यस तरिकाले समाधान गरिएको छ।
संघीय अनुप्रयोगको ढाँचाहरू
सदाबहार डिजाइन प्रणाली
संघीय अनुप्रयोगहरूको सबैभन्दा आधारभूत रूपहरू मध्ये एक "सदाबहार रिमोट" हो, जुन "डिजाइन प्रणाली" वा "कम्पोनेन्ट लाइब्रेरी" जस्तो साझा रिमोट हो जुन सबै प्रयोगकर्ताहरूको लागि स्वतन्त्र रूपमा वितरण र अद्यावधिक गरिएको छ।
प्रत्येक एप टोलीले संशोधनहरूमा समय खर्च गर्न आवश्यक नभई सबै अनलाइन साइटहरूले हालैको कर्पोरेट पहिचानलाई पालना गर्दछन् भन्ने सुनिश्चित गर्न यो उपयोगी हुन सक्छ।
सुरक्षित, चलिरहेको अद्यावधिकहरूको ग्यारेन्टी गर्न आवश्यक सीमा र प्रक्रियाहरू डिजाइन गर्न र स्थानमा राख्नको लागि, यो संघीय अनुप्रयोग वास्तुकलालाई विचार गर्दा व्यवसायहरू सुरु गर्नको लागि उपयोगी ठाउँ हुन सक्छ।
निम्न केही प्रयोग-केसहरू छन् जहाँ स्वतन्त्र रूपमा तैनात गरिएको साझा रिमोटहरू उपयुक्त हुन सक्छन्:
- डिजाइन प्रणालीहरू
- आवेदन गोलाहरू
- कम्पोनेन्ट पुस्तकालयहरू
- उपभोक्ताहरू
- साझा टुलकिटहरू
- आन्तरिक वा बाह्य द्वारा प्रयोग गरिएका विजेटहरूको लागि वैकल्पिक वितरण मोडेलहरू
बहु-SPA मोड्युल साझेदारी
विभिन्न स्ट्यान्डअलोन एकल-पृष्ठ एपहरूमा पहिले नै निर्यात गरिएका सुविधाहरू, जस्तै कम्पोनेन्टहरू पुन: प्रयोग गर्नुहोस्। लाभहरू समावेश छन्:
- उपभोक्ताहरूले स्वचालित अद्यावधिकहरू प्राप्त गर्छन्
- डोमेन विशेषज्ञता टोलीमा रहन्छ जुन यसको चार्जमा छ।
- डिप्लोइमेन्ट प्रक्रियालाई स्ट्रिमलाइन गर्दछ किनभने अलग मोड्युल रिलीजहरू आवश्यक छैन।
गोला चालित महासंघ
खोल-संचालित महासंघले समावेश गर्दछ:
- नयाँ उत्पादन संस्करण सिर्जना गर्दा, उत्पादन टोलीले चेकआउट टोलीलाई आफ्नो काम पूरा गर्न पर्खदैन।
- रिमोटहरू स्विच गर्दा, त्यहाँ कुनै पृष्ठ पुन: लोड हुँदैन।
- आवश्यक हुँदा, शेलले ढिलो रिमोट लोडिङ र (शीर्ष-स्तर) राउटिङ प्रदान गर्दछ।
- रिमोटहरूमा राउटिङ विक्रेता महासंघ मार्फत सम्भव बनाइएको छ, जसले बारम्बार प्रयोग हुने एनपीएम प्याकेजहरूको पुन: प्रयोगलाई सक्षम बनाउँछ।
- शेलले फ्रेमवर्क र अन्य सामान्य निर्भरताहरू प्रदान गर्दछ जुन अल्छी लोड गरिएका रिमोटहरूद्वारा पुन: प्रयोग गरिन्छ।
बहु-खोल महासंघ
माथि वर्णन गरिएको शेल-संचालित संघ जस्तै, तर विभिन्न गोलाहरू प्रयोग गरियो।
यसले समावेश गर्दछ:
- धेरै गोलाहरू
- सेतो-लेबलिङ
- सबै रिमोटहरू शेल बी द्वारा आवश्यक पर्दैन वा स्वतन्त्र कार्यान्वयनहरू छैनन्।
मोड्युल संघ मुख्य विशेषताहरु
उत्कृष्ट वेब प्रदर्शन
सामान्य NPM मोड्युल संरचनाको समस्या यो हो कि आश्रितहरूको संख्या बढ्दै जाँदा, अनुप्रयोगको आकार सामान्यतया बढ्छ।
तपाईंको एप्लिकेसन लोड हुँदा बन्डलहरू लोड गर्नबाट बच्नको लागि र आवश्यक हुँदा मात्र लोड गर्नुहोस्, मोड्युल फेडरेसनले तपाईंलाई अल्छी रूपमा बन्डलहरू लोड गर्ने क्षमता प्रदान गर्दछ।
यसले वास्तवमा आवश्यक हुनु अघि मोड्युलहरू डाउनलोड गर्ने आवश्यकतालाई रोक्छ, जसले साइटको गति सुधार गर्दछ।
प्रभावकारी विकास
प्रत्येक परियोजना उत्पादन र एक्लोसनमा डेलिभर गर्न सकिन्छ र विभिन्न टोलीहरूद्वारा सञ्चालन गर्न सकिन्छ किनभने मोड्युल फेडरेशनले तपाइँलाई तपाइँको अनुप्रयोगलाई छुट्टै परियोजनाहरूमा व्यवस्थित गर्न प्रोत्साहित गर्दछ ताकि तपाइँ तिनीहरूलाई छुट्टै निर्माण र तैनाथ गर्न सक्नुहुन्छ (र यसैले समानान्तरमा)।
आत्म-निको पार्ने क्षमता र अनावश्यकता
साझा निर्भरताहरूले मोड्युल फेडरेशनलाई तपाइँको कार्यक्रमको सबै निर्भरताहरू एकै ठाउँमा ट्र्याक राख्न अनुमति दिन्छ।
यस तरिकाले, जब एप्लिकेसनले निर्भरता घोषणा गर्दैन वा सञ्जाल समस्याहरू भए तापनि, यसलाई अझै पनि थाहा छ कि यसलाई के चाहिन्छ र यसलाई आवश्यक रूपमा डाउनलोड गर्न ह्यान्डल गर्न सक्छ।
साझा निर्भरताहरूको प्रभावकारी व्यवस्थापन
थप रूपमा, मोड्युल फेडरेशनले उत्कृष्ट निर्भरता व्यवस्थापन प्रदान गर्दछ, प्रभावकारी रूपमा विक्रेता र तेस्रो-पक्ष आवश्यकताहरू समाधान गर्दै ताकि तपाईंको अनुप्रयोगले पुस्तकालयको एक भन्दा बढी संस्करण कहिले लोड गर्दैन।
उपभोक्ताहरूलाई पुन: प्रयोग गर्नुको सट्टा, स्वतन्त्र कोड प्रयोग गर्नुहोस्।
विकासकर्ता सदाबहार कार्यक्षमतामा धेरै चासो राख्छ। एक पटक खुला आश्रित कार्यक्षमता परिवर्तन भएपछि, यो अब उपभोक्ताहरूलाई पुन: स्थापना गर्न आवश्यक पर्दैन।
मैले स्वीकार गर्नै पर्छ कि यो आफैंमा एक उच्च शक्तिशाली विशेषता हो, जुन अप्रत्याशित परिणामहरू रोक्न सावधानीपूर्वक जाँचको आवश्यकता पर्दछ।
चलिरहेको बेला, अन्य निर्माणहरूबाट कोड आयात गर्नुहोस्।
NPM प्याकेज मोडेल अपनाउँदा, हामी कोड साझा गर्न र "पुस्तकालय" को बारेमा सोच्नुको सट्टा एपीआईहरू जस्तै मोड्युल फेडरेशन प्रयोग गर्ने एपहरूलाई विचार गर्न सक्छौं।
जसरी तिनीहरूले अन्य अनुप्रयोगहरूबाट कार्यक्षमता प्राप्त गर्न सक्छन्, वेब अनुप्रयोगहरूले अब अन्य अनुप्रयोगहरूलाई कार्यक्षमता प्रदान गर्न सक्छन्।
ग्राहक अनुभव संरक्षण गर्दा विकासकर्ता अनुभव परिष्कृत
कुनै पनि JavaScript विकासकर्ता मोड्युल फेडरेशनसँग धेरै सहज हुनेछ किनभने यो वेबप्याक प्लगइन हो जुन वेबप्याक संस्करण 5 को रूपमा पहुँचयोग्य छ।
यो वास्तवमा बरु बलियो र चाखलाग्दो छ यदि हामीले यसलाई केहि विचार दियौं।
तेस्रो-पक्ष वेबप्याक लोडरहरू प्रयोग गरेर, सबै कम्पोनेन्टहरू विचार गर्नुहोस् वेबप्याक लिपिहरू, सम्पत्तिहरू, शैलीहरू, चित्रहरू, मार्कडाउनहरू, र थप सहित बन्डलहरू।
मोड्युल फेडरेशन प्रयोग गरेर, यी सबै साझा र संघीय गर्न सकिन्छ।
माइक्रो-फ्रन्टेन्डहरू मोनोलिथिक फेसनमा काम गर्छन्।
तपाईंको अनुप्रयोगमा साझा कार्यक्षमता थप्न यो एकदम सजिलो छ; सामान्य रूपमा बन्डल आयात गर्नुहोस् वा सिंक्रोनस लोडिङ प्रयोग गर्नुहोस्।
वैकल्पिक रूपमा, एसिन्क्रोनस लोडिङलाई अल्छी लोडिङ प्रयोग गरेर आवश्यक हुँदा निर्भरताहरू मात्र लोड गर्न प्रयोग गर्न सकिन्छ।
निष्कर्ष
यस पोष्टमा, हामीले तपाइँको माइक्रो-फ्रन्टएन्ड एप्लिकेसन विकास गर्नको लागि एक उत्कृष्ट विकल्पको रूपमा मोड्युल फेडरेशनको बारेमा छलफल गरेका छौं।
रनटाइममा अनुप्रयोगहरूलाई आदानप्रदान र कार्यक्षमता उपभोग गर्न दिनुले विभिन्न टोलीहरूलाई स्वतन्त्र अनुप्रयोगहरूमा काम गर्न सक्षम पारेर स्केलेबिलिटीलाई प्रोत्साहित गर्छ।
जब सामान्य कार्यक्षमता परिवर्तन हुन्छ, तपाईंले आफ्ना उपभोक्ताहरूलाई डिजाइन र डिप्लोय गर्न आवश्यक पर्दैन किनकि यसले सदाबहार कार्यक्षमतालाई समर्थन गर्दछ।
तपाइँको कार्यक्रम यो सेटअप पछि एक मोनोलिथ जस्तै काम गर्नेछ, जो शानदार छ।
साझेदारीयोग्य निर्भरताहरू एपहरूको आकार घटाउन प्रयोग गरिन्छ। धेरै विकासकर्ताहरू पहिले नै Webpack वातावरणसँग परिचित भएकाले, विकासकर्ताको अनुभव उत्कृष्ट छ।
जवाफ छाड्नुस्