Mündəricat[Gizlət][Göstər]
- Beləliklə, modul federasiya nədir?
- Niyə modul federasiyası?
- Modul federasiyasının əsas komponentləri
Modul Federasiyasının əsas xüsusiyyətləri+-
- Əla veb performansı
- Effektiv inkişaf
- Özünü sağaltmaq və artıqlama qabiliyyəti
- Ümumi asılılıqların effektiv idarə edilməsi
- İstehlakçıları yenidən yerləşdirmək əvəzinə, müstəqil kodu yerləşdirin.
- Çalışarkən, kodu digər quruluşlardan idxal edin.
- Müştəri təcrübəsini qoruyarkən təkmilləşdirilmiş tərtibatçı təcrübəsi
- Mikro cəbhələr monolit şəkildə işləyir.
- Nəticə
Mikro cəbhə konsepti mikroservisləri frontend inkişafı üçün tətbiq edir.
İdeya tətbiqi və ya veb saytı vahid, vahid monolit kimi yaratmaqdan fərqli olaraq, daha sonra işləmə zamanı birləşdirilən daha kiçik, müstəqil şəkildə hazırlanmış parçalara bölməkdir.
Metod digər texnologiyalardan istifadə edərək və müstəqil komandalarla tətbiqin digər komponentlərini yaratmağa imkan verir.
İdeya, inkişafı bu şəkildə seqmentləşdirərək tipik bir monolitlə bağlı təmir xərclərini azaltmaqdır.
Ardıcıl bir komanda olaraq tətbiqin müəyyən bir sahəsinə cəmləşməyə imkan verməklə, o, həm də backend və frontend tərtibatçıları arasında yeni əməkdaşlıq formalarını mümkün edir.
Məsələn, axtarış qabiliyyətinə və ya bir iş üçün vacib olan əsas məhsulun başqa bir aspektinə cavabdeh olan bir komandanız ola bilər.
Modul federasiyası sayəsində iş prosesini idarə etmək üçün kifayət qədər funksionallığınız var mikro frontend yanaşma mandatları.
Bu yazı modul federasiyasının arxitekturasına, həmçinin onun əsas xüsusiyyətlərinə və tətbiq nümunələrinə dərindən nəzər salacaq.
Beləliklə, a modul federasiyası?
Javascript-in modul federasiya dizaynı bir çox tətbiqlərdə təkrar istifadə olunan hissələrdən istifadə edir.
Bu, kifayət qədər sadə jarqondur, amma mən sadəcə olaraq onu havalı görünmək üçün elə etdim.
Hamımız React tətbiqi daxilində komponentlərin paylaşılması ilə tanış olduğumuz üçün, Modul Federasiyası praktikada eyni məqsədə effektiv şəkildə nail olur, istisna olmaqla, tətbiq modullarını digər proqramlar tərəfindən istehlak üçün dinamik şəkildə ifşa edir.
Modul Federasiyası paylanmış sistemdə modulların bölüşdürülməsi problemini aradan qaldırmağa çalışır.
Bu, onların tətbiqlərinizdən və quraşdırma iş prosesindən silinməsi ilə həyata keçirilir.
Niyə modul federasiyası?
Modul federasiyasının asanlıqla idarə edə biləcəyi bəzi amillər bunlardır:
- Xaricilər və DLL-lər (Dinamik Bağlantı Kitabxanaları) tətbiqlər arasında funksionallığı bölüşmək üçün bəzən əlimizdə olan şeylər idi. Bütün bunlar miqyaslı kod mübadiləsini son dərəcə çətinləşdirdi.
- NPM ləngdir.
- İki ayrı proqram mühüm kodu paylaşdıqda, onlar dinamik və çevik olmalıdır.
Bağımsız tətbiqlərin tamamilə öz depolarında olması, ayrıca yerləşdirilməsi və öz müstəqil SPA kimi fəaliyyət göstərməsi üçün Modul Federasiyası yaradıldı.
Modul federasiyasının əsas komponentləri
Dərinliyə getməzdən əvvəl modul federasiyasının gətirdiyi bir neçə yeni konsepsiyanı qısaca müzakirə etmək vacibdir.
- Host: Səhifə yükləndikdə, ilkin olaraq işə salınan quruluş və ya modul host adlanır. Provayder ev sahibi kimi düşünülə bilər.
- Uzaqdan idarəetmə: Uzaqdan idarəetmə, hostun bir hissəsini istifadə edən fərqli bir quruluşdur. Onlara müştərilər də deyilir.
- İki istiqamətli host: həm digər hostların istehlak etdiyi pult, həm də pultları istehlak edən host kimi fəaliyyət göstərən Webpack quruluşu.
- Təchizatçı federasiyası: yükləndiyi yerdən asılı olmayaraq, host və ya uzaqdan idarəetmə üçün npm modulu asılılıqlarının deklarativ olaraq paylaşılan iş vaxtının paylaşılmasını təmin edir. Mikro frontendlərin əsas performans problemlərindən biri bu şəkildə həll olunur.
Federasiya Tətbiqinin Nümunələri
Evergreen Dizayn Sistemi
Federasiya tətbiqlərinin ən əsas formalarından biri müstəqil şəkildə paylanan və bütün istifadəçilər üçün yenilənən “Dizayn Sistemi” və ya “Kompanent kitabxanası” kimi ortaq pult olan “həmişəyaşıl pult”dur.
Hər bir proqram komandasının düzəlişlərə vaxt sərf etməsinə ehtiyac olmadan bu, bütün onlayn saytların ən son korporativ şəxsiyyətə uyğun olmasını təmin etmək üçün faydalı ola bilər.
Təhlükəsiz, davamlı yeniləmələri təmin etmək üçün lazım olan məhdudiyyətləri və prosedurları layihələndirmək və tətbiq etmək üçün bu, federasiya edilmiş tətbiq arxitekturasını nəzərdən keçirərkən biznesə başlamaq üçün faydalı yer ola bilər.
Müstəqil olaraq yerləşdirilən paylaşılan pultların uyğun ola biləcəyi bəzi istifadə halları aşağıdakılardır:
- Dizayn sistemləri
- Tətbiq qabıqları
- Komponent kitabxanaları
- İstehlakçılar
- Paylaşılan alət dəstləri
- Daxili və ya xarici tərəfindən istifadə edilən vidjetlər üçün alternativ paylama modelləri
Multi-SPA Modul Paylaşımı
Komponentlər kimi artıq ixrac edilmiş funksiyaları müxtəlif müstəqil tək səhifəli proqramlarda təkrar istifadə edin. Üstünlüklərə aşağıdakılar daxildir:
- İstehlakçılar avtomatik yeniləmələri alırlar
- Domen təcrübəsi ona cavabdeh olan komandada qalır.
- Ayrı modul buraxılışlarına ehtiyac olmadığı üçün yerləşdirmə prosedurunu asanlaşdırır.
Shell tərəfindən idarə olunan federasiya
Qabıqla idarə olunan federasiyaya aşağıdakılar daxildir:
- Yeni məhsul versiyasını yaratarkən, Məhsul komandası Checkout komandasının işlərini tamamlamasını gözləmir.
- Pultları dəyişdirərkən səhifənin yenidən yüklənməsi yoxdur.
- Zəruri hallarda, Shell yavaş uzaqdan yükləmə və (yuxarı səviyyəli) marşrutlaşdırma təklif edir.
- Uzaqdan idarələr arasında marşrutlaşdırma tez-tez istifadə olunan npm paketlərinin təkrar istifadəsinə imkan verən satıcı federasiyası vasitəsilə mümkün olur.
- Shell tənbəl yüklənmiş pultlar tərəfindən təkrar istifadə edilən çərçivə və digər ümumi asılılıqları təklif edir.
Çox qabıqlı federasiya
Yuxarıda təsvir edilən qabıqla idarə olunan federasiyaya bənzəyir, lakin fərqli mərmilərdən istifadə olunur.
İçərisində:
- bir sıra mərmi
- Ağ etiketləmə
- Shell B tərəfindən bütün pultlar tələb olunmur və ya müstəqil tətbiqlərə malik deyil.
Modul Federasiyasının əsas xüsusiyyətləri
Əla veb performansı
Normal NPM modul tərkibi ilə bağlı problem ondan ibarətdir ki, asılı şəxslərin sayı artdıqca, tətbiqin ölçüsü ümumiyyətlə böyüyür.
Tətbiqiniz yüklənərkən paketlərin yüklənməsinin qarşısını almaq və yalnız lazım olduqda onları yükləmək üçün Modul Federasiyası sizə paketləri tənbəl yükləmək imkanı təklif edir.
Bu, modulları həqiqətən tələb olunmazdan əvvəl yükləmək ehtiyacının qarşısını alır, bu da saytın sürətini artırır.
Effektiv inkişaf
Hər bir layihə ayrı-ayrılıqda istehsal oluna və təhvil verilə bilər və müxtəlif komandalar tərəfindən həyata keçirilə bilər, çünki Modul Federasiyası sizi ayrı-ayrılıqda (və buna görə də paralel olaraq) qura və yerləşdirə bilməniz üçün tətbiqinizi diskret layihələrdə təşkil etməyə təşviq edir.
Özünü sağaltmaq və artıqlama qabiliyyəti
Paylaşılan asılılıqlar Modul Federasiyasına proqramınızın bütün asılılıqlarını bir yerdə izləməyə imkan verir.
Bu yolla, hətta bir proqram asılılıq elan etmədikdə və ya şəbəkə problemləri olduqda belə, o, hələ də nəyə ehtiyacı olduğunu bilir və lazım olduqda onu endirə bilər.
Ümumi asılılıqların effektiv idarə edilməsi
Əlavə olaraq, Modul Federasiyası üstün asılılıq idarəetməsini təklif edir, satıcı və üçüncü tərəf tələblərini effektiv şəkildə həll edir ki, tətbiqiniz heç vaxt kitabxananın birdən çox versiyasını yükləməsin.
İstehlakçıları yenidən yerləşdirmək əvəzinə, müstəqil kodu yerləşdirin.
Tərtibatçı həmişəyaşıl funksionallıqda çox maraqlıdır. Açıqlanan asılı funksionallıq dəyişdikdən sonra istehlakçıları yenidən quraşdırmaq lazım olmayacaq.
Etiraf etməliyəm ki, bu, özlüyündə çox güclü bir xüsusiyyətdir və gözlənilməz nəticələrin qarşısını almaq üçün diqqətli müayinə tələb edir.
Çalışarkən, kodu digər quruluşlardan idxal edin.
NPM paket modelini qəbul edərkən, kodu paylaşmaq və “kitabxana” düşünməkdənsə, API-lərə oxşar Modul Federasiyasından istifadə edən tətbiqləri nəzərdən keçirə bilərik.
Eyni şəkildə digər proqramlardan funksionallıq ala bildikləri kimi, veb tətbiqləri də indi digər tətbiqlərə funksionallığı təmin edə bilər.
Müştəri təcrübəsini qoruyarkən təkmilləşdirilmiş tərtibatçı təcrübəsi
hər JavaScript geliştirici Modul Federasiyası ilə olduqca rahat olacaq, çünki bu, Webpack versiyası 5-dən etibarən əlçatan olan Webpack plaginidir.
Bir az düşünsək, bu, əslində olduqca güclü və maraqlıdır.
Üçüncü tərəf Webpack yükləyicilərindən istifadə etməklə, bütün komponentləri nəzərə alın Veb-paket skriptlər, aktivlər, üslublar, şəkillər, endirimlər və s. daxil olmaqla paketlər.
Modul Federasiyasından istifadə etməklə bütün bunlar paylaşıla və birləşdirilə bilər.
Mikro cəbhələr monolit şəkildə işləyir.
Tətbiqinizə paylaşılan funksionallıq əlavə etmək olduqca asandır; paketi normal olaraq idxal edin və ya sinxron yükləmədən istifadə edin.
Alternativ olaraq, asinxron yükləmə yalnız tənbəl yükləmədən istifadə edərək lazım olduqda asılılıqları yükləmək üçün istifadə edilə bilər.
Nəticə
Bu yazıda biz Modul Federasiyasını mikro-frontend tətbiqinizi inkişaf etdirmək üçün fantastik seçim kimi müzakirə etdik.
Tətbiqlərin işləmə müddətində funksionallıq mübadiləsi və istifadəsinə icazə verilməsi müxtəlif komandalara müstəqil proqramlar üzərində işləməyə imkan verməklə miqyaslılığı təşviq edir.
Ümumi funksionallıq dəyişdikdə, həmişəyaşıl funksionallığı dəstəklədiyi üçün istehlakçılarınızı dizayn və yerləşdirməyə ehtiyacınız olmayacaq.
Proqramınız qurulduqdan sonra monolit kimi fəaliyyət göstərəcək, bu, fantastikdir.
Paylaşılan asılılıqlar tətbiqlərin ölçüsünü azaltmaq üçün istifadə olunur. Bir çox tərtibatçı artıq Webpack mühiti ilə tanış olduğundan, tərtibatçı təcrübəsi əladır.
Cavab yaz