Përmbajtje[Fshih][Shfaqje]
- Pra, çfarë është një federatë modulesh?
- Pse federata e modulit?
- Komponentët kryesorë të federatës së modulit
Karakteristikat kryesore të Federatës së Modulit+-
- Performancë e shkëlqyer në internet
- Zhvillim efektiv
- Aftësia për të vetë-shëruar dhe tepricë
- Trajtimi efektiv i varësive të zakonshme
- Në vend që të duhet të ri-vendosni konsumatorët, vendosni kodin e pavarur.
- Kur ekzekutoni, importoni kodin nga ndërtimet e tjera.
- Përvoja e përmirësuar e zhvilluesit duke ruajtur përvojën e klientit
- Mikro-frontet funksionojnë në një mënyrë monolit.
- Përfundim
Koncepti i mikro frontendeve zbaton mikroshërbimet për zhvillimin e frontendit.
Ideja është të ndash aplikacionin ose faqen e internetit në pjesë më të vogla, të zhvilluara në mënyrë të pavarur, të cilat më pas lidhen gjatë ekzekutimit, në krahasim me krijimin e tyre si një monolit i vetëm, koheziv.
Metoda ju mundëson të krijoni komponentë të tjerë të aplikacionit duke përdorur teknologji të tjera dhe me ekipe të pavarura.
Ideja është të reduktohen shpenzimet e mirëmbajtjes që lidhen me një monolit tipik duke segmentuar zhvillimin në këtë mënyrë.
Duke i lejuar ata të përqendrohen në një fushë të caktuar të një aplikacioni si një ekip koherent, ai gjithashtu bën të mundura forma të reja bashkëpunimi midis zhvilluesve të backend dhe frontend.
Për shembull, mund të keni një ekip që është vetëm përgjegjës për aftësinë e kërkimit ose një aspekt tjetër të një produkti kyç që është vendimtar për një biznes.
Falë federatës së modulit, ju keni mjaft funksionalitet për të trajtuar rrjedhën e punës mikro frontend mandatet e afrimit.
Ky postim do të hedhë një vështrim të thellë në arkitekturën e federatës së modulit, si dhe veçoritë e tij kryesore dhe modelet e aplikimit.
Pra, çfarë është një federata e modulit?
Dizajni i federatës së modulit Javascript përdor pjesë të ripërdorura në shumë aplikacione.
Është një zhargon mjaft themelor, por thjesht e kam bërë të duket kështu për t'u dukur i freskët.
Meqenëse të gjithë jemi të njohur me ndarjen e komponentëve brenda një aplikacioni React, Federata e Modulit përmbush në mënyrë efektive të njëjtin qëllim në praktikë, me përjashtim të faktit që ekspozon në mënyrë dinamike modulet e aplikacionit për konsum nga aplikacionet e tjera.
Federata e Modulit kërkon të kapërcejë problemin e ndarjes së moduleve në një sistem të shpërndarë duke i ofruar ato elemente kyçe të përbashkëta si makro ose mikro sipas dëshirës.
Kjo arrihet duke i hequr ato nga aplikacionet tuaja dhe nga rrjedha e punës e ndërtimit.
Pse federata e modulit?
Këtu janë disa faktorë që federata e moduleve mund të trajtojë lehtësisht:
- Eksternalet dhe DLL-të (Bibliotekat e Lidhjeve Dinamike) ishin gjithçka që kishim herë pas here për të ndarë funksionalitetin midis aplikacioneve. Të gjitha këto e bënë shkallëzimin e ndarjes së kodit jashtëzakonisht sfidues.
- MKP është e ngadaltë.
- Kur dy programe të veçanta ndajnë kodin vendimtar, ato duhet të jenë dinamike dhe fleksibël.
Në mënyrë që aplikacionet e pavarura të jenë plotësisht në depon e tyre, të vendosen veçmas dhe të funksionojnë si SPA e tyre e pavarur, u krijua Federata Module.
Komponentët kryesorë të federatës së modulit
Para se të zhyteni më thellë, është e rëndësishme të diskutoni shkurtimisht disa koncepte të reja që sjell federata e moduleve.
- Host: Kur ngarkohet një faqe, ndërtimi ose moduli i inicializuar fillimisht quhet host. Një ofrues mund të konsiderohet si një pritës.
- Remote: Një telekomandë është një konstrukt i ndryshëm që përdor një pjesë të hostit. Ata gjithashtu quhen klientë.
- Pritësi me dy drejtime: një ndërtim i paketës uebi që funksionon si një telekomandë që konsumojnë hostet e tjerë dhe si një host që konsumon telekomandë.
- Federata e shitësit: mundëson ndarjen deklarative të kohës së ekzekutimit të varësive të modulit npm për një host ose telekomandë, pavarësisht nga vendndodhja nga e cila janë ngarkuar. Një nga problemet kryesore të performancës me mikro frontend zgjidhet në këtë mënyrë.
Modelet e Aplikimit të Federuar
Sistemi i projektimit me gjelbërim të përjetshëm
Një nga format më themelore të aplikacioneve të federuara është një telekomandë me gjelbërim të përhershëm, e cila është një telekomandë e përbashkët si një "Sistemi i projektimit" ose "biblioteka e komponentëve" që shpërndahet dhe përditësohet në mënyrë të pavarur për të gjithë përdoruesit.
Pa nevojën e secilit ekip aplikacioni të shpenzojë kohë për rishikime, kjo mund të jetë e dobishme për t'u siguruar që të gjitha faqet në internet t'i përmbahen identitetit më të fundit të korporatës.
Në mënyrë që të hartohen dhe vendosen kufijtë dhe procedurat e nevojshme për të garantuar përditësime të sigurta dhe të vazhdueshme, ky mund të jetë një vend i dobishëm për bizneset për të filluar kur shqyrtojnë një arkitekturë të federuar aplikacioni.
Më poshtë janë disa raste përdorimi ku telekomandat e përbashkëta të vendosura në mënyrë të pavarur mund të jenë të përshtatshme:
- Sistemet e projektimit
- Predhat e aplikimit
- Bibliotekat e komponentëve
- Konsumatorët
- Komplete mjetesh të përbashkëta
- Modele alternative të shpërndarjes për miniaplikacionet e përdorura nga të brendshme ose të jashtme
Ndarja e Modulit Multi-SPA
Ripërdorni veçoritë tashmë të eksportuara, të tilla si komponentët, në aplikacione të ndryshme të pavarura me një faqe. Përfitimet përfshijnë:
- Konsumatorët marrin përditësime të automatizuara
- Ekspertiza e domenit mbetet në ekipin që është në krye të tij.
- Drejton procedurën e vendosjes sepse lëshimet e veçanta të moduleve nuk janë të nevojshme.
Federata e drejtuar nga predha
Federata e drejtuar nga guaska përfshin:
- Kur krijoni një version të ri produkti, ekipi i produktit nuk pret që ekipi i Checkout të përfundojë punën e tij.
- Kur ndërroni telekomandat, nuk ka ringarkim të faqes.
- Kur është e nevojshme, Shell ofron ngarkim të ngadaltë në distancë dhe rrugëzim (të nivelit të lartë).
- Drejtimi nëpër telekomandë mundësohet nëpërmjet federatës së shitësve, e cila mundëson ripërdorimin e paketave npm të përdorura shpesh.
- Shell ofron kornizën dhe varësi të tjera të zakonshme që ripërdoren nga telekomandat e ngarkuara me dembel.
Federata me shumë guaskë
Ngjashëm me federatën e drejtuar nga guaska e përshkruar më sipër, por përdori predha të ndryshme.
Ai përmban:
- një numër predhash
- Etiketimi i bardhë
- Jo të gjitha telekomandat kërkohen nga Shell B ose kanë zbatime të pavarura.
Karakteristikat kryesore të Federatës së Modulit
Performancë e shkëlqyer në internet
Problemi me përbërjen normale të modulit NPM është se me rritjen e numrit të vartësve, madhësia e aplikacionit në përgjithësi rritet.
Në mënyrë që të shmangni ngarkimin e paketave kur aplikacioni juaj ngarkon dhe t'i ngarkojë ato vetëm kur është e nevojshme, Federata e Modulit ju ofron mundësinë për të ngarkuar me dembelizëm paketat.
Kjo parandalon nevojën për të shkarkuar module përpara se ato të kërkohen realisht, gjë që përmirëson shpejtësinë e faqes.
Zhvillim efektiv
Çdo projekt mund të prodhohet dhe dorëzohet në izolim dhe mund të kryhet nga ekipe të ndryshme, sepse Federata e Modulit ju inkurajon të organizoni aplikacionin tuaj në projekte diskrete në mënyrë që t'i ndërtoni dhe t'i vendosni ato veçmas (dhe kështu paralelisht).
Aftësia për të vetë-shëruar dhe tepricë
Varësitë e përbashkëta lejojnë Federatën e Modulit të mbajë gjurmët e të gjitha varësive të programit tuaj në një vend.
Në këtë mënyrë, edhe kur një aplikacion nuk deklaron një varësi ose kur ka probleme me rrjetin, ai ende e di se çfarë i nevojitet dhe mund të përballojë shkarkimin e tij sipas nevojës.
Trajtimi efektiv i varësive të zakonshme
Për më tepër, Module Federation ofron menaxhim superior të varësisë, duke zgjidhur në mënyrë efektive kërkesat e shitësve dhe të palëve të treta, në mënyrë që aplikacioni juaj të mos ngarkojë kurrë më shumë se një version të një biblioteke.
Në vend që të duhet të ri-vendosni konsumatorët, vendosni kodin e pavarur.
Zhvilluesi është shumë i interesuar të ketë funksionalitet me gjelbërim të përhershëm. Pasi funksionaliteti i varur i ekspozuar të ketë ndryshuar, nuk do të jetë më e nevojshme të riinstaloni konsumatorët.
Më duhet të pranoj se kjo është një veçori shumë e fuqishme në vetvete, e cila do të ketë nevojë për ekzaminim të kujdesshëm për të parandaluar rezultate të papritura.
Kur ekzekutoni, importoni kodin nga ndërtimet e tjera.
Kur miratojmë modelin e paketës NPM, ne mund të konsiderojmë aplikacione që përdorin Federatën e Moduleve të ngjashme me API-të në vend që të ndajnë kodin dhe të mendojnë për "bibliotekën".
Në të njëjtën mënyrë që mund të marrin funksionalitet nga aplikacione të tjera, aplikacionet në ueb tani mund t'i ofrojnë funksionalitetin aplikacioneve të tjera.
Përvoja e përmirësuar e zhvilluesit duke ruajtur përvojën e klientit
Ndonjë Zhvilluesi i JavaScript do të jetë mjaft komode me Federatën e Modulit sepse është një shtojcë Webpack që është i aksesueshëm që nga versioni 5 i Webpack.
Kjo është në fakt mjaft e fortë dhe intriguese nëse e mendojmë pak.
Duke përdorur ngarkues të pakove të uebit të palëve të treta, merrni parasysh të gjithë komponentët që Pako Uebi paketat, duke përfshirë skriptet, asetet, stilet, fotografitë, shënimet dhe më shumë.
Duke përdorur Module Federation, të gjitha këto mund të ndahen dhe federohen.
Mikro-frontet funksionojnë në një mënyrë monolit.
Është mjaft e lehtë të shtoni funksionalitet të përbashkët në aplikacionin tuaj; thjesht importoni paketën si normale ose përdorni ngarkimin sinkron.
Përndryshe, ngarkimi asinkron mund të përdoret vetëm për të ngarkuar varësitë kur është e nevojshme duke përdorur ngarkimin dembel.
Përfundim
Në këtë postim, ne kemi diskutuar Federatën e Modulit si një zgjedhje fantastike për zhvillimin e aplikacionit tuaj mikro-frontend.
Lejimi i aplikacioneve të shkëmbejnë dhe të konsumojnë funksionalitetin në kohën e ekzekutimit inkurajon shkallëzueshmërinë duke u mundësuar ekipeve të ndryshme të punojnë në aplikacione të pavarura.
Kur ndryshon funksionaliteti i zakonshëm, nuk do të keni nevojë të dizajnoni dhe shpërndani konsumatorët tuaj pasi ai mbështet funksionalitetin me gjelbërim të përhershëm.
Programi juaj do të funksionojë si një monolit pasi të jetë vendosur, gjë që është fantastike.
Varësitë e ndashme përdoren për të zvogëluar madhësinë e aplikacioneve. Meqenëse shumë zhvillues janë tashmë të njohur me mjedisin Webpack, përvoja e zhvilluesit është e shkëlqyer.
Lini një Përgjigju