Мазмұны[Жасыру][Көрсету]
- Сонымен, модуль федерациясы дегеніміз не?
- Неліктен модуль федерациясы?
- Модуль федерациясының негізгі компоненттері
Модуль федерациясының негізгі мүмкіндіктері+-
- Тамаша веб өнімділігі
- Тиімді даму
- Өзін-өзі емдеу және артық болу мүмкіндігі
- Жалпы тәуелділіктерді тиімді өңдеу
- Тұтынушыларды қайта орналастырудың орнына тәуелсіз кодты қолданыңыз.
- Іске қосу кезінде басқа құрылымдардан кодты импорттаңыз.
- Клиент тәжірибесін сақтай отырып, жетілдірілген әзірлеуші тәжірибесі
- Микро фронтендер монолитті түрде жұмыс істейді.
- қорытынды
Микро фронтендтер концепциясы фронтенді әзірлеу үшін микросервистерді қолданады.
Идея қолданбаны немесе веб-сайтты біртұтас монолит ретінде жасаудан гөрі, кейінірек орындау уақытында қосылатын кішірек, тәуелсіз әзірленген бөліктерге бөлу болып табылады.
Әдіс қолданбаның басқа құрамдастарын басқа технологияларды пайдалана отырып және тәуелсіз топтармен жасауға мүмкіндік береді.
Идея дамуды осылай сегменттеу арқылы типтік монолитке қатысты техникалық қызмет көрсету шығындарын азайту болып табылады.
Оларға үйлесімді топ ретінде қолданбаның белгілі бір саласына шоғырлануға мүмкіндік бере отырып, ол сонымен қатар серверлік және фронтондық әзірлеушілер арасындағы ынтымақтастықтың жаңа формаларын мүмкін етеді.
Мысалы, сізде іздеу мүмкіндігіне немесе бизнес үшін маңызды негізгі өнімнің басқа аспектісіне жауап беретін команда болуы мүмкін.
Модуль федерациясының арқасында сізде жұмыс процесін өңдеу үшін жеткілікті функционалдылық бар микро фронтенд көзқарас мандаттары.
Бұл пост модуль федерациясының архитектурасын, сондай-ақ оның негізгі мүмкіндіктері мен қолдану үлгілерін терең қарастырады.
Сонымен, а модульдер федерациясы?
Javascript модулі федерациясының дизайны көптеген қолданбаларда қайта пайдаланылған бөліктерді пайдаланады.
Бұл өте қарапайым жаргон, бірақ мен жай ғана оны жай ғана жеңіл көрінетін етіп жасадым.
Біз барлығымызға React қолданбасы ішінде құрамдастарды ортақ пайдаланумен таныс болғандықтан, Модуль федерациясы басқа қолданбалардың тұтынуы үшін қолданбалы модульдерді динамикалық түрде көрсететінін қоспағанда, іс жүзінде бірдей мақсатқа тиімді түрде қол жеткізеді.
Модуль федерациясы сол негізгі ортақ элементтерді қалауыңызша макро немесе микро ретінде жеткізу арқылы бөлінген жүйеде модульді ортақ пайдалану мәселесін шешуге тырысады.
Бұл оларды қолданбалардан және құрастыру жұмыс процесінен жою арқылы орындалады.
Неліктен модуль федерациясы?
Міне, модуль федерациясы оңай шеше алатын факторлар:
- Сыртқы және DLL файлдары (Динамикалық сілтеме кітапханалары) қолданбалар арасында функционалдылықты бөлісу үшін бізде кейде болатын нәрсе болды. Мұның бәрі масштабтау кодын бөлісуді өте қиын етті.
- NPM баяу.
- Екі бөлек бағдарлама маңызды кодты ортақ пайдаланса, олар динамикалық және икемді болуы керек.
Оқшау қолданбалар толығымен өздерінің репозиторийінде болуы, бөлек орналастырылуы және өздерінің тәуелсіз SPA ретінде жұмыс істеуі үшін Модуль федерациясы құрылды.
Модуль федерациясының негізгі компоненттері
Тереңдетуге кіріспес бұрын, модуль федерациясы әкелетін бірнеше жаңа тұжырымдамаларды қысқаша талқылау маңызды.
- Хост: бет жүктелген кезде бастапқыда инициализацияланған құрастыру немесе модуль хост деп аталады. Провайдерді хост ретінде қарастыруға болады.
- Қашықтан басқару: қашықтан басқару құралы хосттың бір бөлігін пайдаланатын басқа құрылым болып табылады. Оларды тұтынушылар деп те атайды.
- Екі бағытты хост: басқа хосттар пайдаланатын қашықтан басқару құралы ретінде де, қашықтан басқару құралдарын тұтынатын хост ретінде де жұмыс істейтін веб-пакет құрылымы.
- Жеткізушілер федерациясы: жүктелетін орынға қарамастан, хост немесе қашықтағы құрылғы үшін npm модулінің тәуелділіктерін декларациялық түрде ортақ орындалу уақытын ортақ пайдалануға мүмкіндік береді. Микро фронтендтердің негізгі өнімділік мәселелерінің бірі осылай шешіледі.
Федерацияланған қолданба үлгілері
Evergreen дизайн жүйесі
Біріктірілген қолданбалардың ең негізгі нысандарының бірі – «мәңгі жасыл қашықтан басқару құралы», ол «Дизайн жүйесі» немесе «Компоненттік кітапхана» сияқты ортақ қашықтан басқару құралы болып табылады, ол барлық пайдаланушылар үшін дербес таратылады және жаңартылады.
Әрбір қолданба тобының түзетулерге уақыт жұмсауы қажет болмаса, бұл барлық онлайн сайттардың ең соңғы корпоративтік сәйкестікке сәйкес келуін қамтамасыз ету үшін пайдалы болуы мүмкін.
Қауіпсіз, үздіксіз жаңартуларға кепілдік беру үшін қажетті шектеулер мен процедураларды әзірлеу және енгізу үшін бұл федеративті қолданба архитектурасын қарастырған кезде бизнес бастау үшін пайдалы орын болуы мүмкін.
Төменде тәуелсіз орналастырылған ортақ қашықтан басқару құралдары қолайлы болуы мүмкін кейбір пайдалану жағдайлары берілген:
- Жобалау жүйелері
- Қолданбалы қабықшалар
- Компоненттік кітапханалар
- Тұтынушылар
- Ортақ құралдар жинағы
- Ішкі немесе сыртқы пайдаланатын виджеттерге арналған баламалы тарату үлгілері
Multi-SPA модулін ортақ пайдалану
Құрамдас бөліктер сияқты бұрыннан экспортталған мүмкіндіктерді әртүрлі оқшауланған бір беттік қолданбаларда қайта пайдаланыңыз. Артықшылықтары мыналарды қамтиды:
- Тұтынушылар автоматты жаңартуларды алады
- Домен сараптамасы оған жауапты командада қалады.
- Бөлек модуль шығарылымдары қажет емес болғандықтан, орналастыру процедурасын жеңілдетеді.
Shell басқаратын федерация
Қабықпен басқарылатын федерация мыналарды қамтиды:
- Жаңа өнім нұсқасын жасау кезінде Өнім тобы Checkout тобының жұмысын аяқтауын күтпейді.
- Қашықтан басқару құралын ауыстырған кезде бет қайта жүктелмейді.
- Қажет болған жағдайда Shell қашықтан баяу жүктеуді және (жоғары деңгейлі) бағыттауды ұсынады.
- Қашықтан басқару құралдары арқылы бағыттау жиі қолданылатын npm бумаларын қайта пайдалануға мүмкіндік беретін жеткізушілер федерациясы арқылы мүмкін болады.
- Shell жалқау жүктелген қашықтан басқару құралдарымен қайта пайдаланылатын құрылымды және басқа жалпы тәуелділіктерді ұсынады.
Көп қабатты федерация
Жоғарыда сипатталған қабықпен басқарылатын федерацияға ұқсас, бірақ әртүрлі снарядтарды қолданды.
Онда:
- бірқатар раковиналар
- Ақ таңбалау
- Барлық қашықтан басқару құралдары Shell B талап етпейді немесе тәуелсіз енгізулері жоқ.
Модуль федерациясының негізгі мүмкіндіктері
Тамаша веб өнімділігі
Қалыпты NPM модулінің құрамына қатысты мәселе тәуелділер саны артқан сайын қолданбаның өлшемі әдетте өседі.
Қолданбаңыз жүктелген кезде жинақтардың жүктелуіне жол бермеу және оларды қажет болғанда ғана жүктеп алу үшін Модуль Федерациясы сізге жинақтарды жалқаулықпен жүктеу мүмкіндігін ұсынады.
Бұл модульдерді нақты талап етілмей тұрып жүктеп алу қажеттілігін болдырмайды, бұл сайт жылдамдығын жақсартады.
Тиімді даму
Әрбір жоба оқшауланып шығарылуы және жеткізілуі мүмкін және оны әртүрлі командалар орындауы мүмкін, себебі Модуль федерациясы оларды бөлек (және, демек, параллельді) құру және орналастыру үшін қолданбаңызды дискретті жобаларға ұйымдастыруға шақырады.
Өзін-өзі емдеу және артық болу мүмкіндігі
Ортақ тәуелділіктер Модуль федерациясына бағдарламаңыздың барлық тәуелділіктерін бір жерде бақылауға мүмкіндік береді.
Осылайша, қолданба тәуелділікті жарияламаса да немесе желі ақаулары болса да, ол әлі де өзіне не қажет екенін біледі және қажет болған жағдайда оны жүктеп алуға болады.
Жалпы тәуелділіктерді тиімді өңдеу
Сонымен қатар, Module Federation жоғары тәуелділікті басқаруды ұсынады, ол жеткізуші мен үшінші тарап талаптарын тиімді шешеді, осылайша сіздің қолданбаңыз кітапхананың бір нұсқасынан артық жүктемейді.
Тұтынушыларды қайта орналастырудың орнына тәуелсіз кодты қолданыңыз.
Әзірлеуші мәңгі жасыл функционалдылыққа қызығушылық танытады. Тәуелді функциялар өзгергеннен кейін тұтынушыларды қайта орнату қажет болмайды.
Бұл күтпеген нәтижелердің алдын алу үшін мұқият тексеруді қажет ететін өте күшті қасиет екенін мойындауым керек.
Іске қосу кезінде басқа құрылымдардан кодты импорттаңыз.
NPM пакет үлгісін қабылдаған кезде кодты бөлісу және «кітапхана» туралы ойлаудың орнына API интерфейсіне ұқсас модуль федерациясын пайдаланатын қолданбаларды қарастыруымыз мүмкін.
Басқа қолданбалардан функционалдық мүмкіндіктерді ала алатындай, веб-қосымшалар енді басқа қолданбаларға функционалдылықты қамтамасыз ете алады.
Клиент тәжірибесін сақтай отырып, жетілдірілген әзірлеуші тәжірибесі
Кез келген JavaScript әзірлеушісі Модуль федерациясымен өте ыңғайлы болады, себебі бұл Webpack плагині, ол Webpack 5 нұсқасынан бастап қолжетімді.
Егер бұл туралы ойланатын болсақ, бұл өте күшті және қызықты.
Үшінші тарап Webpack жүктеушілерін пайдалану арқылы барлық құрамдастарды қарастырыңыз Веб-пакет жинақтар, соның ішінде сценарийлер, активтер, стильдер, суреттер, шектеулер және т.б.
Модуль федерациясын пайдалану арқылы бұлардың барлығын ортақ пайдалануға және біріктіруге болады.
Микро фронтендер монолитті түрде жұмыс істейді.
Қолданбаңызға ортақ функцияларды қосу өте оңай; жай ғана буманы қалыпты түрде импорттаңыз немесе синхронды жүктеуді пайдаланыңыз.
Баламалы түрде, асинхронды жүктеуді жалқау жүктеуді пайдалану арқылы қажет болғанда ғана тәуелділіктерді жүктеу үшін пайдалануға болады.
қорытынды
Бұл постта біз Модуль федерациясын микро фронтенд қолданбасын әзірлеу үшін тамаша таңдау ретінде талқыладық.
Қолданбаларға орындалу уақытында функционалдылықты алмасуға және тұтынуға рұқсат беру әртүрлі топтарға тәуелсіз қолданбаларда жұмыс істеуге мүмкіндік беру арқылы масштабтылықты ынталандырады.
Жалпы функционалдылық өзгерген кезде тұтынушыларды жобалау және орналастыру қажет болмайды, себебі ол мәңгілік функционалдылықты қолдайды.
Сіздің бағдарламаңыз орнатылғаннан кейін монолит сияқты жұмыс істейді, бұл керемет.
Бөлісуге болатын тәуелділіктер қолданбалардың өлшемін азайту үшін пайдаланылады. Көптеген әзірлеушілер Webpack ортасымен бұрыннан таныс болғандықтан, әзірлеушілер тәжірибесі тамаша.
пікір қалдыру