Mundarija[Yashirish][Show]
- Mikro front-end arxitekturasiga kirish
Micro frontendning afzalliklari +-
- Tez avtonom jamoalarda rivojlanish
- Individual mikro frontendlarning kichik kod bazalari toza kodga olib keladi
- Bo'shashgan ulanish tufayli ilova barqarorligi yaxshilandi
- Individual xususiyatlarni sinab ko'rish yanada soddalashtirilgan
- To'plam hajmining qisqarishi sahifani tezroq yuklashga olib keladi
- Texnologiyaning mustaqilligi
- Xulosa
So'nggi paytlarda mikroservislar g'oyasi katta e'tiborga sazovor bo'ldi va ko'plab firmalar undan katta, monolit backendlarni yo'q qilish uchun foydalanmoqda.
Veb-ilovalarning server tomonini yaratishning taqsimlangan usuli tadqiqot va amalga oshirish nuqtai nazaridan ko'proq yoki kamroq ishonchli bo'lsa ham, frontend bilan bir xil yo'ldan borish ko'plab korxonalar uchun qiyin bo'lib qolmoqda.
O'zining yaqin bog'liqligi tufayli, mijoz tomoni monolit odatda yangi xususiyatlarni birlashtirish, yangi texnologiyalarni qabul qilish va alohida komponentlarni o'lchashni qiyinlashtiradi.
Ushbu va boshqa qiyinchiliklar frontend ishlab chiquvchilarini mikroservislardan foydalanishni tekshirishga undadi.
Natijada, veb-saytlar va veb-ilovalarning oldingi qatlamini yaratish uchun micro frontend deb nomlanuvchi yangi arxitektura strategiyasi ishlab chiqildi.
Bu atama birinchi marta 2016 yilda qo'llanilgan va o'shandan beri u yaxshi ish uchun ko'pchilikning e'tiborini tortdi.
Ushbu maqola mikro frontendlar nima ekanligi va ular hal qiladigan muammolar haqida umumiy tushuncha beradi. u ishlaydi, shuningdek, ijobiy va salbiy tomonlari.
Mikro front-end arxitekturasiga kirish
Mikro-frontend arxitekturasi deb ataladigan zamonaviy front-end ishlab chiqish usuli a ni ajratadi veb-ilovasi kichik, mustaqil qismlarga bo'linadi.
Yakuniy foydalanuvchi uchun bu qismlar mustaqil ravishda qurilgan va keyin birlashtirilgan bo'lsa ham, bir birlik bo'lib ko'rinadi.
Mikro frontendlar onlayn yechimlarning server tomoniga emas, balki mijoz tomoniga taalluqli bo'lgan farq bilan, ularning asosi mikroservislarniki bilan bir xil.
Murakkab veb-asoslangan mahsulotlarni ishlab chiqarish mikro frontend yondashuvidan foydalanganda eng mantiqiy bo'ladi.
Mikro frontendlar, an'anaviy front-end monolitidan farqli o'laroq, ko'plab jamoalarga turli dasturiy ta'minot loyihalarida alohida hamkorlik qilish imkonini beradi.
Dasturchilar ushbu me'moriy dizayndan foydalangan holda veb-ilovalarni tezroq va kattaroq hajmda va barqarorlik bilan yaratishlari mumkin.
Oddiy qilib aytganda, har bir mikro frontend veb-sahifaning alohida komponenti uchun kodning bir qismidir.
Bu xususiyatlar alohida guruhlar tomonidan nazorat qilinadi, ularning har biri ma'lum bir soha yoki maqsadga ixtisoslashgan.
Monolitik va Microservices va Micro frontend arxitekturasi
Ko'chirish haqida o'ylab ko'ring. Siz uchun hamma narsani bir nechta kichik, malakali yorliqli qutilarga ajratish va har birini alohida-alohida joylashtirish yoki butun xodimlarni bitta ulkan qutiga yig'ish va uni yangi joyga ko'chirish osonroq bo'ladimi?
Aniq yechim bor.
Ushbu o'xshashlik ikkita alohida veb-ilova arxitekturasini, monolitlarni va mikroservislarni (mikro frontendlar deb ham ataladi) solishtiradi.
Monolitik arxitektura
To'liq dastur yagona, yaxlit ob'ekt sifatida yaratilgan "eski yaxshi kunlarni" eslay olasiz. Bunday usul katta tosh blok uchun eski atama bo'lgan monolit deb ataladi.
Bu mantiqiy.
Monolit tizimlar o'zaro bog'liq elementlarga ega. Shuning uchun, agar biror narsani o'zgartirmoqchi bo'lsangiz yoki yangi xususiyat qo'shmoqchi bo'lsangiz, butun tizim buzilishi mumkin.
Garchi u eskirgan bo'lsa ham, vaqti-vaqti bilan hali ham mavjud. Ha, biz sizning hozirgi ifodangizdan xabardormiz.
Kod bazasini ikki xil komponentga - frontend (mijoz tomoni) va backend (server tomoni) ga kontseptual bo'linishi muqarrar bo'ldi, chunki yangi texnologiyalar ishlab chiqildi va dasturiy mahsulotlar yanada murakkablashdi.
Endi eng mashhur operatsiya usuli bu oxirgi foydalanuvchi o'zaro aloqada bo'lgan taqdimot qatlami va fonda sodir bo'ladigan barcha narsalar o'rtasidagi tashvishlarni ajratishdir.
Bunga ikkita dasturiy ta'minot muhandisligi guruhi kerak bo'ladi, oldingi guruh vizual komponentlarni quradi va veb-xizmatlarni, biznes mantig'ini, ma'lumotlarga kirishni, integratsiyani va hokazolarni yaratadigan orqa tomon jamoasi.
Biroq, bu ajralishga qaramay, bu strategiya hali ham tabiatan monolit bo'lib qolmoqda.
Asosiy o'zgarish shundaki, bizda bitta ulkan dastur o'rniga ikkita katta hajmli kod bloklari mavjud - frontend va backend. Monolitik arxitekturalar dahshatli bo'lishi shart emas; ular, jumladan, bir nechta afzalliklarga ega
- Bitta manba kod bazasi va juda oddiy dizaynga ega bo'lgan kichik ilovalar uchun oddiy va tez ishlab chiqish;
- Sinov va disk raskadrovka juda oddiy, chunki barcha kodlar bir joyda joylashgan bo‘lib, jamoaga so‘rovlar oqimini kuzatish va xatolarni aniqlashni osonlashtiradi;
- Ilovani ishlab chiqishning boshida xarajatlar arzonroq bo'ladi, chunki yangi xususiyatlar qo'shilmaguncha na infratuzilma xarajatlari, na ishlab chiqish xarajatlari amalga oshirilmaydi.
Ushbu strategiyaning kamchiliklari o'z aksini topgan
- Cheklangan joylashtirish moslashuvchanligi - agar loyihada ularning bir nechtasi ishlayotgan bo'lsa, jamoalar kutishlari kerak va har safar kodni yangilaganingizda yangi joylashtirish talab qilinadi;
- Yangi texnologiyalarni qabul qilish juda qiyin, chunki buning uchun butun loyiha bo'lmasa ham, muhim qismini qayta yozish kerak.
- Ishlab chiquvchilar soni ko'payganda, kod tizimi bir-biri bilan chambarchas bog'langan, murakkab va boshqarish va tushunish qiyin bo'ladi.
- Tashkiliy masalalar - har bir jamoa a'zosi kutubxonalarning bir xil versiyasidan foydalanishi va ko'plab jamoalar monolit loyiha ustida ishlayotgan bo'lsa, har qanday o'zgarishlar haqida xabar berishi kerak.
- Masshtablilik bilan bog‘liq muammolar – loyihaning tarkibiy qismlari bir-biriga bog‘langanligi sababli ularni alohida masshtablash qiyinchiliklarni keltirib chiqaradi, bu esa sezilarli uzilishlar va ko‘proq xarajatlarga olib keladi.
- Loyihaning murakkab mantig'ini jamoaning yangi a'zolari tushunishi qiyin bo'lishi mumkin, ayniqsa unda ishlagan muhandislar endi ishlamasa.
Mikroservislar va ularning yaqin qarindoshlari va mikro frontendlarning rivojlanishi monolit tizimlar bilan bog'liq asosiy muammolarni hal qildi.
Mikroservislar arxitekturasi
Mikroservislar deb nomlanuvchi arxitektura usuli dasturning orqa qismini tashkil etuvchi ko'plab erkin bog'langan va mustaqil ravishda joylashtiriladigan kichikroq komponentlar yoki xizmatlarni yaratishga imkon beradi.
Har bir xizmatning o'z kod bazasi, CI/CD quvurlari, DevOps protseduralari va ularni ishga tushirish jarayonlari mavjud.
Yuqoridagi rasmga qarab, monolit backend jamoasi alohida guruhlarga bo'linganligini ko'rishingiz mumkin.
Ularning har biri alohida e'tiborni ilovaning turli jihatiga qaratadi (masalan, mahsulot xizmati, qidiruv xizmati va to'lov xizmati).
Xizmatlar o'rtasidagi aloqa API deb nomlanuvchi belgilangan protokollar orqali amalga oshiriladi, masalan, sinxron so'rov-javob naqshlaridan foydalanadigan engil REST API protokoli.
Yana bir variant - Kafka kabi dasturiy ta'minot yordamida asinxron aloqadan foydalanish, bu aloqa tuzilmalari va hodisalarini nashr etish/obuna qilish imkonini beradi.
Mikroservislar frontend (BFF) xizmati uchun backend yoki tarmoq orqali API shlyuzi orqali frontend bilan birlashadi. BFF har bir mijoz uchun moslashtirilgan APIni taklif qiladi, API shlyuzlari esa mikroservislar to'plami uchun yagona kirish nuqtasini beradi.
Ammo avtonom backend komponentlari va ular taqdim etadigan barcha afzalliklari bilan ham, frontend hali ham monolitdir.
Shuning uchun, bu erda mikro frontendlar foydalidir.
Micro frontends arxitekturasi
Bo'shashmasdan bog'langan komponentlar bir nechta jamoalar tomonidan boshqariladigan mikroservislarga o'xshab, mikro frontend arxitekturasi kontseptsiyani brauzerda qo'llaydi.
Ushbu veb-ilovaning foydalanuvchi interfeyslari bir oz avtonom komponentlardan tashkil topgan ushbu tuzilishga amal qiladi.
Jamoalar, shuningdek, muayyan tajriba yoki texnologiya emas, balki mijozlar ehtiyojlari yoki foydalanish holatlari bo'yicha tuziladi.
Shunday qilib, jamoalar mikroservislar va mikro frontend loyihalarida ishtirok etadilar.
- vertikal ravishda kesilgan — xuddi shu loyihada ishlaydigan frontend ishlab chiquvchilari, maʼlumotlar ekspertlari, backend muhandislari, QA muhandislari va boshqalar boʻlgani uchun ular oʻz xususiyatlarini quyidagi manbalardan yaratadilar. Foydalanuvchi interfeysi ma'lumotlar bazalariga; va
- o'zaro faoliyat - har bir jamoa a'zosi o'z tajribasini guruhga qo'shadi.
Jamoalar, shuningdek, o'zlarining biznes yo'nalishiga eng mos keladigan texnologik to'plamni tanlashlari mumkin.
Bitta jamoa o'z fragmentini dasturlash uchun React-dan foydalanishi mumkin. Boshqa jamoa yangi Angular versiyasini yaratadi. Vue.js ana shunday misollardan biridir.
Mikro frontendlar tegishli mikroservislar bilan birgalikda ishlab chiqish guruhlari odatda monolitlar bilan bog'liq muammolarni hal qilish uchun ishlatiladi. Strategiya quyidagi afzalliklarni beradi.
- Texnologiya erkinligi: Frontend muhandislari kompaniya ehtiyojlariga qarab muqobil JavaScript ramkalar, ish vaqti muhitlari va butun texnologiya steklarini tanlashlari mumkin. Eskirgan arxitektura ustiga yangi ramka qo'llanilishi mumkin.
- Kattaroq moslashuvchanlik darajasi mumkin, chunki har bir mikro frontend o'z ichiga oladi va alohida ishlab chiqilishi, sinovdan o'tkazilishi, joylashtirilishi va yangilanishi mumkin. Natijada, agar bir jamoa biror funksiya ustida ishlayotgan bo‘lsa va xatolarni tuzatgan bo‘lsa, boshqa jamoa esa o‘z funksiyasini qo‘shishi kerak bo‘lsa, birinchi jamoa o‘z vazifasini bajarishini kutishi shart emas.
- Avtonom jamoalar va tizimlar: Har bir mahsulot jamoasi va shunga mos ravishda har bir xususiyat boshqalarga ozgina bog'liq holda ishlashi mumkin, bu esa unga yaqin atrofdagi komponentlar mavjud bo'lmaganda ham ishlashni davom ettirish imkonini beradi.
- Bir nechta, kichikroq kod bazalari: mikro frontendlarning har biri o'ziga xos, boshqariladigan, kichikroq kod bazasiga ega bo'ladi. Kamroq odam ma'lum bir UI komponentiga e'tibor qaratadi, kodni ko'rib chiqishni soddalashtiradi va umumiy tashkilotni yaxshilaydi.
- Oddiy ilovalarni masshtablash: Mikro frontendlarning yana bir afzalligi har bir xususiyatni alohida o'lchash qobiliyatidir. Har safar yangi xususiyat qo'shilganda butun dastur kengaytirilishi kerak bo'lgan monolitlardan farqli o'laroq, bu butun jarayonni vaqt va pul jihatidan samaraliroq qiladi.
Mikro frontend qanday ishlaydi?
Yuqorida aytib o'tganimizdek, jamoalar mikro frontend arxitekturasi ichida vertikal ravishda tashkil etilgan, ya'ni ular domen bilimi yoki maqsadi bilan ajralib turadi va ma'lum bir mahsulot uchun boshidan oxirigacha javobgardir.
U bir yoki ikkita backend mikroservislariga, shuningdek kichik frontendga ega bo'lishi mumkin. Batafsilroq, keling, ushbu vizual elementning xususiyatlarini, boshqa UI komponentlari bilan o'zaro ta'sirini va bosh sahifaga qo'shilishini ko'rib chiqamiz.
Mikro frontend bo'lishi mumkin
- butun sahifa (masalan, mahsulot batafsil sahifasi) yoki
- sahifaning boshqa jamoalar tomonidan ishlatilishi mumkin bo'lgan bo'limlari, masalan, sarlavhalar, altbilgilar va qidiruv paneli.
Siz katta veb-saytni bir nechta sahifa turlariga bo'lishingiz va har bir turni muayyan xodimlarga ishlash uchun berishingiz mumkin.
Biroq, sarlavhalar, altbilgilar, taklif bloklari va boshqalar kabi ko'plab sahifalarda bir nechta komponentlar tez-tez uchraydi. Masalan, taklif bloki bosh sahifaga, mahsulot tafsilotlari sahifasiga yoki hatto to'lov sahifasiga kiritilishi mumkin.
Aslida, jamoalar boshqa jamoalar o'z sahifalarida foydalanishi mumkin bo'lgan qismlarni yaratishi mumkin.
Biroq, mikro frontendlar qayta foydalanish mumkin bo'lgan komponentlardan farqli o'laroq, turli loyihalar sifatida alohida joylashtirilishi mumkin.
Bularning barchasi ajoyib ko'rinadi, ammo yagona interfeys yaratish uchun sahifalar va qismlar qandaydir tarzda birlashtirilishi kerak.
Bu turli xil strategiyalar, jumladan marshrutlash, kompozitsiya va aloqa orqali amalga oshirilishi mumkin bo'lgan frontend integratsiyasini talab qiladi (yuqoridagi rasmga qarang).
Marshrutlashni
Boshqa jamoaga tegishli sahifaga kirish uchun bitta jamoa tomonidan boshqariladigan sahifadan xizmat ko'rsatish talab etilsa, marshrutlash sahifa darajasidagi integratsiya uchun foydalidir.
Har bir mikro frontend bitta sahifali dastur sifatida ishlaydi. Marshrutlashni ta'minlash uchun oddiy HTML havolalaridan foydalanish mumkin.
Foydalanuvchi giperhavolalarni bosish orqali brauzerni serverdan maqsadli belgini yuklab olishga va joriy sahifani yangisiga almashtirishga majbur qilishi mumkin.
Ilova qobig'i - bu foydalanuvchi interfeysini quvvatlaydigan HTML, CSS va JavaScript-ning minimal miqdori. Serverdan so'ralgan kontent ma'lumotlari hali ham kutayotgan bo'lsa ham, foydalanuvchi darhol statik ko'rsatilgan sahifani oladi. Markaziy ilovalar qobig'i turli jamoalar tomonidan yaratilgan bir sahifali ilovalar uchun asosiy dastur bo'lib xizmat qiladi.
Foydalanilayotgan kutubxona yoki ramkadan qat'i nazar, meta-ramkalar turli sahifalarni bitta sahifaga birlashtirishga imkon beradi.
tarkibi
Kompozitsiya - bu qismlarni sahifadagi tegishli bo'shliqlarga joylashtirish uchun joylashtirish jarayoni. Ko'pgina hollarda, sahifani joylashtiradigan jamoa darhol fragmentning mazmunini olmaydi.
Buning o'rniga, fragment belgilashda bo'lishi kerak bo'lgan joy ushlagich yoki markerni joylashtiradi.
Boshqa kompozitsiya jarayonidan foydalanib, yakuniy yig'ish amalga oshiriladi. Tarkibni ikkita asosiy toifaga bo'lish mumkin: mijoz tomoni va server tomoni.
Mijoz tomoni tarkibi: Veb-brauzer HTML belgilarini yaratish va tahrirlash uchun ishlatiladi. Har bir mikro frontend o'z belgilarini sahifaning qolgan qismidan alohida o'zgartirish va ko'rsatish imkoniyatiga ega.
Masalan, veb-komponentlar ushbu turdagi qurilishni amalga oshirishga imkon beradi.
Rejaga ko‘ra, har bir fragmentni a.js fayli sifatida mustaqil ravishda o‘rnatilishi mumkin bo‘lgan veb-komponentga aylantirish, shundan so‘ng ilovalar ularni mavzu tartibida ular uchun belgilangan bo‘shliqlarga yuklashi va ko‘rsatishi mumkin.
Veb-komponentlar boshqa frontend ramkalar foydalanishi mumkin bo'lgan HTML va DOM API-ga, shuningdek, rekvizitlar va hodisalar orqali ma'lumotlarni yuborish va qabul qilishning standart usuliga bog'liq.
Server tomoni tarkibi: Ushbu dizayn bilan UI qismlari serverda birlashtiriladi, buning natijasida to'liq shakllangan sahifa mijoz tomoniga yuboriladi va yuklashni tezlashtiradi.
Yig'ish ko'pincha veb-brauzer va veb-serverlar o'rtasida joylashgan alohida xizmat tomonidan amalga oshiriladi. CDN - bu xizmatning bir nusxasi (kontentni etkazib berish tarmog'i).
Ehtiyojlaringizga qarab birini yoki ikkalasining kombinatsiyasini tanlashingiz mumkin.
Mikro frontend aloqa shakllari
Mikro-frontend arxitekturasi turli komponentlar o'rtasida o'zaro ta'sir kam yoki umuman bo'lmaganda yaxshi ishlaydi. Mikro frontendlar vaqti-vaqti bilan bir-biri bilan gaplashishi va ma'lumot almashishi kerak. Mana bunga olib kelishi mumkin bo'lgan bir nechta potentsial naqshlar.
- Veb ishchilari: Onlayn ishchi veb-kontentni boshqa skriptlardan mustaqil ravishda va sahifa tezligiga ta'sir qilmasdan fonda JavaScript-ni ishga tushirishga imkon beruvchi mexanizmdir. Har bir mikro ilova uchun noyob ishchi API taqdim etiladi. Buning afzalligi shundaki, ko'p vaqt talab qiladigan ishni boshqa tarmoqda bajarish mumkin, bu UI ishini sekinlashtirmasdan yoki to'xtatmasdan davom ettirishga imkon beradi.
- Hodisa emitenti: Bunday holda, ko'pgina komponentlar o'zlari obuna bo'lgan komponentlardagi har qanday holat o'zgarishlarini tinglash va ularga amal qilish orqali bir-biri bilan aloqa qiladilar. Ushbu hodisaga obuna bo'lgan boshqa mikro frontendlar mikro frontend ushbu hodisani ishga tushirganda javob beradi. Har bir mikro-frontendga kiritilgan voqea emitenti buni amalga oshirish imkonini beradi.
- Qayta qo'ng'iroqlar va rekvizitlar: Ushbu bo'limda siz ota-ona komponenti va yordamchi komponentlarni belgilaysiz. Aloqa daraxtga o'xshash tuzilishda tashkil etilgan. Ota-ona komponentlari ma'lumotlarni komponentlar daraxti bo'ylab asosiy komponentlarga funktsiyalar sifatida etkazish uchun rekvizitlardan foydalanadi. O'z navbatida, bola ota-onasini qayta qo'ng'iroqlarga javob berish orqali ularning holatida biror narsa sodir bo'lganda samarali ogohlantirishi mumkin. React ushbu rejimdan foydalanadi.
Micro frontendning afzalliklari
Tez avtonom jamoalarda rivojlanish
Mikro frontend usulidan foydalanganda mustaqil jamoa veb-ilova yoki veb-saytning har bir qismini yaratishi mumkin.
Har bir jamoa butunlay avtonomdir, ya'ni u kontseptsiyadan tortib to ishlab chiqarishgacha va ishlab chiqarishdan keyingi barcha komponentlarni ishlab chiqish tsikliga mas'uldir.
Bundan tashqari, bu turli jamoalar bir vaqtning o'zida bitta loyiha ustida ishlayotganda muammosiz hamkorlik qilishlari mumkinligini anglatadi.
Shuning uchun, bo'shatish davrlari oldingi monolitlarga qaraganda ancha tezroq.
Individual mikro frontendlarning kichik kod bazalari toza kodga olib keladi
Monolitik old qismlar katta, noqulay kod bazalariga ega bo'lib, vaqt o'tishi bilan tartibsiz va boshqarish qiyin bo'ladi.
Mikro frontendlar bu muammoni hal qiladi. Har bir mikro frontendning manba kodi ko'proq boshqariladi, chunki u kichikroq, soddaroq va ixchamroqdir.
Natijada, umumiy veb-yechim toza koddan foyda ko'radi.
Bo'shashgan ulanish tufayli ilova barqarorligi yaxshilandi
Veb-yechim kamdan-kam hollarda butunlay mustaqil qismlarga bo'linishi mumkin. Shunday qilib, mikro frontendlar bir-biri bilan gaplashadi.
Biroq, bo'sh ulanishga qaramay, komponentlar orasidagi har bir aloqa muhim ahamiyatga ega.
Bitta komponentning ishdan chiqishi boshqa barcha komponentlarning ishlashiga deyarli ta'sir qilmaydi, bu esa veb-yechimning mustahkamlangan barqarorligini ta'minlaydi.
Individual xususiyatlarni sinab ko'rish yanada soddalashtirilgan
Bu foyda mikro frontendlarning xususiyatlaridan kelib chiqadi. Ushbu me'moriy dizaynga asoslanib, veb-yechimning mijoz tomoni modulli va har bir modul avtonomdir.
Natijada, foydalanuvchi interfeysining kichik bir qismini mustaqil ravishda baholash jamoa uchun massiv monolitni sinab ko'rishdan ko'ra osonroqdir.
To'plam hajmining qisqarishi sahifani tezroq yuklashga olib keladi
Xususiyatlarga boy monolit veb-tizimlarda yuklanish vaqtini kechiktirishning asosiy sabablaridan biri JavaScript to'plamining o'lchamidir. Boshqa tomondan, mikro frontend yondashuvi sahifani yuklash vaqtini qisqartirishni osonlashtiradi.
Brauzer keraksiz kodni qayta-qayta yuklab olishi shart emas, chunki veb-sahifa bir nechta kichik paketlardan iborat. Natijada sahifa unumdorligi va yuklanish vaqtlari ortadi.
Texnologiyaning mustaqilligi
Agar bir necha front-end ramkalar mikro-frontend arxitekturasi bilan yagona onlayn yechim yaratish uchun ishlab chiquvchilar tomonidan ishlatilishi mumkin.
Har bir komponent avtonom bo'lgani uchun uni qaysi texnologiya jamoaning vazifalariga ko'proq mos keladiganidan foydalanib qurish mumkin.
Tabiiyki, dasturchilar o'zlari mas'ul bo'lgan dasturiy ta'minot loyihasi uchun ramkalarni tanlashda ehtiyot bo'lishlari kerak va boshqa jamoalar bilan maslahatlashish hali ham qat'iy tavsiya etiladi.
Biroq, ilovaning amal qilish muddati davomida eski tizimdan foydalanishga majbur bo'lish ehtimoli nolga teng.
Micro Frontendning kamchiliklari
Kompleks veb-yechimlarni to'liq sinovdan o'tkazish
Mikro-frontend arxitekturasidan foydalanganda veb-yechimning turli modullarini sinab ko'rish oson. Bu veb-ilovani umuman baholashdan farq qiladi.
Davom etishdan oldin barcha qismlar mo'ljallangan tarzda ishlayotganligini tekshiring. Bu qiyin bo'lishi mumkin, chunki mikro frontendlar mustaqil ishlaydi va alohida yetkazib berish jarayonlariga ega.
Qimmat dastlabki investitsiyalar
Mikro frontend ishlanmalari odatda katta moliyaviy xarajatlarni talab qiladi. Ko'plab oldingi jamoalarni yig'ish va ushlab turish qimmatga tushadi.
Bundan tashqari, sizga ishni tashkil qilish, hamma narsa muvofiqlashtirilganligiga ishonch hosil qilish va ajoyib jamoaviy muloqotni kafolatlash uchun boshqaruv xodimlari kerak bo'ladi.
Rivojlanish va joylashtirishning murakkabligi
Mikro-frontend dizayni natijasida ishlab chiqish va joylashtirish jarayonlari murakkablashishi mumkin.
Yechim bir xil loyihada ishlaydigan mustaqil ishlab chiqish guruhlari tomonidan juda ko'p komponentlar bilan to'ldirilishi mumkin, masalan, joylashtirish bosqichida muammolarga olib kelishi mumkin.
Barcha modullarni to'g'ri yig'ish va ularning umumiy sxemaga silliq integratsiyalashuvi ham har doim ham oddiy emas; bu ish odatda barcha bog'liqliklarni to'liq tushunishni talab qiladi.
Foydalanuvchi tajribasida muvofiqlikni saqlash muammolari
Guruhlar dasturiy ta'minotning bir nechta qismlarida alohida ishlaganda izchil foydalanuvchi interfeysini saqlab qolish qiyin.
Veb-echim loyihaning barcha ishlab chiquvchilari tomonidan baham ko'rilishi kerak. Aks holda, yo'lda juda ko'p qarama-qarshiliklar bo'lishi mumkin.
Xulosa
Micro frontends, zamonaviy arxitektura dizayni, mikroservisga asoslangan keng ko'lamli veb-ishlab chiqish loyihalari samaradorligini sezilarli darajada oshirishi mumkin.
Bu dasturchilarga to'liq yechimni bir nechta avtonom jamoalar tomonidan yaratilishi mumkin bo'lgan diskret qismlarga bo'lish imkonini beradi. Bundan ko'plab afzalliklar, jumladan, funksiyalarni tezroq ishga tushirish, individual modullarni oson sinovdan o'tkazish va yanada uzluksiz yangilanishlar mavjud.
Ammo mikro frontendlarda ham ba'zi qiyinchiliklar mavjud.
Masalan, ilovani keng qamrovli sinovdan o'tkazish qiyin bo'lishi mumkin.
Bundan tashqari, katta muhandislar va ma'murlar jamoasi kerak bo'lganligi sababli, mikro frontend loyihalari juda qimmat.
Shunday qilib, qaror qabul qilishdan oldin, siz biznes ishining barcha tarkibiy qismlarini hisobga olishingiz kerak.
Vladimir Chamaj
Qandaydir tarzda men frontenddagi alohida komponentlar o'rtasidagi aloqa qanday printsip asosida ishlashini tushunmadim. Turli ramkalarda yaratilgan komponentlarni qanday ulashni xohlayotganingizni tushunmayapman. Maqolada bu haqda hech narsa yo'q. Hodisalar tizimi va tinglovchilar menga yerdagi do‘zaxdek tuyuladi. Buni qanday tasavvur qilishimiz kerak?