Зміст[Сховати][Показати]
- Отже, що таке модульна федерація?
- Чому об'єднання модулів?
- Основні компоненти об’єднання модулів
Основні функції Module Federation+-
- Чудова веб-продуктивність
- Ефективний розвиток
- Здатність до самовідновлення і резервування
- Ефективна обробка типових залежностей
- Замість того, щоб повторно розгортати споживачів, розгорніть незалежний код.
- Під час запуску імпортуйте код з інших збірок.
- Покращений досвід розробника, зберігши клієнтський досвід
- Мікроінтерфейси працюють монолітно.
- Висновок
Концепція мікроінтерфейсів застосовує мікросервіси до розробки інтерфейсу.
Ідея полягає в тому, щоб розбити програму або веб-сайт на менші, незалежно розроблені частини, які потім з’єднуються під час виконання, на відміну від створення єдиного цілого моноліту.
Цей метод дозволяє створювати інші компоненти програми за допомогою інших технологій і з незалежними командами.
Ідея полягає в тому, щоб зменшити витрати на технічне обслуговування типового моноліту шляхом сегментації розробки таким чином.
Дозволяючи їм зосередитися на певній області програми як злагодженій команді, це також робить можливими нові форми співпраці між серверними та зовнішніми розробниками.
Наприклад, у вас може бути команда, яка відповідає виключно за можливість пошуку або інший аспект ключового продукту, який має вирішальне значення для бізнесу.
Завдяки об’єднанню модулів ви маєте достатньо функціональних можливостей для керування робочим процесом, який мікроінтерфейс наближення мандатів.
У цьому дописі буде детально розглянуто архітектуру об’єднання модулів, а також його основні функції та шаблони застосування.
Отже, що таке a модульна федерація?
Дизайн об’єднання модулів Javascript передбачає використання повторно використовуваних частин у багатьох програмах.
Це досить простий жаргон, але я просто зробив так, щоб він виглядав свіжим.
Оскільки ми всі знайомі зі спільним використанням компонентів у програмі React, Module Federation ефективно досягає тієї ж мети на практиці, за винятком того, що вона динамічно надає модулі програми для використання іншими програмами.
Module Federation прагне подолати проблему спільного використання модулів у розподіленій системі, доставляючи ці ключові спільні елементи як макро- чи мікроза бажанням.
Це досягається шляхом видалення їх із ваших додатків і робочого процесу збірки.
Чому об'єднання модулів?
Ось кілька факторів, з якими об’єднання модулів легко впорається:
- Зовнішні файли та DLL (Бібліотеки динамічних посилань) — це все, що ми час від часу мали для спільного використання функцій між програмами. Усе це робило масштабування спільного використання коду надзвичайно складним.
- НПМ млявий.
- Коли дві окремі програми спільно використовують важливий код, вони мають бути динамічними та гнучкими.
Для того, щоб автономні програми повністю перебували у власному сховищі, розгорталися окремо та працювали як власний незалежний SPA, було створено Module Federation.
Основні компоненти об’єднання модулів
Перш ніж занурюватися глибше, важливо коротко обговорити кілька нових концепцій, які приносить об’єднання модулів.
- Хост: Коли сторінка завантажується, спочатку ініціалізована збірка або модуль називається хостом. Провайдера можна розглядати як хост.
- Віддалений: віддалений — це інша конструкція, яка використовує частину хоста. Їх також називають клієнтами.
- Двонаправлений хост: збірка Webpack, яка функціонує і як віддалений, який використовують інші хости, і як хост, який споживає віддалені.
- Об’єднання постачальників: дає змогу декларативно спільно використовувати час виконання залежностей модуля npm для хоста чи віддаленого пристрою, незалежно від розташування, з якого вони завантажуються. Таким чином вирішено одну з основних проблем продуктивності мікроінтерфейсів.
Шаблони федеративного застосування
Система Evergreen Design
Однією з найпростіших форм об’єднаних програм є «вічнозелений віддалений», який є спільним віддаленим, як «Система проектування» або «Бібліотека компонентів», яка незалежно поширюється та оновлюється для всіх користувачів.
Без потреби кожної команди програми витрачати час на перегляди, це може бути корисним для забезпечення того, щоб усі онлайн-сайти дотримувалися останнього корпоративного стилю.
Для того, щоб розробити та запровадити обмеження та процедури, необхідні для гарантування безпечних постійних оновлень, це може бути корисним місцем для компаній, щоб розпочати розгляд об’єднаної архітектури додатків.
Нижче наведено кілька випадків використання, коли незалежно розгорнуті спільні пульти дистанційного керування можуть підійти:
- Системи проектування
- Оболонки додатків
- Бібліотеки компонентів
- Споживачі
- Спільні набори інструментів
- Альтернативні моделі розповсюдження для віджетів, які використовуються внутрішніми або зовнішніми
Спільне використання модуля Multi-SPA
Повторно використовуйте вже експортовані функції, як-от компоненти, у різних автономних односторінкових програмах. Переваги включають:
- Споживачі отримують автоматичні оновлення
- Експертиза в області залишається за командою, яка за це відповідає.
- Спрощує процедуру розгортання, оскільки окремі випуски модулів не потрібні.
Федерація, керована оболонкою
До федерації, керованої оболонкою, входять:
- Під час створення нової версії продукту команда продуктів не чекає, поки команда Checkout завершить свою роботу.
- При перемиканні пультів перезавантаження сторінки не відбувається.
- За потреби Shell пропонує повільне віддалене завантаження та (верхнього рівня) маршрутизацію.
- Маршрутизація через віддалені пристрої стає можливою через об’єднання постачальників, що дозволяє повторно використовувати пакети npm, які часто використовуються.
- Shell пропонує фреймворк та інші загальні залежності, які повторно використовуються дистанційними дистанційними керуваннями з відкладеним завантаженням.
Багатооболонкова федерація
Подібна до описаної вище федерації, що керується оболонкою, але використовує інші оболонки.
Це містить:
- ряд снарядів
- Біле маркування
- Не всі пульти дистанційного керування потрібні Shell B або мають незалежні реалізації.
Основні функції Module Federation
Чудова веб-продуктивність
Проблема зі звичайним складом модуля NPM полягає в тому, що зі збільшенням кількості залежних осіб зазвичай зростає розмір програми.
Щоб уникнути завантаження пакетів під час завантаження програми та завантажувати їх лише за необхідності, Module Federation пропонує вам можливість ліниво завантажувати пакети.
Це запобігає необхідності завантажувати модулі до того, як вони дійсно знадобляться, що покращує швидкість сайту.
Ефективний розвиток
Кожен проект може бути створений і доставлений окремо, і його можуть виконувати різні команди, оскільки Module Federation заохочує вас організовувати свою програму в окремі проекти, щоб ви могли створювати та розгортати їх окремо (а отже, паралельно).
Здатність до самовідновлення і резервування
Спільні залежності дозволяють Module Federation відстежувати всі залежності вашої програми в одному місці.
Таким чином, навіть якщо програма не заявляє про залежність або коли виникають проблеми з мережею, вона все одно знає, що їй потрібно, і може впоратися із завантаженням за потреби.
Ефективна обробка типових залежностей
Крім того, Module Federation пропонує чудове керування залежностями, ефективно вирішуючи вимоги постачальників і сторонніх розробників, щоб ваша програма ніколи не завантажувала більше однієї версії бібліотеки.
Замість того, щоб повторно розгортати споживачів, розгорніть незалежний код.
Розробник дуже зацікавлений у постійній функціональності. Після того, як відкриті залежні функції змінено, більше не потрібно буде перевстановлювати споживачів.
Мушу визнати, що сама по собі це дуже потужна функція, яка потребує ретельного вивчення, щоб запобігти неочікуваним результатам.
Під час запуску імпортуйте код з інших збірок.
Приймаючи пакетну модель NPM, ми можемо розглянути програми, які використовують Module Federation, схожі на API, а не ділитися кодом і думати про «бібліотеку».
Так само, як вони можуть отримувати функції від інших програм, веб-програми тепер можуть надавати ці функції іншим програмам.
Покращений досвід розробника, зберігши клієнтський досвід
будь-який Розробник JavaScript буде досить зручно з Module Federation, оскільки це плагін Webpack, який доступний, починаючи з версії 5 Webpack.
Це насправді досить сильно та інтригує, якщо ми трохи подумаємо.
Використовуючи сторонні завантажувачі Webpack, враховуйте всі компоненти, які Webpack пакети, включаючи сценарії, ресурси, стилі, зображення, уцінки тощо.
За допомогою Module Federation можна спільно використовувати та об’єднувати все це.
Мікроінтерфейси працюють монолітно.
Досить легко додати спільну функціональність до вашої програми; просто імпортуйте комплект як зазвичай або використовуйте синхронне завантаження.
Крім того, асинхронне завантаження можна використовувати лише для завантаження залежностей, коли це необхідно, використовуючи відкладене завантаження.
Висновок
У цій публікації ми обговорювали Module Federation як фантастичний вибір для розробки вашої мікроінтерфейсної програми.
Дозвол програмам обмінюватися та використовувати функції під час виконання заохочує масштабованість, дозволяючи різним командам працювати над незалежними програмами.
Коли загальна функціональність змінюється, вам не потрібно буде проектувати та розгортати своїх споживачів, оскільки вони підтримують постійну функціональність.
Після налаштування ваша програма функціонуватиме як моноліт, і це чудово.
Спільні залежності використовуються для зменшення розміру програм. Оскільки багато розробників уже знайомі із середовищем Webpack, досвід розробників чудовий.
залишити коментар