Содржина[Крие][Прикажи]
- Значи, што е федерација на модули?
- Зошто федерација на модули?
- Основни компоненти на федерацијата на модулите
Основни карактеристики на федерацијата на модулите+-
- Одлични веб перформанси
- Ефективен развој
- Способност за само-заздравување и вишок
- Ефективно справување со заедничките зависности
- Наместо повторно да ги распоредувате потрошувачите, распоредете независен код.
- Кога работи, увезете код од други изданија.
- Подобрено искуство со програмерите додека се зачувува искуството на клиентот
- Микро-фронтовите функционираат на монолитен начин.
- Заклучок
Концептот на микро фронтенди ги применува микроуслугите за развој на фронтендот.
Идејата е да се раздели апликацијата или веб-локацијата на помали, независно развиени делови кои потоа се поврзуваат за време на траењето, наспроти создавањето како единствен, кохезивен монолит.
Методот ви овозможува да креирате други компоненти на апликацијата користејќи други технологии и со независни тимови.
Идејата е да се намалат трошоците за одржување поврзани со типичен монолит со сегментирање на развојот на овој начин.
Дозволувајќи им да се концентрираат на одредена област од апликацијата како кохерентен тим, исто така овозможува нови форми на соработка помеѓу заднинските и предните уреди.
На пример, може да имате тим кој е единствено одговорен за способноста за пребарување или друг аспект на клучниот производ кој е од клучно значење за бизнисот.
Благодарение на федерацијата на модулите, имате доволно функционалност за да се справите со работниот тек што го микро преден дел пристап до мандати.
Овој пост ќе разгледа длабоко архитектурата на федерацијата на модулите, како и нејзините главни карактеристики и шеми на примена.
Значи, што е тоа федерација на модули?
Дизајнот на федерацијата на модулите на Javascript користи повторно употребувани делови во многу апликации.
Тоа е прилично основен жаргон, но јас едноставно направив да изгледа така да изгледа ветровито.
Како што сите сме запознаени со споделувањето компоненти во рамките на апликацијата React, Module Federation ефективно ја постигнува истата цел во пракса, со исклучок што динамично ги изложува модулите на апликациите за потрошувачка од други апликации.
Федерацијата на модули се обидува да го надмине проблемот со споделување на модулите во дистрибуиран систем со доставување на тие клучни споделени елементи како макро или микро по желба.
Ова се постигнува со отстранување од вашите апликации и од работниот тек на изградбата.
Зошто федерација на модули?
Еве неколку фактори со кои федерацијата на модули може лесно да се справи:
- Екстерните и DLL (библиотеки со динамична врска) беа сè што повремено имавме за споделување на функционалноста помеѓу апликациите. Сето ова го направи скалирањето на споделувањето на кодот исклучително предизвикувачко.
- НПМ е слаб.
- Кога две посебни програми споделуваат клучен код, тие мора да бидат динамични и флексибилни.
Со цел самостојните апликации да бидат целосно во сопствено складиште, да се распоредуваат одделно и да функционираат како нивна независна SPA, создадена е федерација на модули.
Основни компоненти на федерацијата на модулите
Пред да нурнете подлабоко, важно е накратко да се разговара за неколку нови концепти што ги носи федерацијата на модулите.
- Домаќин: Кога се вчитува страница, изградбата или модулот иницијализиран првично се нарекува домаќин. Давателот може да се смета како домаќин.
- Далечински: Далечинскиот управувач е различна конструкција која користи дел од домаќинот. Тие се нарекуваат и клиенти.
- Двонасочен хост: градба на Webpack што функционира и како далечински управувач што го консумираат другите домаќини и како домаќин што троши далечински управувачи.
- Федерација на добавувачи: овозможува декларативно споделено траење споделување на зависности од npm модул за домаќин или далечински управувач, без оглед на локацијата од која се вчитани. Еден од главните проблеми со перформансите со микро предните делови е решен на овој начин.
Модели на федерирана апликација
Зимзелен дизајн систем
Една од најосновните форми на федерирани апликации е „зимзелено далечинско“, што е споделено далечинско како „Систем за дизајн“ или „библиотека со компоненти“ што е независно дистрибуирано и ажурирано за сите корисници.
Без секој тим на апликации да има потреба да троши време на ревизии, ова може да биде корисно за да се осигураме дека сите онлајн-страници се придржуваат до најновиот корпоративен идентитет.
Со цел да се дизајнираат и воведат ограничувањата и процедурите неопходни за да се гарантираат сигурни, тековни ажурирања, ова може да биде корисно место за бизнисите да започнат кога размислуваат за федерална архитектура на апликации.
Следниве се некои случаи на употреба каде што независно распоредените споделени далечински управувачи може да бидат соодветни:
- Дизајн системи
- Апликативни школки
- Библиотеки на компоненти
- Потрошувачите
- Заеднички комплети со алатки
- Алтернативни модели за дистрибуција за графички контроли што се користат од внатрешни или надворешни
Споделување на мулти-SPA модули
Повторно користете веќе извезени функции, како што се компоненти, во различни самостојни апликации на една страница. Придобивките вклучуваат:
- Потрошувачите добиваат автоматизирани ажурирања
- Експертизата на доменот останува на тимот кој е задолжен за него.
- Ја рационализира процедурата за распоредување бидејќи не се потребни посебни изданија на модули.
Федерација управувана од школки
Федерацијата управувана од школка вклучува:
- Кога креирате нова верзија на производот, тимот на Product не чека тимот на Checkout да ја заврши својата работа.
- Кога менувате далечински управувачи, нема повторно вчитување на страницата.
- Кога е потребно, Shell нуди бавно далечинско вчитување и рутирање (највисоко ниво).
- Рутирањето преку далечински управувачи е овозможено преку федерацијата на продавачите, што овозможува повторна употреба на често користените npm пакети.
- Шел нуди рамка и други вообичаени зависности кои се повторно користени од далечинските управувачи со мрзливи вчитани.
Федерација со повеќе школки
Слично на федерацијата управувана од школка опишана погоре, но користела различни школки.
Таа содржи:
- голем број на школки
- Бело-етикетирање
- Шел Б не ги бара сите далечински управувачи или имаат независни имплементации.
Основни карактеристики на федерацијата на модулите
Одлични веб перформанси
Проблемот со нормалниот состав на NPM-модулот е што како што се зголемува бројот на зависни лица, големината на апликацијата генерално расте.
За да избегнете вчитување пакети кога вашата апликација се вчитува и само кога е потребно, Module Federation ви нуди можност мрзеливо да ги вчитувате пакетите.
Ова ја спречува потребата да се преземаат модули пред да бидат навистина потребни, што ја подобрува брзината на страницата.
Ефективен развој
Секој проект може да се произведува и испорачува изолирано и може да биде спроведен од различни тимови бидејќи Федерацијата на модули ве поттикнува да ја организирате вашата апликација во дискретни проекти за да можете да ги изградите и распоредите одделно (а оттука и паралелно).
Способност за само-заздравување и вишок
Заедничките зависности дозволуваат Федерацијата на модули да ги следи сите зависности на вашата програма на едно место.
На овој начин, дури и кога апликацијата не изјавува зависност или кога има проблеми со мрежата, таа сепак знае што и треба и може да се справи со преземањето по потреба.
Ефективно справување со заедничките зависности
Дополнително, Module Federation нуди супериорно управување со зависноста, ефикасно решавајќи ги барањата на продавачот и трети лица, така што вашата апликација никогаш нема да вчита повеќе од една верзија на библиотека.
Наместо повторно да ги распоредувате потрошувачите, распоредете независен код.
Инвеститорот е многу заинтересиран да има зимзелена функционалност. Откако ќе се промени изложената зависна функционалност, повеќе нема да биде потребно повторно да се инсталираат потрошувачите.
Морам да признаам дека ова е многу моќна карактеристика сама по себе, која ќе треба внимателно да се испита за да се спречат неочекувани исходи.
Кога работи, увезете код од други изданија.
Кога го усвојуваме моделот на пакети NPM, би можеле да ги земеме предвид апликациите што користат Федерација на модули слично на API, наместо да споделуваат код и да размислуваат за „библиотека“.
На ист начин како што можат да примаат функционалност и од други апликации, веб-апликациите сега можат да ја обезбедат функционалноста на други апликации.
Подобрено искуство со програмерите додека се зачувува искуството на клиентот
Секое Развивач на JavaScript ќе биде доста удобно со Module Federation бидејќи тоа е приклучок Webpack кој е достапен од верзијата 5 на Webpack.
Ова е всушност прилично силно и интригантно ако размислиме.
Со користење на натоварувачи на Webpack од трети страни, земете ги предвид сите компоненти што Веб-пакет пакети, вклучувајќи скрипти, средства, стилови, слики, ознаки и многу повеќе.
Со користење на Module Federation, сите овие може да се споделат и федерираат.
Микро-фронтовите функционираат на монолитен начин.
Прилично е лесно да додадете споделена функционалност на вашата апликација; само внесете го пакетот како нормално или користете синхроно вчитување.
Алтернативно, асинхроното вчитување може да се користи само за вчитување на зависности кога е потребно со користење на мрзливо вчитување.
Заклучок
Во овој пост, разговаравме за федерацијата на модули како фантастичен избор за развој на вашата микро-фронтална апликација.
Дозволувањето на апликациите да разменуваат и да ја трошат функционалноста при извршување, ја поттикнува приспособливоста со тоа што им овозможува на различни тимови да работат на независни апликации.
Кога ќе се промени заедничката функционалност, нема да треба да ги дизајнирате и распоредите вашите потрошувачи бидејќи поддржува зимзелена функционалност.
Вашата програма ќе функционира како монолит откако ќе се постави, што е фантастично.
Зависностите за споделување се користат за намалување на големината на апликациите. Бидејќи многу програмери веќе се запознаени со околината Webpack, искуството на програмерите е одлично.
Оставете Одговор