Saturs[Paslēpt][Rādīt]
- Tātad, kas ir moduļu federācija?
- Kāpēc moduļu federācija?
- Moduļu federācijas galvenās sastāvdaļas
Moduļu federācijas pamatfunkcijas+-
- Lieliska tīmekļa veiktspēja
- Efektīva attīstība
- Spēja pašatveseļoties un atlaišana
- Efektīva parasto atkarību apstrāde
- Tā vietā, lai atkārtoti izvietotu patērētājus, izvietojiet neatkarīgu kodu.
- Palaižot, importējiet kodu no citām versijām.
- Uzlabota izstrādātāju pieredze, vienlaikus saglabājot klientu pieredzi
- Mikropriekšpuses darbojas monolītā veidā.
- Secinājumi
Mikropriekšgalu koncepcija izmanto mikropakalpojumus priekšgala izstrādei.
Ideja ir sadalīt lietojumprogrammu vai vietni mazākos, neatkarīgi izstrādātos gabalos, kas pēc tam tiek savienoti izpildlaikā, nevis izveidot tos kā vienotu, vienotu monolītu.
Šī metode ļauj izveidot citus lietojumprogrammas komponentus, izmantojot citas tehnoloģijas un ar neatkarīgām komandām.
Ideja ir samazināt ar tipisku monolītu saistītos uzturēšanas izdevumus, šādi segmentējot attīstību.
Ļaujot viņiem koncentrēties uz noteiktu lietojumprogrammas jomu kā saskaņotai komandai, tas arī padara iespējamus jaunus sadarbības veidus starp aizmugursistēmas un priekšgala izstrādātājiem.
Piemēram, jums var būt komanda, kas ir pilnībā atbildīga par meklēšanas iespējām vai citu uzņēmumam svarīga produkta aspektu.
Pateicoties moduļu federācijai, jums ir pietiekami daudz funkcionalitātes, lai apstrādātu darbplūsmu mikro frontend pieejas pilnvaras.
Šajā rakstā tiks detalizēti apskatīta moduļu federācijas arhitektūra, kā arī tās galvenās funkcijas un lietojumu modeļi.
Tātad, kas ir a moduļu federācija?
Javascript moduļu federācijas dizains daudzās lietojumprogrammās izmanto atkārtoti izmantotas daļas.
Tas ir diezgan vienkāršs žargons, bet es vienkārši esmu licis tam šķist, ka tas izskatās vējains.
Tā kā mēs visi esam pazīstami ar komponentu koplietošanu React lietojumprogrammā, Moduļu federācija praksē efektīvi sasniedz to pašu mērķi, izņemot to, ka tā dinamiski pakļauj lietojumprogrammu moduļus lietošanai citām lietojumprogrammām.
Moduļu federācija cenšas pārvarēt moduļu koplietošanas problēmu sadalītā sistēmā, piegādājot šos galvenos koplietojamos elementus kā makro vai mikro, kā nepieciešams.
Tas tiek panākts, noņemot tās no jūsu lietotnēm un veidošanas darbplūsmas.
Kāpēc moduļu federācija?
Šeit ir daži faktori, ar kuriem moduļu federācija var viegli tikt galā.
- Ārējie elementi un DLL (dinamisko saišu bibliotēkas) bija viss, kas mums reizēm bija, lai kopīgotu funkcionalitāti starp lietotnēm. Tas viss padarīja mērogošanas koda koplietošanu ārkārtīgi sarežģītu.
- NPM ir gausa.
- Ja divām atsevišķām programmām ir kopīgs būtisks kods, tām jābūt dinamiskām un elastīgām.
Lai atsevišķas lietotnes pilnībā atrastos savā krātuvē, tiktu izvietotas atsevišķi un darbotos kā sava neatkarīga SPA, tika izveidota Moduļu federācija.
Moduļu federācijas galvenās sastāvdaļas
Pirms niršanas dziļāk, ir svarīgi īsi apspriest dažus jaunus jēdzienus, ko piedāvā moduļu federācija.
- Saimniekdators: kad lapa tiek ielādēta, sākotnēji inicializēto būvējumu vai moduli sauc par resursdatoru. Pakalpojumu sniedzēju var uzskatīt par resursdatoru.
- Tālvadība: tālvadības pults ir cita konstrukcija, kas izmanto resursdatora daļu. Tos sauc arī par klientiem.
- Divvirzienu resursdators: Webpack būvējums, kas darbojas gan kā tālvadības pults, ko izmanto citi saimniekdatori, gan resursdators, kas patērē tālvadības pultis.
- Pārdevēja federācija: ļauj deklaratīvi koplietot npm moduļa atkarības izpildlaikā resursdatoram vai tālvadībai neatkarīgi no vietas, no kuras tās tiek ielādētas. Šādā veidā tiek atrisināta viena no galvenajām veiktspējas problēmām ar mikropriekšgaldiem.
Federētās lietojumprogrammas modeļi
Evergreen dizaina sistēma
Viens no vienkāršākajiem apvienoto lietojumprogrammu veidiem ir “mūžzaļā tālvadības pults”, kas ir koplietojama tālvadības pults, piemēram, “Design System” vai “Component bibliotēka”, kas tiek neatkarīgi izplatīta un atjaunināta visiem lietotājiem.
Ja katrai lietotņu komandai nav jātērē laiks pārskatīšanai, tas varētu būt noderīgi, lai nodrošinātu, ka visas tiešsaistes vietnes atbilst jaunākajai korporatīvajai identitātei.
Lai izstrādātu un ieviestu ierobežojumus un procedūras, kas nepieciešamas, lai garantētu drošus, nepārtrauktus atjauninājumus, šī varētu būt noderīga vieta uzņēmumiem, kur sākt, apsverot apvienoto lietojumprogrammu arhitektūru.
Tālāk ir norādīti daži lietošanas gadījumi, kad neatkarīgi izvietotas koplietošanas tālvadības pultis varētu būt piemērotas.
- Dizaina sistēmas
- Lietojumprogrammu apvalki
- Komponentu bibliotēkas
- Patērētāji
- Koplietojamie rīku komplekti
- Alternatīvi izplatīšanas modeļi logrīkiem, ko izmanto iekšējie vai ārējie
Vairāku SPA moduļu koplietošana
Atkārtoti izmantojiet jau eksportētās funkcijas, piemēram, komponentus, dažādās atsevišķās vienas lapas lietotnēs. Ieguvumi ietver:
- Patērētāji saņem automatizētus atjauninājumus
- Domēna zināšanas paliek komandā, kas par to ir atbildīga.
- Racionalizē izvietošanas procedūru, jo nav nepieciešami atsevišķi moduļu laidieni.
Shell vadīta federācija
Uz čaulas vadītā federācija ietver:
- Veidojot jaunu produkta versiju, produktu komanda negaida, līdz Checkout komanda pabeigs savu darbu.
- Pārslēdzot tālvadības pulti, lapa netiek atkārtoti ielādēta.
- Ja nepieciešams, Shell piedāvā lēnu attālo ielādi un (augstākā līmeņa) maršrutēšanu.
- Maršrutēšana starp tālvadības pultīm ir iespējama, izmantojot piegādātāju federāciju, kas ļauj atkārtoti izmantot bieži izmantotās npm pakotnes.
- Shell piedāvā ietvaru un citas izplatītas atkarības, kuras atkārtoti izmanto slinki ielādētās tālvadības pultis.
Vairāku čaulu federācija
Līdzīgi iepriekš aprakstītajai čaulas vadītajai federācijai, taču tika izmantoti dažādi apvalki.
Tas satur:
- vairākas čaulas
- Baltā marķēšana
- Ne visas tālvadības pultis ir nepieciešamas Shell B vai tām ir neatkarīgas ieviešanas.
Moduļu federācijas pamatfunkcijas
Lieliska tīmekļa veiktspēja
Problēma ar parasto NPM moduļa sastāvu ir tāda, ka, palielinoties apgādājamo skaitam, lietojumprogrammas apjoms parasti pieaug.
Lai izvairītos no komplektu ielādes, kad jūsu lietojumprogramma tiek ielādēta, un ielādētu tos tikai nepieciešamības gadījumā, Moduļu federācija piedāvā iespēju laiski ielādēt komplektus.
Tas novērš nepieciešamību lejupielādēt moduļus, pirms tie faktiski ir nepieciešami, kas uzlabo vietnes ātrumu.
Efektīva attīstība
Katru projektu var izstrādāt un piegādāt atsevišķi, un to var veikt dažādas komandas, jo Moduļu federācija mudina jūs sakārtot lietojumprogrammu atsevišķos projektos, lai jūs varētu tos izveidot un izvietot atsevišķi (un līdz ar to paralēli).
Spēja pašatveseļoties un atlaišana
Koplietojamās atkarības ļauj Moduļu federācijai vienuviet izsekot visām jūsu programmas atkarībām.
Tādā veidā pat tad, ja lietojumprogramma nepaziņo par atkarību vai ja ir tīkla problēmas, tā joprojām zina, kas tai ir nepieciešams, un var veikt tās lejupielādi, ja nepieciešams.
Efektīva parasto atkarību apstrāde
Turklāt Moduļu federācija piedāvā izcilu atkarības pārvaldību, efektīvi risinot piegādātāju un trešo pušu prasības, lai jūsu lietojumprogramma nekad neielādētu vairāk nekā vienu bibliotēkas versiju.
Tā vietā, lai atkārtoti izvietotu patērētājus, izvietojiet neatkarīgu kodu.
Izstrādātājs ir ļoti ieinteresēts iegūt mūžzaļo funkcionalitāti. Tiklīdz ir mainījusies atklātā atkarīgā funkcionalitāte, patērētāji vairs nebūs jāpārinstalē.
Man jāatzīst, ka šī ir ļoti spēcīga iezīme pati par sevi, un tā būs rūpīgi jāpārbauda, lai novērstu negaidītus rezultātus.
Palaižot, importējiet kodu no citām versijām.
Pieņemot NPM pakotnes modeli, mēs varētu apsvērt lietotnes, kurās tiek izmantota moduļu federācija, kas ir līdzīga API, nevis koplietotu kodu un domātu par “bibliotēku”.
Tīmekļa lietojumprogrammas tagad var nodrošināt funkcionalitāti citām lietojumprogrammām, tāpat kā tās var saņemt funkcionalitāti no citām lietotnēm.
Uzlabota izstrādātāju pieredze, vienlaikus saglabājot klientu pieredzi
Jebkurš JavaScript izstrādātājs būs diezgan ērti ar Moduļu federāciju, jo tas ir Webpack spraudnis, kas ir pieejams no Webpack 5. versijas.
Tas patiesībā ir diezgan spēcīgs un intriģējošs, ja mēs par to domājam.
Izmantojot trešās puses Webpack iekrāvējus, ņemiet vērā visus komponentus, kas Webpack komplektus, tostarp skriptus, līdzekļus, stilus, attēlus, atlaides un daudz ko citu.
Izmantojot moduļu federāciju, tos visus var koplietot un apvienot.
Mikropriekšpuses darbojas monolītā veidā.
Ir diezgan vienkārši pievienot savai lietojumprogrammai koplietotu funkcionalitāti; vienkārši importējiet komplektu kā parasti vai izmantojiet sinhrono ielādi.
Alternatīvi, asinhrono ielādi var izmantot, lai vajadzības gadījumā ielādētu tikai atkarības, izmantojot slinko ielādi.
Secinājumi
Šajā ziņā mēs esam apsprieduši Moduļu federāciju kā fantastisku izvēli jūsu mikro priekšgala lietojumprogrammas izstrādei.
Ļaujot lietotnēm apmainīties un patērēt funkcionalitāti izpildlaikā, tiek veicināta mērogojamība, ļaujot dažādām komandām strādāt ar neatkarīgām lietojumprogrammām.
Kad mainās parastā funkcionalitāte, jums nebūs jāprojektē un jāizvieto patērētāji, jo tā atbalsta mūžzaļo funkcionalitāti.
Pēc iestatīšanas jūsu programma darbosies kā monolīts, kas ir fantastiski.
Koplietojamās atkarības tiek izmantotas, lai samazinātu lietotņu lielumu. Tā kā daudzi izstrādātāji jau ir iepazinušies ar Webpack vidi, izstrādātāju pieredze ir lieliska.
Atstāj atbildi