Mündəricat[Gizlət][Göstər]
- Mikro frontend arxitekturasına giriş
Micro frontend-in üstünlükləri +-
- Sürətli Avtonom Komandalarda İnkişaf
- Fərdi Mikro Frontendlərin Kiçik Kod Bazaları Təmiz Koda gətirib çıxarır
- Boş birləşmə səbəbindən təkmilləşdirilmiş tətbiq sabitliyi
- Fərdi Xüsusiyyətləri Test etmək Daha Sadələşdirilmişdir
- Azaldılmış Paket Ölçüsü Səhifənin Daha Tez Yüklənməsinə səbəb olur
- Texnologiya Müstəqilliyi
- Nəticə
Mikroservislər ideyası son vaxtlar çox diqqət çəkib və bir çox firma böyük, monolit arxa planları aradan qaldırmaq üçün ondan istifadə edir.
Veb proqramlarının server tərəfinin qurulmasının bu paylanmış üsulu tədqiqat və icra baxımından az və ya çox etibarlı olsa belə, frontend ilə eyni marşrutla getmək hələ də bir çox müəssisələr üçün problemdir.
Yaxın asılılığına görə, müştəri tərəfi monolit adətən yeni funksiyaların inteqrasiyasını, yeni texnologiyaların qəbulunu və fərdi komponentlərin miqyasını çətinləşdirir.
Bu və digər problemlər frontend tərtibatçılarını mikroservislərdən istifadəni araşdırmağa sövq etdi.
Nəticədə, veb-saytların və veb-əsaslı proqramların front-end təbəqəsini yaratmaq üçün micro frontend kimi tanınan tamamilə yeni memarlıq strategiyası hazırlanmışdır.
Termin ilk dəfə 2016-cı ildə istifadə edildi və o vaxtdan bəri yaxşı bir məqsəd üçün çox diqqət çəkdi.
Bu məqalə mikro cəbhələrin nə olduğu və onların həll etdiyi problemlər haqqında ümumi məlumat verəcəkdir. həm də müsbət və mənfi cəhətləri ilə işləyir.
Mikro frontend arxitekturasına giriş
Mikro-frontend arxitekturası adlanan müasir qabaqcıl inkişaf üsulu a-nı bölür veb tətbiqi kiçik, müstəqil hissələrə bölünür.
Son istifadəçi üçün bu hissələr müstəqil olaraq qurulub sonra bir yerə yığılsa belə, bir vahid kimi görünür.
Mikro frontendlərin onlayn həllərin server tərəfinə deyil, müştəri tərəfinə aid olması fərqi ilə onların əsası mikroservislərlə eynidir.
Mürəkkəb veb-əsaslı məhsulların hazırlanması mikro frontend yanaşmasından istifadə edərkən ən mənalıdır.
Mikro frontendlər, daha adi ön hissə monolitindən fərqli olaraq, bir çox komandaya müxtəlif proqram layihələrində ayrıca əməkdaşlıq etməyə imkan verir.
Proqramçılar bu memarlıq dizaynından istifadə edərək daha tez və daha geniş miqyaslılıq və davamlılıqla veb proqramlar yarada bilərlər.
Sadə dillə desək, hər bir mikro frontend sadəcə veb səhifənin fərqli komponenti üçün kod parçasıdır.
Bu xüsusiyyətlər hər biri müəyyən sənaye və ya məqsəd üzrə ixtisaslaşan ayrı-ayrı komandalar tərəfindən idarə olunur.
Monolitik vs Microservices vs Micro frontend arxitekturası
Köçürülməyi düşünün. Hər şeyi bir neçə kiçik, ustalıqla etiketlənmiş qutularda təşkil etmək və hər birini ayrı-ayrılıqda köçürmək və ya bütün heyəti bir nəhəng qutuya yığıb yeni yerə daşımaq sizin üçün daha asan olacaqmı?
Aydın həll yolu oradadır.
Bu bənzətmə iki fərqli veb tətbiqi arxitekturasını, monolitləri və mikroservisləri (həmçinin mikro frontendlər kimi tanınır) müqayisə edir.
Monolit memarlıq
Tam tətbiqin vahid, birləşmiş varlıq olaraq yaradıldığı "yaxşı köhnə günləri" xatırlaya bilərsiniz. Belə bir üsul böyük bir daş blok üçün köhnə bir termin olan monolit adlanır.
Bu məna verir.
Monolit sistemlər bir-birindən asılı elementlərə malikdir. Buna görə də, nəyisə dəyişdirmək və ya yeni funksiya əlavə etmək istəyirsinizsə, bütün sistemin sıradan çıxması mümkündür.
Köhnəlsə də, bəzən hələ də mövcuddur. Bəli, indiki ifadənizdən xəbərdarıq.
Kod bazasının konseptual olaraq iki fərqli komponentə bölünməsi – frontend (müştəri tərəfi) və backend (server tərəfi) – yeni texnologiyalar inkişaf etdikcə və proqram məhsulları daha mürəkkəbləşdikcə qaçılmaz oldu.
Ən populyar əməliyyat üsulu indi son istifadəçinin qarşılıqlı əlaqədə olduğu təqdimat təbəqəsi ilə arxa planda baş verən hər şey arasında narahatlıqların ayrılmasıdır.
Bunun üçün iki proqram mühəndisliyi komandası lazımdır, qabaqcıl komanda vizual komponentləri, arxa tərəf isə veb xidmətləri, biznes məntiqi, məlumat girişi, inteqrasiyalar və s.
Lakin bu ayrılığa baxmayaraq, bu strategiya hələ də təbiətcə monolit olaraq qalır.
Əsas dəyişiklik ondan ibarətdir ki, indi bir nəhəng proqram əvəzinə iki böyük kod blokumuz var - ön və arxa hissə. Monolit arxitekturaların qorxunc olması lazım deyil; daxil olmaqla bir sıra üstünlüklərə malikdirlər
- Tək mənbə kod bazası və çox sadə dizaynı olan kiçik proqramlar üçün sadə və sürətli inkişaf;
- Test və sazlama çox sadədir, çünki bütün kodlar bir yerdədir, bu da komandanın sorğunun gedişatını izləməsini və səhvləri müəyyən etməsini asanlaşdırır;
- Tətbiqin inkişafının əvvəlində xərclər daha ucuz olur, çünki yeni funksiyalar əlavə olunana qədər nə infrastruktur xərcləri, nə də inkişaf xərcləri çəkilmir.
Bu strategiyanın çatışmazlıqları öz əksini tapmışdır
- Məhdud yerləşdirmə çevikliyi – layihədə onlardan yalnız bir neçəsi varsa və kodu hər dəfə yenilədiyiniz zaman yeni yerləşdirmə tələb olunarsa, komandalar gözləməlidir;
- Yeni texnologiyaların mənimsənilməsi çətindir, çünki bunu etmək bütün layihənin olmasa da, əhəmiyyətli bir hissəsinin yenidən yazılmasını tələb edir.
- Tərtibatçıların sayı artdıqda kod sistemi bir-biri ilə sıx bağlıdır, mürəkkəbləşir, idarə edilməsi və başa düşülməsi çətinləşir.
- Təşkilati məsələlər – hər bir komanda üzvü kitabxanaların eyni versiyasından istifadə etməli və bir çox komanda monolit layihə üzərində işləyirsə, dəyişikliklər barədə məlumat verməlidir.
- Ölçeklenebilirlik ilə bağlı narahatlıqlar – layihənin komponentləri bir-biri ilə əlaqəli olduğundan, onların ayrıca miqyası əhəmiyyətli dərəcədə dayanma vaxtı və daha yüksək xərclərlə nəticələnən çətinliklər yaradır.
- Layihənin mürəkkəb məntiqini yeni komanda üzvləri başa düşmək çətin ola bilər, xüsusən də layihə üzərində işləyən mühəndislər artıq işləmirsə.
Mikroservislərin və onların yaxın qohumlarının və mikro cəbhələrin inkişafı monolit sistemlərin əsas problemlərini həll etdi.
Mikroservislərin arxitekturası
Mikroservislər kimi tanınan arxitektura metodu tətbiqin arxa ucunu təşkil edən bir çox sərbəst əlaqəli və müstəqil olaraq yerləşdirilə bilən daha kiçik komponentlərin və ya xidmətlərin yaradılmasına imkan verir.
Hər bir xidmətin öz kod bazası, CI/CD boru kəmərləri, DevOps prosedurları və onları işə salmaq üçün prosesləri var.
Yuxarıdakı şəklə baxaraq monolit backend komandasının ayrı-ayrı komandalara bölündüyünü görə bilərsiniz.
Hər biri fərdi olaraq tətbiqin fərqli aspektinə (məhsul xidməti, axtarış xidməti və ödəniş xidməti kimi) diqqət yetirir.
Xidmətlər arasında əlaqə, sinxron sorğu-cavab nümunələrindən istifadə edən yüngül REST API protokolu kimi API kimi tanınan müəyyən edilmiş protokollar vasitəsilə baş verir.
Başqa bir seçim, yayımlanma/abunə olunma kommunikasiya strukturları və hadisələri təklif edən Kafka kimi proqram təminatından istifadə edərək asinxron rabitədən istifadə etməkdir.
Mikroservislər frontend (BFF) xidməti və ya şəbəkə vasitəsilə API Gateway üçün backend vasitəsilə frontend ilə inteqrasiya olunur. BFF hər bir müştəri üçün fərdiləşdirilmiş API təklif edir, halbuki API Gateways mikroservislər toplusu üçün tək giriş nöqtəsi verir.
Lakin hətta avtonom backend komponentləri və onların təmin etdiyi bütün üstünlüklərə baxmayaraq, frontend hələ də monolitdir.
Buna görə də, mikro frontendlərin faydalı olduğu yer budur.
Mikro cəbhə arxitekturası
Qeyri-bərabər əlaqəli komponentlərin bir neçə komanda tərəfindən idarə olunduğu mikroservislərə bənzər, mikro frontend arxitekturası konsepsiyanı brauzerə tətbiq edir.
Bu veb proqram istifadəçi interfeysləri bir qədər avtonom komponentlərdən ibarət olan bu strukturu izləyir.
Komandalar həmçinin xüsusi təcrübə və ya texnologiyadan daha çox müştəri ehtiyacları və ya istifadə halları əsasında yaradılır.
Nəticədə, komandalar mikroservislər və mikro frontend layihələrində iştirak edirlər.
- şaquli dilimlənmiş — eyni layihə üzərində işləyən frontend tərtibatçıları, məlumat ekspertləri, arxa plan mühəndisləri, QA mühəndisləri və s. olduğu üçün onlar öz xüsusiyyətlərini bu proqramdan yaradırlar. istifadəçi interfeysi verilənlər bazalarına; və
- çarpaz funksional - hər bir komanda üzvü qrupa öz təcrübəsini verir.
Komandalar həmçinin öz fəaliyyət istiqamətlərinə ən uyğun olan texnoloji yığını seçə bilərlər.
Bir komanda öz fraqmentini proqramlaşdırmaq üçün React istifadə edə bilər. Başqa bir komanda yeni Angular versiyasını yaradır. Vue.js belə bir nümunədir.
Mikro frontendlər, inkişaf qruplarının adətən monolitlərlə bağlı problemlərini həll etmək üçün əlaqəli mikroservislərlə birlikdə istifadə olunur. Strategiya aşağıdakı üstünlükləri təklif edir.
- Texnologiya azadlığı: Frontend mühəndisləri şirkətin ehtiyaclarından asılı olaraq alternativ JavaScript çərçivələrini, iş vaxtı mühitlərini və bütün texnologiya yığınlarını seçə bilərlər. Köhnəlmiş arxitekturaya əlavə olaraq yeni çərçivə tətbiq oluna bilər.
- Hər bir mikro cəbhə öz-özünə olduğundan və ayrıca inkişaf etdirilə, sınaqdan keçirilə, yerləşdirilə və təkmilləşdirilə bildiyi üçün daha yüksək dərəcədə çeviklik mümkündür. Nəticədə, əgər bir komanda funksiya üzərində işləyirsə və səhvləri aradan qaldırıbsa, digər komanda isə öz funksiyasını əlavə etməlidirsə, birinci komandanın tapşırığını tamamlamasını gözləməyə ehtiyac yoxdur.
- Avtonom komandalar və sistemlər: Hər bir məhsul komandası və nəticədə hər bir xüsusiyyət başqalarından az asılılıqla fəaliyyət göstərə bilər ki, bu da ona yaxınlıqdakı komponentlər mövcud olmadıqda belə işləməyə davam etməyə imkan verir.
- Çoxsaylı, daha kiçik kod bazaları: Mikro cəbhələrin hər birinin özünəməxsus, daha idarə oluna bilən, daha kiçik kod bazası olacaq. Daha az adam xüsusi UI komponentinə diqqət yetirəcək, kod təhlilini sadələşdirəcək və ümumi təşkilatı təkmilləşdirəcək.
- Sadə proqram miqyası: Mikro cəbhələrin başqa bir üstünlüyü hər bir xüsusiyyəti fərdi olaraq miqyaslaşdırmaq imkanıdır. Hər dəfə yeni bir xüsusiyyət əlavə edildikdə bütün proqramın miqyasının ölçülməsi lazım olan monolitlərdən fərqli olaraq, bu, bütün prosesi həm vaxt, həm də pul baxımından daha səmərəli edir.
Mikro frontend necə işləyir?
Daha əvvəl qeyd etdiyimiz kimi, komandalar mikro frontend arxitekturası daxilində şaquli şəkildə təşkil olunur, yəni onlar domen bilikləri və ya məqsədi ilə ayrılır və müəyyən bir məhsul üçün əvvəldən sona qədər məsuliyyət daşıyırlar.
Bir və ya iki arxa mikroservis, eləcə də kiçik bir frontend ola bilər. Daha ətraflı olaraq, bu vizual elementin xüsusiyyətlərini, digər UI komponentləri ilə qarşılıqlı əlaqəni və ana səhifəyə daxil edilməsini araşdıraq.
Mikro frontend ola bilər
- bütün səhifə (məsələn, məhsulun təfərrüatlı səhifəsi) və ya
- səhifənin başlıqlar, altbilgilər və axtarış çubuqları kimi digər komandalar tərəfindən istifadə edilə bilən bölmələri.
Siz böyük veb saytı bir neçə səhifə növünə bölmək və hər bir növü üzərində işləmək üçün xüsusi heyətə verə bilərsiniz.
Bununla belə, bir neçə komponent tez-tez başlıqlar, altbilgilər, təklif blokları və s. kimi çoxsaylı səhifələrdə olur. Məsələn, təklif bloku ana səhifəyə, məhsulun təfərrüatlı səhifəsinə və ya hətta yoxlama səhifəsinə daxil edilə bilər.
Əslində, komandalar digər komandaların öz səhifələrində istifadə edə biləcəyi parçalar yarada bilər.
Bununla birlikdə mikro cəbhələr təkrar istifadə edilə bilən komponentlərdən fərqli olaraq fərqli layihələr kimi ayrıca yerləşdirilə bilər.
Bütün bunlar fantastik səslənir, lakin vahid interfeys yaratmaq üçün səhifələr və fraqmentlər bir şəkildə birləşdirilməlidir.
Bu, marşrutlaşdırma, kompozisiya və kommunikasiya daxil olmaqla müxtəlif strategiyalar vasitəsilə həyata keçirilə bilən cəbhə inteqrasiyasını tələb edir (yuxarıdakı qrafikə baxın).
Yönlendirme
Başqa komandaya məxsus səhifəyə daxil olmaq üçün bir komanda tərəfindən idarə olunan səhifədən xidmət tələb olunduqda, marşrutlaşdırma səhifə səviyyəsində inteqrasiya üçün faydalıdır.
Hər bir mikro frontend tək səhifəlik proqram kimi idarə olunur. Sadə HTML bağlantıları marşrutlaşdırma təmin etmək üçün istifadə edilə bilər.
İstifadəçi hiperlinkləri klikləməklə brauzeri serverdən hədəf işarələməni endirməyə və cari səhifəni yenisi ilə əvəz etməyə məcbur edə bilər.
Tətbiq qabığı UI-ni gücləndirən minimum HTML, CSS və JavaScript-dir. Serverdən tələb olunan məzmun məlumatları hələ də gözləsə belə, istifadəçi dərhal statik olaraq göstərilən səhifəni alır. Mərkəzi proqram qabığı müxtəlif komandalar tərəfindən yaradılan tək səhifəli proqramlar üçün əsas tətbiq kimi xidmət edir.
İstifadə olunan kitabxana və ya çərçivədən asılı olmayaraq, meta-çərçivələr müxtəlif səhifələrin vahid səhifədə birləşməsini təmin edir.
kompozisiya
Kompozisiya, parçaların səhifədə müvafiq boşluqlara uyğunlaşdırılması üçün düzülmə prosesidir. Əksər hallarda səhifəni yerləşdirən komanda fraqmentin məzmununu dərhal qəbul etmir.
Bunun əvəzinə o, fraqmentin işarələmədə olması lazım olan yerə yer tutucu və ya marker qoyur.
Fərqli bir kompozisiya prosesindən istifadə edərək, son montaj həyata keçirilir. Kompozisiyanı iki əsas kateqoriyaya bölmək olar: müştəri tərəfi və server tərəfi.
Müştəri tərəfi tərkibi: Veb brauzeri HTML işarələməsini yaratmaq və redaktə etmək üçün istifadə olunur. Hər bir mikro frontend səhifənin qalan hissəsindən ayrıca işarələməsini dəyişdirmək və göstərmək imkanına malikdir.
Məsələn, Veb Komponentləri bu tip tikinti işlərini həyata keçirməyə imkan verir.
Plan, hər bir fraqmenti müstəqil olaraq a.js faylı kimi quraşdırıla bilən veb komponentinə çevirməkdir, bundan sonra proqramlar onları mövzu tərtibatında onlar üçün nəzərdə tutulmuş boşluqlarda yükləyə və göstərə bilər.
Veb komponentləri digər frontend çərçivələrinin istifadə edə biləcəyi HTML və DOM API-dən, eləcə də rekvizitlər və hadisələr vasitəsilə məlumatların göndərilməsi və qəbulunun standart metodundan asılıdır.
Server tərəfinin tərkibi: Bu dizaynla, UI parçaları serverdə birləşdirilir ki, bu da tamamilə formalaşmış səhifənin müştəri tərəfinə göndərilməsi ilə nəticələnir və yükləməni sürətləndirir.
Montaj tez-tez veb brauzer və veb serverlər arasında oturan ayrıca bir xidmət tərəfindən həyata keçirilir. CDN xidmətin bir nümunəsidir (məzmun çatdırılması şəbəkəsi).
Ehtiyaclarınızdan asılı olaraq birini və ya ikisinin birləşməsini seçə bilərsiniz.
Mikro frontend rabitə nümunələri
Mikro-frontend arxitekturası müxtəlif komponentlər arasında az və ya heç bir qarşılıqlı əlaqə olmadığı zaman ən yaxşı işləyir. Mikro frontendlər bəzən bir-biri ilə danışmalı və məlumat paylaşmalıdırlar. Buna səbəb ola biləcək bir neçə potensial nümunələr bunlardır.
- Veb işçiləri: Onlayn işçi veb məzmunun digər skriptlərdən asılı olmayaraq və səhifənin sürətinə təsir etmədən arxa planda JavaScript-i işlətməsinə imkan verən mexanizmdir. Hər bir mikro proqram üçün unikal işçi API təmin ediləcək. Bu üstünlüyü ondan ibarətdir ki, vaxt aparan iş fərqli bir mövzuda həyata keçirilə bilər, bu da UI ipinin yavaşlamadan və ya dayandırılmadan davam etməsinə imkan verir.
- Hadisə emitenti: Bu halda, bir çox komponentlər abunə olduqları komponentlərdəki hər hansı vəziyyət dəyişikliyini dinləmək və ona uyğun hərəkət etməklə bir-biri ilə əlaqə qurur. Həmin xüsusi hadisəyə abunə olan digər mikro frontendlər mikro frontend həmin hadisəni işə saldıqda cavab verir. Hər bir mikro cəbhəyə daxil edilmiş hadisə emitenti bunu mümkün edir.
- Geri zənglər və rekvizitlər: Bu bölmədə siz ana komponenti və uşaq komponentləri təyin edirsiniz. Rabitə ağaca bənzər bir quruluşda təşkil edilmişdir. Ana komponentlər məlumatları komponent ağacından aşağı funksiyalar kimi uşaq komponentlərə ötürmək üçün rekvizitlərdən istifadə edir. Öz növbəsində, uşaq geri çağırışlara cavab verməklə onların vəziyyətində hər hansı bir şey baş verdikdə valideynini səmərəli şəkildə xəbərdar edə bilər. React bu rejimi istifadə edir.
Micro frontend-in üstünlükləri
Sürətli Avtonom Komandalarda İnkişaf
Müstəqil komanda mikro frontend metodundan istifadə edərkən veb tətbiqinin və ya veb-saytın hər bir hissəsini yarada bilər.
Hər bir komanda tamamilə avtonomdur, bu o deməkdir ki, o, konsepsiyadan tutmuş buraxılışa və istehsaldan sonrakı dövrə qədər bütün komponentlərin inkişaf dövrünə cavabdehdir.
Bundan əlavə, bu, eyni layihə üzərində eyni vaxtda işləyərkən müxtəlif komandaların problemsiz əməkdaşlıq edə biləcəyini nəzərdə tutur.
Buna görə də, buraxılış dövrləri ön uç monolitləri ilə müqayisədə əhəmiyyətli dərəcədə sürətlidir.
Fərdi Mikro Frontendlərin Kiçik Kod Bazaları Təmiz Koda gətirib çıxarır
Monolit ön hissələr getdikcə daha xaotik hala gələn və zaman keçdikcə idarə edilməsi çətinləşən böyük, çətin kod bazalarına malikdir.
Mikro frontendlər bu problemi həll edir. Hər bir mikro frontendin mənbə kodu daha kiçik, daha sadə və yığcam olduğundan daha idarə edilə bilər.
Ümumi veb həlli nəticədə təmiz koddan faydalanır.
Boş birləşmə səbəbindən təkmilləşdirilmiş tətbiq sabitliyi
Veb həlli nadir hallarda tamamilə müstəqil parçalara bölünə bilər. Nəticə etibarilə, mikro cəbhələr bir-biri ilə danışır.
Bununla belə, əlaqənin zəif olmasına baxmayaraq, komponentlər arasındakı hər bir əlaqə əhəmiyyətlidir.
Bir komponentin nasazlığı bütün digər komponentlərin işinə çox az təsir edir və ya heç bir təsir göstərmir ki, bu da veb həllinin gücləndirilmiş sabitliyini təmin edir.
Fərdi Xüsusiyyətləri Test etmək Daha Sadələşdirilmişdir
Bu fayda mikro frontendlərin xüsusiyyətlərindən irəli gəlir. Bu memarlıq dizaynına əsasən, veb həllinin müştəri tərəfi moduldur və hər modul avtonomdur.
Nəticə etibarı ilə istifadəçi interfeysinin kiçik bir hissəsinin qiymətləndirilməsi komanda üçün kütləvi monoliti sınaqdan keçirməkdən daha asandır.
Azaldılmış Paket Ölçüsü Səhifənin Daha Tez Yüklənməsinə səbəb olur
Xüsusiyyətlərlə zəngin monolit veb sistemlərində gecikmənin yüklənməsinin əsas səbəblərindən biri JavaScript paketinin ölçüsüdür. Digər tərəfdən, mikro frontend yanaşması səhifə yükləmə vaxtını azaltmağı asanlaşdırır.
Veb səhifə bir neçə kiçik paketdən ibarət olduğundan brauzer lazımsız kodu dəfələrlə yükləməli deyil. Nəticədə səhifə performansı və yükləmə müddətləri artır.
Texnologiya Müstəqilliyi
Multiple ön uç çərçivələr mikro-frontend arxitekturası ilə vahid onlayn həll yaratmaq üçün tərtibatçılar tərəfindən istifadə edilə bilər.
Hər bir komponent avtonom olduğundan, o, komandanın tapşırıqlarına ən uyğun olan texnologiyadan istifadə etməklə tikilə bilər.
Təbii ki, proqramçılar cavabdeh olduqları proqram layihəsi üçün çərçivələri seçərkən ehtiyatlı davranmalıdırlar və digər komandalarla məsləhətləşmələr hələ də ciddi şəkildə tövsiyə olunur.
Bununla belə, tətbiqin istifadə müddəti ərzində köhnə çərçivədən istifadə etməyə məcbur olma şansınız sıfırdır.
Micro Frontend-in mənfi cəhətləri
Bütövlükdə kompleks Veb həlli testi
Mikro-frontend arxitekturasından istifadə edərkən veb həllinin müxtəlif modullarını sınaqdan keçirmək asandır. Bununla belə, veb tətbiqini bütövlükdə qiymətləndirməkdən fərqlənir.
Davam etməzdən əvvəl bütün hissələrin nəzərdə tutulduğu kimi işlədiyini yoxlayın. Bu çətin ola bilər, çünki mikro cəbhələr müstəqil işləyir və ayrıca çatdırılma proseslərinə malikdir.
Bahalı İlkin İnvestisiyalar
Mikro frontend inkişafları adətən əhəmiyyətli maliyyə xərcləri tələb edir. Bir çox qabaqcıl komandaları yığmaq və saxlamaq baha başa gəlir.
Əlavə olaraq, işi təşkil etmək, hər şeyin əlaqələndirilməsinə əmin olmaq və əla komanda ünsiyyətinə zəmanət vermək üçün sizə idarə heyəti lazımdır.
İnkişaf və Yerləşdirmənin mürəkkəbliyi
İnkişaf və yerləşdirmə prosedurları mikro-frontend dizaynı nəticəsində daha mürəkkəbləşə bilər.
Məsələn, eyni layihə üzərində işləyən müstəqil inkişaf qrupları tərəfindən həll yolu həddən artıq çox komponentlə qarışdırıla bilər ki, bu da yerləşdirmə mərhələsində problemlər yarada bilər.
Bütün modulların düzgün yığılması və onların ümumi sxemə rəvan inteqrasiyası da həmişə sadə deyil; bu iş adətən bütün asılılıqların hərtərəfli başa düşülməsini tələb edir.
İstifadəçi Təcrübəsində Uyğunluğun Saxlanması Problemləri
Komandalar proqram təminatının bir neçə hissəsində ayrıca işləyərkən ardıcıl istifadəçi interfeysini saxlamaq çətin olur.
Veb həlli layihənin bütün tərtibatçıları tərəfindən paylaşılmalıdır. Əks halda, yol boyu çoxlu ziddiyyətlər ola bilər.
Nəticə
Müasir memarlıq dizaynı olan Micro frontends genişmiqyaslı mikroservis əsaslı veb inkişaf layihələrinin performansını əhəmiyyətli dərəcədə artıra bilər.
Bu proqramçılara tam həlli bir neçə muxtar komanda tərəfindən yaradıla bilən diskret hissələrə bölmək imkanı verir. Bundan çoxlu üstünlüklər, o cümlədən funksiyaların daha sürətli yayılması, fərdi modulların daha asan sınaqdan keçirilməsi və daha qüsursuz təkmilləşdirmələr gəlir.
Lakin mikro frontendlərdə də bəzi çətinliklər var.
Məsələn, bir tətbiqin hərtərəfli sınaqdan keçirilməsi çətin ola bilər.
Əlavə olaraq, böyük bir mühəndis və idarəçi komandasına ehtiyac olduğu üçün mikro frontend layihələri olduqca bahalıdır.
Nəticə etibarilə, qərara gəlməzdən əvvəl işinizin bütün komponentlərini nəzərə almalısınız.
Vladimir Çamaj
Nədənsə mən frontenddəki fərdi komponentlər arasında əlaqənin hansı prinsiplə işlədiyini başa düşmədim. Fərqli çərçivələrdə yaradılmış komponentləri necə birləşdirmək istədiyinizi başa düşmürəm. Bu barədə məqalədə heç nə yoxdur. Hadisələr sistemi və dinləyicilər mənə yer üzündə cəhənnəmə bənzəyir. Bunu necə təsəvvür etməliyik?