Kazalo[Skrij][Pokaži]
- Torej, kaj je zveza modulov?
- Zakaj združevanje modulov?
- Jedrne komponente združevanja modulov
Osnovne funkcije Module Federation+-
- Odlična spletna zmogljivost
- Učinkovit razvoj
- Sposobnost samozdravljenja in redundance
- Učinkovito ravnanje s pogostimi odvisnostmi
- Namesto da bi morali ponovno uvajati potrošnike, uvedite neodvisno kodo.
- Med izvajanjem uvozi kodo iz drugih gradenj.
- Izboljšana izkušnja razvijalca ob ohranjanju izkušnje odjemalca
- Mikrofrontendi delujejo monolitno.
- zaključek
Koncept mikro vmesnikov uporablja mikrostoritve za razvoj vmesnikov.
Ideja je razdeliti aplikacijo ali spletno mesto na manjše, neodvisno razvite dele, ki se nato povežejo med izvajanjem, namesto da bi jih ustvarili kot en sam, povezan monolit.
Metoda vam omogoča ustvarjanje drugih komponent aplikacije z uporabo drugih tehnologij in z neodvisnimi ekipami.
Ideja je zmanjšati stroške vzdrževanja, povezane s tipičnim monolitom, s segmentacijo razvoja na ta način.
Ker jim omogoča, da se osredotočijo na določeno področje aplikacije kot usklajena ekipa, omogoča tudi nove oblike sodelovanja med zalednimi in sprednjimi razvijalci.
Na primer, morda imate ekipo, ki je izključno odgovorna za zmožnost iskanja ali drug vidik ključnega izdelka, ki je ključnega pomena za podjetje.
Zahvaljujoč združevanju modulov imate dovolj funkcionalnosti za upravljanje poteka dela, ki ga mikro frontend pristop mandatov.
Ta objava bo podrobno preučila arhitekturo zveze modulov, pa tudi njene glavne značilnosti in vzorce uporabe.
Torej, kaj je a modul federacija?
Zasnova združevanja modulov Javascript uporablja ponovno uporabljene dele v številnih aplikacijah.
To je dokaj osnovni žargon, vendar sem preprosto poskrbel, da se zdi tako, da je videti lahkotno.
Ker smo vsi seznanjeni z deljenjem komponent znotraj aplikacije React, Module Federation učinkovito dosega isti cilj v praksi, z izjemo, da dinamično izpostavi module aplikacije za uporabo v drugih aplikacijah.
Module Federation poskuša premagati problem souporabe modulov v porazdeljenem sistemu z zagotavljanjem teh ključnih skupnih elementov kot makro ali mikro po želji.
To dosežete tako, da jih odstranite iz svojih aplikacij in poteka dela.
Zakaj združevanje modulov?
Tukaj je nekaj dejavnikov, ki jih združevanje modulov zlahka obravnava:
- Zunanji in DLL-ji (knjižnice dinamičnih povezav) so bili vse, kar smo občasno imeli za skupno rabo funkcij med aplikacijami. Zaradi vsega tega je deljenje kode skaliranja izjemno zahtevno.
- NPM je počasen.
- Ko si dva ločena programa delita ključno kodo, morata biti dinamična in prilagodljiva.
Da bi bile samostojne aplikacije v celoti v lastnem repozitoriju, uvedene ločeno in delovale kot lasten neodvisen SPA, je bil ustvarjen Module Federation.
Jedrne komponente združevanja modulov
Preden se poglobimo, je pomembna kratka razprava o nekaj novih konceptih, ki jih prinaša združevanje modulov.
- Gostitelj: Ko se stran naloži, se zgradba ali modul, ki je bil prvotno inicializiran, imenuje gostitelj. Ponudnika si lahko predstavljamo kot gostitelja.
- Oddaljeno: Oddaljeno je drugačna konstrukcija, ki uporablja del gostitelja. Imenujejo se tudi stranke.
- Dvosmerni gostitelj: zgradba spletnega paketa, ki deluje kot daljinski upravljalnik, ki ga uporabljajo drugi gostitelji, in gostitelj, ki uporablja daljinske upravljalnike.
- Vendor federation: omogoča deklarativno deljeno skupno rabo med izvajanjem odvisnosti modula npm za gostitelja ali oddaljenega, ne glede na lokacijo, s katere so naloženi. Na ta način je odpravljena ena od večjih težav z zmogljivostjo mikro vmesnikov.
Vzorci zvezne aplikacije
Evergreen Design System
Ena najosnovnejših oblik zveznih aplikacij je »zimzeleni daljinski upravljalnik«, ki je skupni daljinski upravljalnik, kot je »Design System« ali »Knjižnica komponent«, ki se neodvisno distribuira in posodablja za vse uporabnike.
Ne da bi morala vsaka skupina aplikacij porabiti čas za revizije, je to lahko koristno pri zagotavljanju, da se vsa spletna mesta držijo najnovejše celostne podobe.
Za načrtovanje in uvedbo omejitev in postopkov, potrebnih za zagotavljanje varnih stalnih posodobitev, je to lahko koristno mesto za podjetja, da začnejo razmišljati o zvezni arhitekturi aplikacij.
Sledi nekaj primerov uporabe, pri katerih so neodvisno razporejeni daljinski upravljalniki v skupni rabi lahko primerni:
- Oblikovalski sistemi
- Lupine aplikacij
- Knjižnice komponent
- Potrošniki
- Skupni kompleti orodij
- Alternativni distribucijski modeli za pripomočke, ki jih uporabljajo notranji ali zunanji
Skupna raba modula Multi-SPA
Ponovno uporabite že izvožene funkcije, kot so komponente, v različnih samostojnih enostranskih aplikacijah. Prednosti vključujejo:
- Potrošniki prejemajo avtomatizirane posodobitve
- Strokovno znanje o tem področju ostaja v ekipi, ki za to skrbi.
- Poenostavi postopek uvajanja, ker ločene izdaje modulov niso potrebne.
Zveza, ki jo vodi školjka
Zveza, ki jo vodi lupina, vključuje:
- Pri ustvarjanju nove različice izdelka skupina za izdelek ne čaka, da ekipa Checkout zaključi svoje delo.
- Pri menjavi daljincev ni ponovnega nalaganja strani.
- Po potrebi Shell ponuja počasno oddaljeno nalaganje in usmerjanje (na najvišji ravni).
- Usmerjanje prek daljinskih upravljalnikov je omogočeno prek zveze prodajalcev, ki omogoča ponovno uporabo pogosto uporabljenih paketov npm.
- Shell ponuja ogrodje in druge običajne odvisnosti, ki jih ponovno uporabijo leno naloženi daljinci.
Zveza z več lupinami
Podobno zgoraj opisani zvezi, ki jo poganja lupina, vendar je uporabila drugačne lupine.
Vsebuje:
- številne lupine
- Belo označevanje
- Shell B ne zahteva vseh daljinskih upravljalnikov ali pa imajo neodvisne izvedbe.
Osnovne funkcije Module Federation
Odlična spletna zmogljivost
Težava pri običajni sestavi modula NPM je v tem, da z naraščanjem števila vzdrževanih oseb na splošno raste velikost aplikacije.
Da bi se izognili nalaganju svežnjev, ko se vaša aplikacija naloži, in jih naložite le, ko je to potrebno, vam Module Federation ponuja možnost lenega nalaganja svežnjev.
To prepreči potrebo po prenosu modulov, preden so dejansko potrebni, kar izboljša hitrost spletnega mesta.
Učinkovit razvoj
Vsak projekt je mogoče izdelati in dostaviti ločeno in ga lahko izvajajo različne ekipe, ker vas Module Federation spodbuja, da svojo aplikacijo organizirate v ločene projekte, tako da jih lahko zgradite in uvedete ločeno (in torej vzporedno).
Sposobnost samozdravljenja in redundance
Odvisnosti v skupni rabi omogočajo Module Federation spremljanje vseh odvisnosti vašega programa na enem mestu.
Na ta način, tudi če aplikacija ne prijavi odvisnosti ali če obstajajo težave z omrežjem, še vedno ve, kaj potrebuje, in lahko to prenese po potrebi.
Učinkovito ravnanje s pogostimi odvisnostmi
Poleg tega Module Federation ponuja vrhunsko upravljanje odvisnosti, ki učinkovito rešuje zahteve prodajalcev in tretjih oseb, tako da vaša aplikacija ne bo nikoli naložila več kot ene različice knjižnice.
Namesto da bi morali ponovno uvajati potrošnike, uvedite neodvisno kodo.
Razvijalec je zelo zainteresiran za zimzeleno funkcionalnost. Ko se izpostavljena odvisna funkcionalnost spremeni, porabnikov ne bo več treba znova namestiti.
Moram priznati, da je to zelo močna lastnost sama po sebi, ki jo bo treba skrbno preučiti, da preprečimo nepričakovane rezultate.
Med izvajanjem uvozi kodo iz drugih gradenj.
Ko sprejemamo model paketa NPM, lahko razmislimo o aplikacijah, ki uporabljajo zvezo modulov, podobnih API-jem, namesto da bi delili kodo in razmišljali o »knjižnici«.
Na enak način, kot lahko prejmejo funkcionalnost od drugih aplikacij, lahko spletne aplikacije zdaj zagotovijo funkcionalnost drugim aplikacijam.
Izboljšana izkušnja razvijalca ob ohranjanju izkušnje odjemalca
Kaj Razvijalec JavaScript bo z Module Federation povsem udoben, ker je to vtičnik Webpack, ki je dostopen od različice Webpack 5.
To je pravzaprav precej močno in zanimivo, če malo razmislimo.
Z uporabo nalagalnikov Webpack tretjih oseb upoštevajte vse komponente, ki Spletni paket paketi, vključno s skripti, sredstvi, slogi, slikami, znižanji vrednosti in še več.
Z uporabo Module Federation lahko vse to delite in združujete.
Mikrofrontendi delujejo monolitno.
Svoji aplikaciji je zelo enostavno dodati skupno funkcionalnost; preprosto uvozite sveženj kot običajno ali uporabite sinhrono nalaganje.
Druga možnost je, da lahko asinhrono nalaganje uporabite samo za nalaganje odvisnosti, kadar je to potrebno, z uporabo lenega nalaganja.
zaključek
V tej objavi smo razpravljali o Module Federation kot fantastični izbiri za razvoj vaše mikro-frontend aplikacije.
Dovolitev, da si aplikacije izmenjujejo in uporabljajo funkcionalnost med izvajanjem, spodbuja razširljivost, saj omogoča različnim ekipam, da delajo na neodvisnih aplikacijah.
Ko se skupna funkcionalnost spremeni, vam ne bo treba načrtovati in uvajati svojih potrošnikov, saj podpira zimzeleno funkcionalnost.
Vaš program bo po namestitvi deloval kot monolit, kar je fantastično.
Odvisnosti, ki jih je mogoče deliti, se uporabljajo za zmanjšanje velikosti aplikacij. Ker veliko razvijalcev že pozna okolje Webpack, je izkušnja razvijalcev odlična.
Pustite Odgovori