Zviri Mukati[Viga][Ratidza]
- Saka, chii chinonzi module federal?
- Sei module federal?
- Module federation core components
Module Federation yakakosha maficha+-
- Yakanakisa webhu kuita
- Kubudirira kubudirira
- Iko kukwanisa kuzvirapa uye redundancy
- Kubata zvine hunyanzvi kwezvakajairwa zvinoenderana
- Panzvimbo pekuisa zvakare vatengi, shandisa yakazvimirira kodhi.
- Paunenge uchimhanya, pinza kodhi kubva kune mamwe anovaka.
- Yakavandudzwa ruzivo rwemugadziri uchichengetedza ruzivo rwevatengi
- Micro-frontends inoshanda nenzira ye monolithic.
- mhedziso
Pfungwa ye micro frontends inoshandisa microservices kumberi kwekusimudzira.
Pfungwa ndeyekupwanya application kana webhusaiti kuita zvidimbu zvidiki, zvakazvimiririra zvakagadziridzwa izvo zvinobva zvabatanidzwa panguva yekumhanya, kusiyana nekuzvigadzira senge imwechete, yakabatana monolith.
Iyo nzira inoita kuti iwe ugadzire zvimwe zvikamu zvechishandiso uchishandisa mamwe matekinoroji uye nezvikwata zvakazvimirira.
Pfungwa ndeyekudzikisa mari yekuchengetedza ine hukama neyakajairwa monolith nekupatsanura kusimudzira nenzira iyi.
Nekuvabvumira kuti vatarise pane imwe nzvimbo yechikumbiro sechikwata chakabatana, zvinoita zvakare nzira nyowani dzekushandira pamwe pakati pebackend uye frontend devs zvinogoneka.
Semuenzaniso, iwe unogona kunge uine timu ine basa rekutsvaga kugona kana chimwe chikamu chechigadzirwa chakakosha chakakosha kubhizinesi.
Kutenda kumubatanidzwa wemodule, une mashandiro akakwana ekubata mafambiro ebasa ayo micro frontend kusvika mandates.
Iyi posvo inotarisa zvakadzama mavakirwo emubatanidzwa wemodule, pamwe neayo makuru maficha uye maitiro ekushandisa.
Saka, chii chinonzi a module federal?
Javascript's module federation dhizaini inoshandisa zvikamu zvakashandiswazve mumashandisirwo mazhinji.
Yakanyanya kujeka jargon, asi ini ndangoita kuti iite senge nzira kuti iite seine kamhepo.
Sezvo isu tese tichiziva nezvekugovana zvikamu mukati meReact application, Module Federation inonyatso zadzisa chinangwa chimwe chete mukuita, kunze kwekuti inofumura zvine simba mamodule ekushandisa kuti ashandiswe nemamwe maapplication.
Module Federation inotsvaga kukunda dambudziko rekugovanisa module mune yakagoverwa sisitimu nekuendesa izvo zvakakosha zvakagovaniswa zvinhu semacro kana diki sezvaunoda.
Izvi zvinoitwa nekuita kuti vabviswe kubva kumaapps ako uye nekuvaka mafambiro.
Sei module federal?
Hezvino zvimwe zvinhu izvo module federal inogona kubata nyore:
- Zvekunze uye DLLs (Dynamic Link Libraries) ndizvo zvataigara tichiita zvekugovana mashandiro pakati pemaapplication. Zvese izvo zvakaita kuti kuyera kodhi kugovera kuve kwakaoma zvakanyanya.
- NPM ine husimbe.
- Kana mapurogiramu maviri akapatsanurwa achigovana kodhi yakakosha, anofanirwa kuve ane simba uye anochinjika.
Kuti maapplication akazvimirira ave akazara mune yavo repository, vatumire zvakasiyana, uye vashande seyavo yakazvimirira SPA, Module Federation yakagadzirwa.
Module federation core components
Usati wanyura zvakadzika, kukurukura muchidimbu pfungwa nyowani dzinounzwa nemodule federation kwakakosha.
- Host: Kana peji rinotakura, kuvaka kana module yakatangwa pakutanga inonzi host. Mupi anogona kufungidzirwa semugamuchiri.
- Remote: Remote chivakwa chakasiyana chinoshandisa chikamu chemugamuchiri. Vanonziwo vatengi.
- Bi-directional host: yeWebpack inovaka inoshanda sese kure inodyiwa nemamwe mahosti uye muenzi anoshandisa maremote.
- Vendor federation: inogonesa yakagovaniswa yakagovaniswa nguva yekugoverana kwenpm module kutsamira kune muenzi kana kure, zvisinei nenzvimbo yaanorodha. Imwe yematambudziko makuru ekuita ine micro frontends inogadziriswa nenzira iyi.
Maitiro eFederated Application
Evergreen Dhizaini System
Imwe yedzakanyanya mafomu emafederated application ndeye "evergreen kure," iri kure rakagovaniswa se "Design System" kana "Component library" iyo inogovaniswa yakazvimiririra uye yakagadziridzwa kune vese vashandisi.
Pasina chega chega chikwata cheapp chinoda kupedza nguva pakudzokorora, izvi zvinogona kubatsira mukuona kuti ese masaiti epamhepo anoteedzera kuzivikanwa kwekambani kwazvino.
Kuti ugadzire uye uise muganho uye maitiro anodiwa kuvimbisa kuchengetedzeka, kuenderera kugadziridzwa, ino inogona kunge iri nzvimbo inobatsira kuti mabhizinesi atange kana uchifunga nezve federated application architecture.
Zvinotevera ndezvimwe zvekushandisa-kesi uko yakazvimiririra yakagovaniswa maremote angave akakodzera kukwana:
- Dhizaini masisitimu
- Application shells
- Component maraibhurari
- Vanoshandisa
- Shared toolkits
- Mamwe mamodhi ekugovera majeti anoshandiswa nemukati kana kunze
Multi-SPA Module Kugovera
Shandisazve zvinhu zvagara zvatengeswa kunze kwenyika, zvakaita sezvikamu, mumapurogiramu akasiyana-siyana epeji rimwe chete. Benefits zvinosanganisira:
- Vatengi vanowana zvigadziriso zveotomatiki
- Domain hunyanzvi hunoramba huri pachikwata chiri kutungamira.
- Inorerutsa maitiro ekutumira nekuti akapatsanurwa module kuburitswa hakufanirwe.
Shell inofambiswa nemubatanidzwa
The shell-driven federation inosanganisira:
- Paunenge uchigadzira vhezheni yechigadzirwa chitsva, timu yeChigadzirwa haimiriri kuti timu yeCheckout ipedze basa ravo.
- Paunenge uchichinja maremote, hapana kurodha peji zvakare.
- Kana zvichidikanwa, Shell inopa inononoka kurodha kure uye (yepamusoro-chikamu) nzira.
- Kuendesa kure kure kunokwanisika kuburikidza nemubatanidzwa wevatengesi, izvo zvinogonesa kushandiswazve kweanowanzo shandiswa npm mapakeji.
- Shell inopa iyo chimiro uye zvimwe zvakajairika zvinotsamira izvo zvinoshandiswa zvakare neane usimbe akaremerwa maremote.
Multi-shell mubatanidzwa
Zvakafanana nemubatanidzwa unofambiswa negomba unotsanangurwa pamusoro, asi wakashandisa mabhomba akasiyana.
Iine:
- nhamba yemateko
- White-labeling
- Haasi ese maremoti anodiwa neShell B kana kuve nekuzvimiririra kuita.
Module Federation yakakosha maficha
Yakanakisa webhu kuita
Nyaya ine yakajairika NPM module kuumbwa ndeyekuti sezvo huwandu hwevanotsamira hunokwira, saizi yechishandiso inowanzokura.
Kuti udzivise kurodha mabundle kana application yako ichiremedza uye kungoaisa pazvinenge zvichidikanwa, Module Federation inokupa iwe kugona kurodha mabundle.
Izvi zvinodzivirira kudiwa kwekudhawunirodha mamodule asati anyatso kudiwa, izvo zvinovandudza saiti kumhanya.
Kubudirira kubudirira
Imwe neimwe purojekiti inogona kugadzirwa uye kuendeswa yakazvimiririra uye inogona kuitwa nezvikwata zvakasiyana nekuti Module Federation inokurudzira kuti uronge chikumbiro chako mumapurojekiti akasarudzika kuitira kuti iwe ugokwanisa kuvaka uye kuaendesa zvakasiyana (uye nekudaro zvakafanana).
Iko kukwanisa kuzvirapa uye redundancy
Kuvimbika kwakagovaniswa kunobvumira Module Federation kuti itarise zvese zvinoenderana nechirongwa chako munzvimbo imwechete.
Nenzira iyi, kunyangwe kana application ikasazivisa kutsamira kana paine matambudziko etiweki, ichiri kuziva zvainoda uye inokwanisa kubata kuidhawunirodha sezvinodiwa.
Kubata zvine hunyanzvi kwezvakajairwa zvinoenderana
Pamusoro pezvo, Module Federation inopa hukuru hwekutsamira manejimendi, kunyatsogadzirisa mutengesi uye wechitatu-bato zvinodiwa kuitira kuti application yako isambofa yakatakura inodarika imwe shanduro yeraibhurari.
Panzvimbo pekuisa zvakare vatengi, shandisa yakazvimirira kodhi.
Mugadziri anofarira zvikuru kuve neevergreen functionality. Pakangofumurwa mashandiro anoenderana achinja, hazvichave zvakakosha kudzosera vatengi zvakare.
Ndinofanira kubvuma kuti ichi chinhu chine simba kwazvo mukati uye pachacho, icho chinoda kunyatsoongororwa kudzivirira mhedzisiro isingatarisirwe.
Paunenge uchimhanya, pinza kodhi kubva kune mamwe anovaka.
Kana tichitora iyo NPM package modhi, isu tinogona kufunga maapplication anoshandisa Module Federation zvakafanana nemaAPI pane kugovera kodhi uye kufunga kwe "raibhurari."
Nenzira imwecheteyo yavanogonawo kugamuchira kushanda kubva kune mamwe maapplication, maapplication ewebhu zvino anogona kupa kushanda kune mamwe maapplication.
Yakavandudzwa ruzivo rwemugadziri uchichengetedza ruzivo rwevatengi
chero JavaScript developer ichanyatsogadzikana neModule Federation nekuti iWebpack plugin inowanikwa seWebpack vhezheni 5.
Izvi zvine simba uye zvinokatyamadza kana tikazvifunga.
Nekushandisa wechitatu-bato Webpack loaders, funga zvese zvikamu izvo Webpack masumbu, anosanganisira zvinyorwa, midziyo, masitayera, mapikicha, mamakisi, nezvimwe.
Nekushandisa Module Federation, zvese izvi zvinogona kugovaniswa nekubatanidzwa.
Micro-frontends inoshanda nenzira ye monolithic.
Zviri nyore kuwedzera mashandiro ekugovana kune yako application; ingo pinza bundle seyakajairika kana shandisa synchronous kurodha.
Neimwe nzira, kurodha asynchronous kunogona kushandiswa kungoremedza zvinotsamira pazvinenge zvichidikanwa nekushandisa husimbe kurodha.
mhedziso
Mune ino post, takakurukura Module Federation seyakanakisa sarudzo yekuvandudza yako micro-frontend application.
Kurega maapplication achichinjana uye kushandisa kushanda panguva yekumhanya kunokurudzira scalability nekugonesa zvikwata zvakasiyana kushanda pane zvakazvimirira zvikumbiro.
Kana iyo yakajairika mashandiro achinja, hauzodi kugadzira uye kutumira vatengi vako sezvo inotsigira evergreen kushanda.
Chirongwa chako chichaita senge monolith mushure mekugadzikiswa, zvinova zvinoshamisa.
Zvinogovaniswa zvinoenderana zvinoshandiswa kudzikisa saizi yemaapps. Sezvo vazhinji vanogadzira vatojairana neWebpack nharaunda, iyo yekuvandudza ruzivo yakanakisa.
Leave a Reply