Werrej[Aħbi][Uri]
- Allura, x'inhi federazzjoni tal-moduli?
- Għaliex il-federazzjoni tal-moduli?
- Komponenti ewlenin tal-federazzjoni tal-modulu
Karatteristiċi ewlenin tal-Federazzjoni tal-Modulu+-
- Prestazzjoni eċċellenti tal-web
- Żvilupp effettiv
- Il-ħila li tfejjaq lilek innifsek u s-sensja
- Immaniġġjar effettiv tad-dipendenzi komuni
- Minflok ma jkollok terġa' tuża l-konsumaturi, uża kodiċi indipendenti.
- Meta tkun qed taħdem, timporta kodiċi minn bini ieħor.
- Esperjenza mtejba tal-iżviluppatur filwaqt li tippreserva l-esperjenza tal-klijent
- Il-mikro-frontends joperaw b'mod monolitiku.
- konklużjoni
Il-kunċett tal-mikro frontends japplika mikroservizzi għall-iżvilupp tal-frontend.
L-idea hija li tkisser l-applikazzjoni jew il-websajt f'biċċiet iżgħar żviluppati b'mod indipendenti li mbagħad jiġu konnessi waqt ir-runtime, għall-kuntrarju li jinħolqu bħala monolitu wieħed u koeżiv.
Il-metodu jippermettilek toħloq komponenti oħra tal-applikazzjoni billi tuża teknoloġiji oħra u ma 'timijiet indipendenti.
L-idea hija li jitnaqqsu l-ispejjeż tal-manutenzjoni relatati ma 'monolith tipiku billi l-iżvilupp jiġi segmentat b'dan il-mod.
Billi tippermettilhom jikkonċentraw fuq qasam partikolari ta 'applikazzjoni bħala tim koerenti, jagħmel possibbli wkoll forom ġodda ta' kooperazzjoni bejn backend u devs frontend.
Pereżempju, jista' jkollok tim li huwa unikament responsabbli għall-kapaċità ta' tfittxija jew aspett ieħor ta' prodott ewlieni li huwa kruċjali għal negozju.
Grazzi għall-federazzjoni tal-moduli, għandek biżżejjed funzjonalità biex timmaniġġja l-fluss tax-xogħol li l- mikro frontend approċċ mandati.
Din il-kariga se tagħti ħarsa fil-fond lejn l-arkitettura tal-federazzjoni tal-moduli, kif ukoll il-karatteristiċi ewlenin tagħha u l-mudelli tal-applikazzjoni.
Allura, x'inhu federazzjoni tal-moduli?
Id-disinn tal-federazzjoni tal-moduli ta' Javascript jagħmel użu minn partijiet użati mill-ġdid f'ħafna applikazzjonijiet.
Huwa lingwaġġ pjuttost bażiku, imma stajt sempliċement għamilha tidher b'dan il-mod biex tidher breezy.
Peress li aħna lkoll familjari mal-kondiviżjoni tal-komponenti fi ħdan applikazzjoni React, il-Federazzjoni tal-Moduli effettivament twettaq l-istess għan fil-prattika, bl-eċċezzjoni li tesponi b'mod dinamiku moduli tal-applikazzjoni għall-konsum minn applikazzjonijiet oħra.
Il-Federazzjoni tal-Moduli tfittex li tegħleb il-problema tal-qsim tal-moduli f'sistema distribwita billi twassal dawk l-elementi kondiviżi ewlenin bħala makro jew mikro kif mixtieq.
Dan jitwettaq billi jitneħħew mill-apps tiegħek u l-fluss tax-xogħol tal-bini.
Għaliex il-federazzjoni tal-moduli?
Hawn huma xi fatturi li l-federazzjoni tal-moduli tista 'timmaniġġja faċilment:
- Esterni u DLLs (Dynamic Link Libraries) kienu kulma kellna kultant biex naqsmu l-funzjonalità bejn l-apps. Dan kollu għamel l-iskala tal-kondiviżjoni tal-kodiċi ta 'sfida kbira.
- NPM huwa kajman.
- Meta żewġ programmi separati jaqsmu kodiċi kruċjali, iridu jkunu dinamiċi u flessibbli.
Sabiex l-apps waħedhom ikunu totalment fir-repożitorju tagħhom stess, jintużaw separatament, u joperaw bħala SPA indipendenti tagħhom stess, inħolqot il-Federazzjoni tal-Moduli.
Komponenti ewlenin tal-federazzjoni tal-modulu
Qabel ma tgħaddas aktar fil-fond, tiddiskuti fil-qosor ftit kunċetti ġodda li ġġib magħha l-federazzjoni tal-moduli hija importanti.
- Ospitanti: Meta paġna titgħabba, il-bini jew il-modulu inizjalizzat inizjalment jissejjaħ host. Fornitur jista' jitqies bħala ospitanti.
- Remote: Remote hija kostruzzjoni differenti li tuża porzjon tal-host. Huma wkoll imsejħa klijenti.
- Ospitanti bi-direzzjonali: Webpack build li jiffunzjona kemm bħala remot li jikkunsmaw hosts oħra kif ukoll bħala host li jikkonsma remoti.
- Federazzjoni tal-bejjiegħa: tippermetti kondiviżjoni ta' runtime kondiviża b'mod dikjarattiv tad-dipendenzi tal-moduli npm għal host jew remot, irrispettivament mill-post minn fejn jitgħabbew. Waħda mill-problemi ewlenin tal-prestazzjoni bil-mikro frontends tiġi solvuta b'dan il-mod.
Mudelli ta' Applikazzjoni Federata
Sistema tad-Disinn Evergreen
Waħda mill-aktar forom bażiċi ta 'applikazzjonijiet federati hija "remote Evergreen", li hija remot kondiviż bħal "Sistema tad-Disinn" jew "librerija tal-Komponenti" li hija distribwita u aġġornata b'mod indipendenti għall-utenti kollha.
Mingħajr ma kull tim tal-app jeħtieġ li jqatta’ ħin fuq reviżjonijiet, dan jista’ jkun ta’ għajnuna biex jiġi żgurat li s-siti online kollha jaderixxu mal-aktar identità korporattiva riċenti.
Sabiex jitfasslu u jiddaħħlu fis-seħħ il-limiti u l-proċeduri meħtieġa biex jiggarantixxu aġġornamenti sikuri u kontinwi, dan jista' jkun post utli għan-negozji biex jibdew meta jikkunsidraw arkitettura ta' applikazzjoni federata.
Dawn li ġejjin huma xi każijiet ta' użu fejn remoti kondiviżi skjerati b'mod indipendenti jistgħu jkunu tajbin:
- Sistemi tad-disinn
- Qxur tal-applikazzjoni
- Libreriji tal-komponenti
- Konsumaturi
- Settijiet ta' għodda kondiviżi
- Mudelli ta 'distribuzzjoni alternattivi għal widgets użati minn interni jew esterni
Qsim ta' Moduli Multi-SPA
Uża mill-ġdid karatteristiċi diġà esportati, bħal komponenti, f'apps differenti b'paġna waħda waħedhom. Il-benefiċċji jinkludu:
- Il-konsumaturi jirċievu aġġornamenti awtomatizzati
- L-għarfien espert tad-dominju jibqa 'fuq it-tim li huwa responsabbli minnha.
- Jissimplifika l-proċedura tal-iskjerament minħabba li rilaxxi separati tal-moduli mhumiex meħtieġa.
Federazzjoni mmexxija minn Shell
Il-federazzjoni mmexxija mill-qoxra tinkludi:
- Meta toħloq verżjoni ġdida tal-prodott, it-tim tal-Prodott ma jistennax lit-tim tal-Checkout biex itemm ix-xogħol tiegħu.
- Meta taqleb ir-remoti, m'hemm l-ebda tagħbija mill-ġdid tal-paġna.
- Meta meħtieġ, Shell toffri tagħbija mill-bogħod bil-mod u rotta (l-ogħla livell).
- Ir-rotot fuq remoti huwa possibbli permezz tal-federazzjoni tal-bejjiegħa, li tippermetti l-użu mill-ġdid ta 'pakketti npm użati ta' spiss.
- Shell joffri l-qafas u dipendenzi oħra komuni li jerġgħu jintużaw mill-remotes mgħobbija għażżien.
Federazzjoni b'ħafna qoxra
Simili għall-federazzjoni mmexxija mill-qoxra deskritta hawn fuq, iżda użat qxur differenti.
Fih:
- numru ta’ qxur
- Tikkettar abjad
- Mhux ir-remoti kollha huma meħtieġa minn Shell B jew għandhom implimentazzjonijiet indipendenti.
Karatteristiċi ewlenin tal-Federazzjoni tal-Modulu
Prestazzjoni eċċellenti tal-web
Il-kwistjoni bil-kompożizzjoni normali tal-modulu NPM hija li hekk kif in-numru ta 'dipendenti jogħla, id-daqs tal-applikazzjoni ġeneralment jikber.
Sabiex tevita li tgħabbi l-qatet meta l-applikazzjoni tiegħek tgħabbi u tgħabbihom biss meta jkun meħtieġ, il-Federazzjoni tal-Moduli toffrilek il-ħila li tgħabbi bil-għażżien il-qatet.
Dan jipprevjeni l-ħtieġa li tniżżel moduli qabel ma jkunu fil-fatt meħtieġa, li jtejjeb il-veloċità tas-sit.
Żvilupp effettiv
Kull proġett jista' jiġi prodott u kkonsenjat b'mod iżolat u jista' jitwettaq minn diversi timijiet minħabba li l-Federazzjoni tal-Moduli tħeġġeġ biex torganizza l-applikazzjoni tiegħek fi proġetti diskreti sabiex tkun tista' tibni u tiskjerahom separatament (u għalhekk b'mod parallel).
Il-ħila li tfejjaq lilek innifsek u s-sensja
Id-dipendenzi kondiviżi jippermettu lill-Federazzjoni tal-Moduli li żżomm rekord tad-dipendenzi kollha tal-programm tiegħek f'post wieħed.
B'dan il-mod, anke meta applikazzjoni ma tiddikjarax dipendenza jew meta jkun hemm problemi tan-netwerk, xorta tkun taf x'għandha bżonn u tista' tieħu ħsieb it-tniżżil tagħha kif meħtieġ.
Immaniġġjar effettiv tad-dipendenzi komuni
Barra minn hekk, il-Federazzjoni tal-Modulu toffri ġestjoni superjuri tad-dipendenza, li ssolvi b'mod effettiv ir-rekwiżiti tal-bejjiegħ u ta 'partijiet terzi sabiex l-applikazzjoni tiegħek qatt ma tgħabbi aktar minn verżjoni waħda ta' librerija.
Minflok ma jkollok terġa' tuża l-konsumaturi, uża kodiċi indipendenti.
L-iżviluppatur huwa interessat ħafna li jkollu funzjonalità Evergreen. Ladarba l-funzjonalità dipendenti esposta tkun inbidlet, mhux se jkun meħtieġ li jerġgħu jiġu installati l-konsumaturi aktar.
Irrid nammetti li din hija karatteristika qawwija ħafna fiha nnifisha, waħda li teħtieġ eżami bir-reqqa biex tevita riżultati mhux mistennija.
Meta tkun qed taħdem, timporta kodiċi minn bini ieħor.
Meta nadottaw il-mudell tal-pakkett NPM, nistgħu nikkunsidraw apps li jużaw il-Federazzjoni tal-Moduli bħal APIs aktar milli jaqsmu l-kodiċi u naħsbu għal "librerija".
Bl-istess mod li jistgħu jirċievu wkoll funzjonalità minn apps oħra, l-applikazzjonijiet tal-web issa jistgħu jipprovdu l-funzjonalità għal applikazzjonijiet oħra.
Esperjenza mtejba tal-iżviluppatur filwaqt li tippreserva l-esperjenza tal-klijent
Kull Żviluppatur tal-JavaScript se jkun pjuttost komdu mal-Federazzjoni tal-Modulu minħabba li huwa plugin Webpack li huwa aċċessibbli mill-verżjoni 5 tal-Webpack.
Dan huwa fil-fatt pjuttost qawwi u intriganti jekk naħsbuh ftit.
Billi tuża loaders Webpack ta 'partijiet terzi, ikkunsidra l-komponenti kollha li Webpack qatet, inklużi skripts, assi, stili, stampi, markdowns, u aktar.
Bl-użu tal-Federazzjoni tal-Moduli, dawn kollha jistgħu jiġu kondiviżi u federati.
Il-mikro-frontends joperaw b'mod monolitiku.
Huwa pjuttost faċli li żżid funzjonalità kondiviża fl-applikazzjoni tiegħek; jimporta biss il-gozz bħala normali jew uża tagħbija sinkronika.
Inkella, it-tagħbija asinkronika tista' tintuża biex tgħabbi biss id-dipendenzi meta jkun meħtieġ billi tuża tagħbija għażżien.
konklużjoni
F'din il-kariga, iddiskutejna l-Federazzjoni tal-Moduli bħala għażla meraviljuża għall-iżvilupp tal-applikazzjoni mikro-frontend tiegħek.
Li l-apps jitħallew jiskambjaw u jikkunsmaw funzjonalità waqt ir-runtime jinkoraġġixxi l-iskalabbiltà billi jippermetti li diversi timijiet jaħdmu fuq applikazzjonijiet indipendenti.
Meta l-funzjonalità komuni tinbidel, ma jkollokx bżonn tfassal u tuża l-konsumaturi tiegħek peress li tappoġġja l-funzjonalità evergreen.
Il-programm tiegħek se jiffunzjona bħal monolith wara li jkun ġie stabbilit, li huwa meraviljuż.
Dipendenzi li jistgħu jinqasmu jintużaw biex jitnaqqas id-daqs tal-apps. Peress li ħafna żviluppaturi diġà huma familjari mal-ambjent Webpack, l-esperjenza tal-iżviluppatur hija eċċellenti.
Ħalli Irrispondi