Turinys[Slėpti][Rodyti]
- Taigi, kas yra modulių federacija?
- Kodėl modulių federacija?
- Modulio federacijos pagrindiniai komponentai
Modulio federacijos pagrindinės funkcijos+-
- Puikus žiniatinklio našumas
- Efektyvus vystymasis
- Gebėjimas savarankiškai gydytis ir perteklius
- Efektyvus bendrų priklausomybių valdymas
- Užuot iš naujo įdiegę vartotojus, įdiekite nepriklausomą kodą.
- Vykdydami importuokite kodą iš kitų versijų.
- Patobulinta kūrėjo patirtis išsaugant klientų patirtį
- Mikro priekinės dalys veikia monolitiškai.
- Išvada
Mikro sąsajų koncepcija taiko mikropaslaugas priekinės dalies kūrimui.
Idėja yra suskaidyti programą arba svetainę į mažesnius, nepriklausomai sukurtus gabalus, kurie vėliau sujungiami vykdymo metu, o ne sukurti juos kaip vieną vientisą monolitą.
Metodas leidžia kurti kitus programos komponentus naudojant kitas technologijas ir su nepriklausomomis komandomis.
Idėja yra sumažinti techninės priežiūros išlaidas, susijusias su tipiniu monolitu, tokiu būdu segmentuojant plėtrą.
Leisdamas jiems sutelkti dėmesį į tam tikrą programos sritį kaip nuoseklią komandą, tai taip pat leidžia sukurti naujas bendradarbiavimo formas tarp backend ir frontend kūrėjų.
Pavyzdžiui, galite turėti komandą, kuri yra vienintelė atsakinga už paieškos galimybes arba kitą pagrindinio produkto aspektą, kuris yra labai svarbus verslui.
Dėl modulių susiejimo turite pakankamai funkcijų, kad galėtumėte valdyti darbo eigą mikro priekinė dalis požiūrio mandatus.
Šiame įraše bus išsamiai apžvelgta modulių federacijos architektūra, taip pat pagrindinės jos savybės ir taikymo modeliai.
Taigi, kas yra a modulių federacija?
„Javascript“ modulių susiejimo konstrukcijoje daugelyje programų naudojamos pakartotinai naudojamos dalys.
Tai gana paprastas žargonas, bet aš tiesiog padariau, kad taip atrodytų vėjuota.
Kadangi visi žinome, kaip dalytis „React“ programos komponentais, „Module Federation“ praktiškai pasiekia tą patį tikslą, išskyrus tai, kad dinamiškai pateikia programos modulius, skirtus naudoti kitoms programoms.
Modulio federacija siekia įveikti modulių bendrinimo paskirstytoje sistemoje problemą, pateikdama tuos pagrindinius bendrinamus elementus kaip pageidaujama makro arba mikro.
Tai pasiekiama pašalinus juos iš jūsų programų ir kūrimo darbo eigos.
Kodėl modulių federacija?
Štai keletas veiksnių, su kuriais modulių susijungimas gali lengvai susidoroti:
- Išorės ir DLL (dinaminių nuorodų bibliotekos) buvo viskas, ką kartais turėdavome dalytis funkcijomis tarp programų. Visa tai padarė mastelio kodo dalijimąsi itin sudėtingu.
- NPM yra vangus.
- Kai dvi atskiros programos dalijasi esminiu kodu, jos turi būti dinamiškos ir lanksčios.
Siekiant, kad atskiros programos būtų visiškai savo saugykloje, diegiamos atskirai ir veiktų kaip atskiros SPA, buvo sukurta modulių federacija.
Modulio federacijos pagrindiniai komponentai
Prieš pasineriant giliau, svarbu trumpai aptarti keletą naujų koncepcijų, kurias suteikia modulių federacija.
- Priegloba: kai įkeliamas puslapis, iš pradžių inicijuotas kūrinys arba modulis vadinamas pagrindiniu kompiuteriu. Teikėjas gali būti laikomas priimančiuoju.
- Nuotolinis: nuotolinio valdymo pultas yra kitokia konstrukcija, kuri naudoja pagrindinio kompiuterio dalį. Jie taip pat vadinami klientais.
- Dviejų krypčių priegloba: žiniatinklio paketo versija, kuri veikia ir kaip nuotolinio valdymo pultas, kurį naudoja kiti pagrindiniai kompiuteriai, ir kaip pagrindinis kompiuteris, kuris naudoja nuotolinio valdymo pultus.
- Tiekėjo susiejimas: leidžia deklaratyviai bendrai naudoti npm modulio priklausomybes pagrindiniam arba nuotoliniam kompiuteriui, neatsižvelgiant į vietą, iš kurios jie įkeliami. Tokiu būdu išspręsta viena iš pagrindinių mikro sąsajų veikimo problemų.
Federacinės programos modeliai
Evergreen dizaino sistema
Viena iš pagrindinių jungiamųjų programų formų yra „amžinai žaliuojantis nuotolinio valdymo pultas“, kuris yra bendras nuotolinio valdymo pultas, pavyzdžiui, „Design System“ arba „Component library“, kuris yra atskirai platinamas ir atnaujinamas visiems vartotojams.
Kiekvienai programų komandai nereikės skirti laiko taisymui, tai gali būti naudinga užtikrinant, kad visos internetinės svetainės atitiktų naujausią įmonės tapatybę.
Norint sukurti ir įdiegti apribojimus ir procedūras, būtinas saugiam nuolatiniam atnaujinimui užtikrinti, tai gali būti naudinga verslo pradžiai, kai svarsto jungtinių programų architektūrą.
Toliau pateikiami keli naudojimo atvejai, kai gali tikti atskirai įdiegti bendri nuotolinio valdymo pultai:
- Projektavimo sistemos
- Taikymo apvalkalai
- Komponentų bibliotekos
- Vartotojai
- Bendrinami įrankių rinkiniai
- Alternatyvūs vidinių arba išorinių valdiklių paskirstymo modeliai
Kelių SPA modulių bendrinimas
Pakartotinai naudokite jau eksportuotas funkcijas, pvz., komponentus, skirtingose atskirose vieno puslapio programose. Privalumai:
- Vartotojai gauna automatinius atnaujinimus
- Domeno patirtis lieka už tai atsakingai komandai.
- Supaprastina diegimo procedūrą, nes nereikia atskirų modulių leidimų.
„Shell“ valdoma federacija
„Shell“ valdoma federacija apima:
- Kurdama naują produkto versiją, Produkto komanda nelaukia, kol patikros komanda užbaigs savo darbą.
- Perjungiant nuotolinio valdymo pultą, puslapis nėra įkeliamas iš naujo.
- Kai reikia, „Shell“ siūlo lėtą nuotolinį įkėlimą ir (aukščiausio lygio) maršrutą.
- Maršrutas per nuotolinio valdymo pultus yra įmanomas per tiekėjų federaciją, kuri leidžia pakartotinai naudoti dažnai naudojamus npm paketus.
- „Shell“ siūlo sistemą ir kitas įprastas priklausomybes, kurias pakartotinai naudoja tingiai įkeliami nuotolinio valdymo pultai.
Daugiasluoksnė federacija
Panašus į aukščiau aprašytą apvalkalu varomą federaciją, bet naudojo skirtingus apvalkalus.
Jame yra:
- nemažai kriauklių
- Baltas ženklinimas
- Ne visi nuotolinio valdymo pultai reikalingi „Shell B“ arba turi nepriklausomus diegimus.
Modulio federacijos pagrindinės funkcijos
Puikus žiniatinklio našumas
Įprastos NPM modulio sudėties problema yra ta, kad didėjant išlaikytinių skaičiui, programos dydis paprastai auga.
Kad būtų išvengta paketų įkėlimo, kai programa įkeliama, ir įkelti juos tik tada, kai reikia, modulių federacija siūlo jums galimybę tingiai įkelti paketus.
Taip išvengiama būtinybės atsisiųsti modulius, kol jų iš tikrųjų nereikia, o tai padidina svetainės greitį.
Efektyvus vystymasis
Kiekvienas projektas gali būti kuriamas ir pristatomas atskirai, o jį gali vykdyti įvairios komandos, nes Modulio federacija skatina suskirstyti paraišką į atskirus projektus, kad galėtumėte juos kurti ir diegti atskirai (taigi ir lygiagrečiai).
Gebėjimas savarankiškai gydytis ir perteklius
Bendrinamos priklausomybės leidžia Modulių susijungimui vienoje vietoje stebėti visas jūsų programos priklausomybes.
Tokiu būdu, net kai programa nedeklaruoja priklausomybės arba kai kyla tinklo problemų, ji vis tiek žino, ko jai reikia, ir prireikus gali ją atsisiųsti.
Efektyvus bendrų priklausomybių valdymas
Be to, „Module Federation“ siūlo puikų priklausomybės valdymą, efektyviai sprendžiant tiekėjo ir trečiųjų šalių reikalavimus, kad jūsų programa niekada neįkeltų daugiau nei vienos bibliotekos versijos.
Užuot iš naujo įdiegę vartotojus, įdiekite nepriklausomą kodą.
Kūrėjas labai suinteresuotas turėti visžalių funkcijų. Pasikeitus atskleistoms priklausomoms funkcijoms, nebereikės iš naujo įdiegti vartotojų.
Turiu pripažinti, kad tai pati savaime labai stipri savybė, kurią reikės atidžiai išnagrinėti, kad būtų išvengta netikėtų rezultatų.
Vykdydami importuokite kodą iš kitų versijų.
Priimdami NPM paketo modelį, galime apsvarstyti programas, kurios naudoja modulių susijungimą panašiai kaip API, o ne dalijasi kodu ir galvoja apie „biblioteką“.
Taip pat, kaip jos taip pat gali gauti funkcijas iš kitų programų, žiniatinklio programos dabar gali teikti funkcijas kitoms programoms.
Patobulinta kūrėjo patirtis išsaugant klientų patirtį
Bet koks JavaScript kūrėjas bus gana patogu su Module Federation, nes tai yra žiniatinklio paketo papildinys, pasiekiamas nuo 5 versijos Webpack.
Tai iš tikrųjų yra gana stipru ir intriguojanti, jei šiek tiek pagalvosime.
Naudodami trečiųjų šalių „Webpack“ įkroviklius, apsvarstykite visus komponentus, kurie Internetinė pakuotė paketus, įskaitant scenarijus, išteklius, stilius, paveikslėlius, sumažinimus ir kt.
Naudojant modulių susijungimą, visa tai galima bendrinti ir sujungti.
Mikro priekinės dalys veikia monolitiškai.
Gana lengva prie programos pridėti bendrų funkcijų; tiesiog importuokite paketą kaip įprasta arba naudokite sinchroninį įkėlimą.
Arba asinchroninis įkėlimas gali būti naudojamas tik prireikus įkelti priklausomybes, naudojant tingų įkėlimą.
Išvada
Šiame įraše aptarėme modulių susijungimą kaip puikų pasirinkimą kuriant mikro sąsajos programą.
Leisdami programoms keistis ir naudoti funkcijas vykdymo metu, skatinamas mastelio keitimas, nes įvairios komandos gali dirbti su nepriklausomomis programomis.
Pasikeitus įprastoms funkcijoms, jums nereikės kurti ir diegti savo vartotojų, nes jis palaiko amžinai žaliuojančias funkcijas.
Jūsų programa veiks kaip monolitas po to, kai ji bus nustatyta, o tai yra fantastiška.
Bendrinamos priklausomybės naudojamos programų dydžiui sumažinti. Kadangi daugelis kūrėjų jau yra susipažinę su Webpack aplinka, kūrėjų patirtis yra puiki.
Palikti atsakymą