Efnisyfirlit[Fela][Sýna]
- Svo, hvað er einingasamband?
- Hvers vegna mátsamband?
- Module Federation algerlega hluti
Module Federation kjarnaeiginleikar+-
- Frábær árangur á vefnum
- Árangursrík þróun
- Hæfni til sjálfsheilunar og offramboðs
- Skilvirk meðhöndlun á algengum ósjálfstæðum
- Í stað þess að þurfa að dreifa neytendum aftur skaltu nota óháðan kóða.
- Þegar þú keyrir skaltu flytja inn kóða frá öðrum byggingum.
- Aukin upplifun þróunaraðila á meðan upplifun viðskiptavina er varðveitt
- Örframendingar starfa á einhæfan hátt.
- Niðurstaða
Hugmyndin um örframenda beitir örþjónustu við framendaþróun.
Hugmyndin er að skipta forritinu eða vefsíðunni upp í smærri, sjálfstætt þróaða hluta sem eru síðan tengdir á meðan á keyrslu stendur, í stað þess að búa þá til sem einn, samhangandi einliða.
Aðferðin gerir þér kleift að búa til aðra þætti forritsins með því að nota aðra tækni og með óháðum teymum.
Hugmyndin er að draga úr viðhaldskostnaði sem tengist dæmigerðum einliða með því að skipta þróun upp á þennan hátt.
Með því að leyfa þeim að einbeita sér að tilteknu svæði forrits sem heildstætt teymi, gerir það einnig nýtt samstarf milli bakenda og framenda þróunaraðila mögulegt.
Til dæmis gætirðu verið með teymi sem er eingöngu ábyrgt fyrir leitargetu eða öðrum þætti lykilvöru sem skiptir sköpum fyrir fyrirtæki.
Þökk sé einingasambandinu hefurðu næga virkni til að takast á við verkflæðið sem ör framhlið nálgunarumboð.
Þessi færsla mun skoða djúpt arkitektúr einingasambandsins, sem og helstu eiginleika þess og notkunarmynstur.
Svo, hvað er a mátsamband?
Sambandshönnun Javascript notar endurnýttir hlutar í mörgum forritum.
Þetta er frekar einfalt hrognamál, en ég hef einfaldlega látið það líta út fyrir að vera létt.
Eins og við þekkjum öll til að deila íhlutum innan React forrits, nær Module Federation í raun sama markmiði í reynd, að því undanskildu að það afhjúpar forritaeiningar á virkan hátt til notkunar fyrir önnur forrit.
Module Federation leitast við að sigrast á vandamálinu við að deila einingum í dreifðu kerfi með því að skila þessum sameiginlegu lykilþáttum sem fjölvi eða ör eins og óskað er eftir.
Þetta er gert með því að láta fjarlægja þau úr öppunum þínum og byggingarvinnuflæðinu.
Hvers vegna mátsamband?
Hér eru nokkrir þættir sem einingasamband getur auðveldlega séð um:
- Ytri og DLL (Dynamic Link Libraries) voru allt sem við höfðum stundum til að deila virkni milli forrita. Allt þetta gerði hlutdeild í stærðarkóða mjög krefjandi.
- NPM er tregur.
- Þegar tvö aðskilin forrit deila mikilvægum kóða verða þau að vera kraftmikil og sveigjanleg.
Til þess að sjálfstæð öpp séu algerlega í eigin geymslu, dreifa sérstaklega og starfa sem sitt eigið sjálfstæða SPA, var Module Federation búið til.
Module Federation algerlega hluti
Áður en kafað er dýpra er mikilvægt að ræða stuttlega nokkur ný hugtök sem einingasambandið kemur með.
- Gestgjafi: Þegar síða hleðst er byggingin eða einingin sem upphaflega var frumstillt kölluð gestgjafi. Hægt er að líta á þjónustuaðila sem gestgjafa.
- Fjarstýring: Fjarstýring er önnur smíði sem notar hluta hýsilsins. Þeir eru einnig nefndir viðskiptavinir.
- Tvíátta gestgjafi: Webpack smíði sem virkar bæði sem fjarstýring sem aðrir gestgjafar nota og gestgjafi sem notar fjarstýringar.
- Samtök lánardrottna: gerir kleift að deila keyrslutíma með yfirlýsandi hætti á npm einingaháðum fyrir hýsil eða fjarstýringu, óháð staðsetningunni sem þær eru hlaðnar frá. Eitt helsta frammistöðuvandamálið með örframenda er leyst á þennan hátt.
Mynstur samtaka umsókna
Evergreen hönnunarkerfi
Eitt af grunnformum sameinaðra forrita er „sígræn fjarstýring“ sem er sameiginleg fjarstýring eins og „Hönnunarkerfi“ eða „Íhlutasafn“ sem er sjálfstætt dreift og uppfært fyrir alla notendur.
Án þess að hvert forritateymi þurfi að eyða tíma í endurskoðun gæti þetta verið gagnlegt til að tryggja að allar netsíður fylgi nýjustu fyrirtækjakennslunni.
Til þess að hanna og koma á þeim takmörkunum og verklagsreglum sem nauðsynlegar eru til að tryggja öruggar, áframhaldandi uppfærslur, gæti þetta verið gagnlegur staður fyrir fyrirtæki að byrja þegar þeir íhuga sameinaðan forritaarkitektúr.
Eftirfarandi eru nokkur notkunartilvik þar sem óháð samnýttar fjarstýringar gætu hentað vel:
- Hönnunarkerfi
- Umsóknarskeljar
- Íhlutasöfn
- Neytendur
- Sameiginleg verkfærakista
- Aðrar dreifingarlíkön fyrir græjur sem notuð eru af innri eða ytri
Multi-SPA Module Sharing
Endurnotaðu eiginleika sem þegar eru fluttir út, eins og íhlutir, í mismunandi sjálfstæðum einni síðu forritum. Fríðindi fela í sér:
- Neytendur fá sjálfvirkar uppfærslur
- Sérfræðiþekking á lénum er áfram í teyminu sem hefur umsjón með því.
- Straumbreytir uppsetningarferlinu vegna þess að ekki er nauðsynlegt að gefa út sérstakar einingaútgáfur.
Skeldrifið sambandsríki
Skeldrifna sambandið inniheldur:
- Þegar ný vöruútgáfa er búin til bíður vöruteymið ekki eftir að Checkout teymið ljúki starfi sínu.
- Þegar skipt er um fjarstýringu er engin endurhleðsla á síðu.
- Þegar nauðsyn krefur býður Shell upp á hæga fjarhleðslu og (hæsta stigi) leið.
- Leiðsögn yfir fjarstýringar er möguleg í gegnum samtaka söluaðila, sem gerir kleift að endurnýta oft notaða npm pakka.
- Shell býður upp á umgjörðina og aðrar algengar ósjálfstæðir sem eru endurnýttir af fjarstýringum sem hlaðnar eru með leti.
Fjölskeljasamband
Svipað og skelknúna sambandið sem lýst er hér að ofan, en notaði mismunandi skeljar.
Það inniheldur:
- fjölda skelja
- Hvít merking
- Ekki eru allar fjarstýringar krafist af Shell B eða hafa sjálfstæðar útfærslur.
Module Federation kjarnaeiginleikar
Frábær árangur á vefnum
Vandamálið við venjulega samsetningu NPM eininga er að þegar fjöldi þeirra sem eru á framfæri hækkar vex stærð forritsins almennt.
Til að forðast að hlaða búntum þegar forritið þitt hleður inn og hlaða þeim aðeins þegar nauðsyn krefur, býður Module Federation þér möguleika á að hlaða búntum í leti.
Þetta kemur í veg fyrir að þú þurfir að hlaða niður einingar áður en þær eru raunverulegar nauðsynlegar, sem bætir hraða vefsvæðisins.
Árangursrík þróun
Hægt er að framleiða og afhenda hvert verkefni í einangrun og hægt er að framkvæma það af ýmsum teymum vegna þess að Module Federation hvetur þig til að skipuleggja umsókn þína í stak verkefni þannig að þú getir smíðað og dreift þeim sérstaklega (og þar af leiðandi samhliða).
Hæfni til sjálfsheilunar og offramboðs
Samnýtt ósjálfstæði gerir Module Federation kleift að halda utan um allar ósjálfstæðir forritsins þíns á einum stað.
Þannig, jafnvel þegar forrit lýsir ekki yfir háð eða þegar það eru netvandamál, veit það samt hvað það þarf og getur séð um að hlaða því niður eftir þörfum.
Skilvirk meðhöndlun á algengum ósjálfstæðum
Að auki býður Module Federation upp á yfirburða stjórnun á ósjálfstæði, sem leysir í raun kröfur söluaðila og þriðja aðila þannig að forritið þitt mun aldrei hlaða meira en eina útgáfu af bókasafni.
Í stað þess að þurfa að dreifa neytendum aftur skaltu nota óháðan kóða.
Framkvæmdaraðilinn hefur mikinn áhuga á að hafa sígræna virkni. Þegar óvarinn háður virkni hefur breyst, verður ekki lengur nauðsynlegt að setja upp neytendur aftur.
Ég verð að viðurkenna að þetta er mjög öflugur eiginleiki í sjálfu sér, einn sem þarf að skoða vandlega til að koma í veg fyrir óvæntar niðurstöður.
Þegar þú keyrir skaltu flytja inn kóða frá öðrum byggingum.
Þegar við tökum upp NPM pakkalíkanið gætum við íhugað forrit sem nota Module Federation í ætt við API frekar en að deila kóða og hugsa um „safn“.
Á sama hátt og þeir geta einnig fengið virkni frá öðrum forritum, geta vefforrit nú veitt öðrum forritum virknina.
Aukin upplifun þróunaraðila á meðan upplifun viðskiptavina er varðveitt
Allir JavaScript verktaki mun vera nokkuð ánægð með Module Federation vegna þess að það er Webpack tappi sem er aðgengilegt frá og með Webpack útgáfu 5.
Þetta er reyndar frekar sterkt og forvitnilegt ef við hugsum um það.
Með því að nota þriðja aðila Webpack hleðslutæki skaltu íhuga alla íhluti sem Webpack búnt, þar á meðal handrit, eignir, stíla, myndir, niðurfærslur og fleira.
Með því að nota Module Federation er hægt að deila öllu þessu og sameina.
Örframendingar starfa á einhæfan hátt.
Það er frekar auðvelt að bæta sameiginlegri virkni við forritið þitt; flyttu bara búntinn inn eins og venjulega eða notaðu samstillta hleðslu.
Að öðrum kosti er hægt að nota ósamstillta hleðslu til að hlaða aðeins ósjálfstæði þegar nauðsyn krefur með því að nota lata hleðslu.
Niðurstaða
Í þessari færslu höfum við fjallað um Module Federation sem frábært val til að þróa ör-framendaforritið þitt.
Að leyfa forritum að skiptast á og neyta virkni á keyrslutíma hvetur til sveigjanleika með því að gera ýmsum teymum kleift að vinna að sjálfstæðum forritum.
Þegar sameiginleg virkni breytist þarftu ekki að hanna og dreifa neytendum þínum þar sem það styður sígræna virkni.
Forritið þitt mun virka eins og einlitur eftir að það hefur verið sett upp, sem er frábært.
Deilanleg ósjálfstæði eru notuð til að minnka stærð forrita. Þar sem margir forritarar kannast nú þegar við Webpack umhverfið er upplifun þróunaraðila frábær.
Skildu eftir skilaboð