Mundarija[Yashirish][Show]
- Xo'sh, modul federatsiyasi nima?
- Nima uchun modul federatsiyasi?
- Modul federatsiyasining asosiy komponentlari
Modul federatsiyasining asosiy xususiyatlari+-
- Ajoyib veb ishlashi
- Samarali rivojlanish
- O'z-o'zini davolash va ortiqcha ishlash qobiliyati
- Umumiy bog'liqliklarni samarali boshqarish
- Iste'molchilarni qayta joylashtirish o'rniga, mustaqil kodni o'rnating.
- Ishlayotganda, boshqa tuzilmalardan kodni import qiling.
- Mijoz tajribasini saqlab qolgan holda ishlab chiquvchining kengaytirilgan tajribasi
- Mikro-frontendlar monolit rejimda ishlaydi.
- Xulosa
Micro frontends kontseptsiyasi frontend ishlab chiqish uchun mikroservislarni qo'llaydi.
Maqsad ilova yoki veb-saytni yagona, yaxlit monolit sifatida yaratishdan farqli o'laroq, keyinchalik ish vaqtida ulanadigan kichikroq, mustaqil ravishda ishlab chiqilgan qismlarga bo'lishdir.
Usul boshqa texnologiyalar va mustaqil guruhlar yordamida dasturning boshqa komponentlarini yaratishga imkon beradi.
G'oya, rivojlanishni shu tarzda segmentatsiyalash orqali odatiy monolit bilan bog'liq texnik xarajatlarni kamaytirishdir.
Ularga izchil jamoa sifatida ilovaning ma'lum bir sohasiga e'tibor qaratishga imkon berib, bu shuningdek, backend va frontend ishlab chiqaruvchilari o'rtasidagi hamkorlikning yangi shakllarini ham mumkin qiladi.
Misol uchun, sizda biznes uchun muhim bo'lgan asosiy mahsulotning qidirish qobiliyati yoki boshqa jihatlari uchun faqat javobgar bo'lgan jamoa bo'lishi mumkin.
Modul federatsiyasi tufayli sizda ish jarayonini boshqarish uchun etarli funksiya mavjud mikro frontend yondashuv vakolatlari.
Ushbu post modul federatsiyasining arxitekturasini, shuningdek, uning asosiy xususiyatlari va qo'llash naqshlarini chuqur ko'rib chiqadi.
Shunday qilib, a modul federatsiyasi?
Javascript-ning modul federatsiyasi dizayni ko'plab ilovalarda qayta ishlatiladigan qismlardan foydalanadi.
Bu juda oddiy jargon, lekin men shunchaki shavqatsiz ko'rinish uchun shunday qildim.
Hammamiz React ilovasida komponentlarni almashish bilan tanish bo'lganimiz sababli, Module Federatsiyasi amalda xuddi shu maqsadga samarali erishadi, bundan tashqari u boshqa ilovalar tomonidan iste'mol qilinadigan dastur modullarini dinamik ravishda ochib beradi.
Modullar federatsiyasi taqsimlangan tizimda modullarni almashish muammosini o'sha asosiy umumiy elementlarni kerakli makro yoki mikro sifatida yetkazib berish orqali bartaraf etishga intiladi.
Bunga ularni ilovalaringizdan va qurilish ish jarayonidan olib tashlash orqali erishiladi.
Nima uchun modul federatsiyasi?
Modul federatsiyasi osonlikcha hal qila oladigan ba'zi omillar:
- Tashqi va DLL-lar (Dynamic Link Libraries) bizda ba'zan ilovalar o'rtasida funksionallik almashish uchun mavjud bo'lgan narsa edi. Bularning barchasi miqyoslash kodini almashishni juda qiyinlashtirdi.
- NPM sust.
- Ikki alohida dastur muhim kodni baham ko'rsa, ular dinamik va moslashuvchan bo'lishi kerak.
Mustaqil ilovalar butunlay o'z omborida bo'lishi, alohida joylashtirilishi va o'zining mustaqil SPA sifatida ishlashi uchun Modul federatsiyasi yaratildi.
Modul federatsiyasining asosiy komponentlari
Chuqurroq sho'ng'ishdan oldin, modul federatsiyasi keltiradigan bir nechta yangi tushunchalarni qisqacha muhokama qilish muhimdir.
- Xost: Sahifa yuklanganda dastlab ishga tushirilgan qurish yoki modul xost deb ataladi. Provayderni xost sifatida ko'rish mumkin.
- Masofadan boshqarish pulti: masofadan boshqarish pulti - bu xostning bir qismini ishlatadigan boshqa konstruksiya. Ular mijozlar deb ham ataladi.
- Ikki yo'nalishli xost: boshqa xostlar iste'mol qiladigan masofadan boshqarish pulti va masofadan boshqarish pultlarini iste'mol qiladigan xost sifatida ishlaydigan Webpack tuzilishi.
- Sotuvchi federatsiyasi: npm moduli bog'liqliklarini, qaysi joydan yuklanganidan qat'i nazar, deklarativ ravishda umumiy ish vaqtini almashish imkonini beradi. Mikro frontendlar bilan ishlashning asosiy muammolaridan biri shu tarzda hal qilinadi.
Federatsiyalangan ariza namunalari
Evergreen dizayn tizimi
Federatsiyalangan ilovalarning eng asosiy shakllaridan biri bu "doim yashil masofadan boshqarish pulti" bo'lib, u "Dizayn tizimi" yoki "Komponent kutubxonasi" kabi umumiy masofadan boshqarish pulti bo'lib, barcha foydalanuvchilar uchun mustaqil ravishda tarqatiladi va yangilanadi.
Har bir ilova jamoasi qayta ko'rib chiqishga vaqt sarflamasdan, bu barcha onlayn saytlar eng so'nggi korporativ identifikatsiyaga mos kelishini ta'minlashda foydali bo'lishi mumkin.
Xavfsiz, doimiy yangilanishlarni kafolatlash uchun zarur bo'lgan chegaralar va tartiblarni loyihalash va joriy qilish uchun bu korxonalar federatsiyalangan ilovalar arxitekturasini ko'rib chiqishda boshlash uchun foydali joy bo'lishi mumkin.
Quyida mustaqil ravishda o'rnatilgan umumiy masofadan boshqarish pultlari mos bo'lishi mumkin bo'lgan ba'zi holatlar keltirilgan:
- Dizayn tizimlari
- Ilova qobiqlari
- Komponent kutubxonalari
- iste'molchilar
- Birgalikda asboblar to'plami
- Ichki yoki tashqi tomonidan ishlatiladigan vidjetlar uchun muqobil tarqatish modellari
Multi-SPA modullarini almashish
Komponentlar kabi allaqachon eksport qilingan xususiyatlardan turli mustaqil bir sahifali ilovalarda qayta foydalaning. Imtiyozlarga quyidagilar kiradi:
- Iste'molchilar avtomatik yangilanishlarni olishadi
- Domen bo'yicha tajriba unga mas'ul bo'lgan jamoada qoladi.
- Joylashtirish tartibini soddalashtiradi, chunki alohida modul relizlari kerak emas.
Shell tomonidan boshqariladigan federatsiya
Qobiqli federatsiya quyidagilarni o'z ichiga oladi:
- Yangi mahsulot versiyasini yaratishda Mahsulot jamoasi Checkout jamoasi o'z ishini yakunlashini kutmaydi.
- Masofadan boshqarish pultlarini almashtirishda sahifa qayta yuklanmaydi.
- Zarur bo'lganda, Shell sekin masofadan yuklash va (yuqori darajadagi) marshrutlashni taklif qiladi.
- Masofadan boshqarish pultlari bo'ylab marshrutlash tez-tez ishlatiladigan npm paketlarini qayta ishlatish imkonini beruvchi sotuvchi federatsiyasi orqali amalga oshiriladi.
- Shell dangasa yuklangan masofadan boshqarish pultlari tomonidan qayta ishlatiladigan ramka va boshqa umumiy bog'liqliklarni taklif qiladi.
Ko'p qavatli federatsiya
Yuqorida tavsiflangan qobiqli federatsiyaga o'xshash, ammo turli xil qobiqlardan foydalanilgan.
Unda quyidagilar mavjud:
- bir qator qobiqlar
- Oq yorliq
- Shell B barcha masofadan boshqarish pultlarini talab qilmaydi yoki mustaqil dasturlarga ega emas.
Modul federatsiyasining asosiy xususiyatlari
Ajoyib veb ishlashi
Oddiy NPM moduli tarkibi bilan bog'liq muammo shundaki, qaram bo'lganlar soni ortishi bilan dastur hajmi odatda o'sib boradi.
Ilovangiz yuklanganda toʻplamlarni yuklamaslik va faqat kerak boʻlganda yuklash uchun Module Federation sizga toʻplamlarni dangasalik bilan yuklash imkoniyatini taklif qiladi.
Bu modullarni talab qilinishidan oldin yuklab olish zaruratini oldini oladi, bu esa sayt tezligini oshiradi.
Samarali rivojlanish
Har bir loyiha alohida ishlab chiqarilishi va yetkazib berilishi va turli guruhlar tomonidan amalga oshirilishi mumkin, chunki Modul federatsiyasi ularni alohida (va shuning uchun parallel ravishda) qurish va joylashtirishingiz uchun arizangizni alohida loyihalarga ajratishga undaydi.
O'z-o'zini davolash va ortiqcha ishlash qobiliyati
Birgalikda bog'liqliklar Module Federatsiyasiga dasturingizning barcha bog'liqliklarini bir joyda kuzatib borish imkonini beradi.
Shunday qilib, ilova bog'liqlik e'lon qilmasa yoki tarmoq muammolari mavjud bo'lsa ham, u o'ziga nima kerakligini biladi va kerak bo'lganda uni yuklab olishga qodir.
Umumiy bog'liqliklarni samarali boshqarish
Bundan tashqari, Module Federation yuqori darajadagi qaramlikni boshqarishni taklif qiladi, sotuvchi va uchinchi tomon talablarini samarali hal qiladi, shunda sizning ilovangiz kutubxonaning bir nechta versiyasini yuklamaydi.
Iste'molchilarni qayta joylashtirish o'rniga, mustaqil kodni o'rnating.
Ishlab chiquvchi doimo yashil funksiyalarga ega bo'lishga juda qiziqadi. Ochiq bog'liq funksionallik o'zgargandan so'ng, iste'molchilarni qayta o'rnatishga hojat qolmaydi.
Shuni tan olishim kerakki, bu o'z-o'zidan juda kuchli xususiyat bo'lib, kutilmagan natijalarning oldini olish uchun ehtiyotkorlik bilan tekshirishni talab qiladi.
Ishlayotganda, boshqa tuzilmalardan kodni import qiling.
NPM paketi modelini qabul qilganda, kodni almashish va "kutubxona" haqida o'ylashdan ko'ra, modul federatsiyasidan API-larga o'xshash ilovalarni ko'rib chiqishimiz mumkin.
Xuddi shu tarzda, ular boshqa ilovalardan funksionallikni olishlari mumkin bo'lganidek, veb-ilovalar endi boshqa ilovalarga funksionallikni ta'minlashi mumkin.
Mijoz tajribasini saqlab qolgan holda ishlab chiquvchining kengaytirilgan tajribasi
har qanday JavaScript dasturchisi Module Federation bilan juda qulay bo'ladi, chunki u Webpack plaginidir, unga Webpack 5-versiyasidan boshlab kirish mumkin.
Agar biroz o'ylab ko'rsak, bu juda kuchli va qiziqarli.
Uchinchi tomon Webpack yuklagichlaridan foydalangan holda, barcha komponentlarni ko'rib chiqing Veb-paket paketlar, jumladan skriptlar, aktivlar, uslublar, rasmlar, markdowns va boshqalar.
Modul federatsiyasidan foydalanib, bularning barchasi birgalikda va birlashtirilishi mumkin.
Mikro-frontendlar monolit rejimda ishlaydi.
Ilovangizga umumiy funksiyalarni qo'shish juda oson; oddiygina to'plamni import qiling yoki sinxron yuklashdan foydalaning.
Shu bilan bir qatorda, asinxron yuklash faqat dangasa yuklash orqali kerak bo'lganda bog'liqliklarni yuklash uchun ishlatilishi mumkin.
Xulosa
Ushbu postda biz modul federatsiyasini mikro-frontend ilovangizni ishlab chiqish uchun ajoyib tanlov sifatida muhokama qildik.
Ilovalarning ish vaqtida almashishi va funksionalligini iste'mol qilishiga ruxsat berish turli guruhlarga mustaqil ilovalar ustida ishlash imkonini berish orqali masshtablilikni rag'batlantiradi.
Umumiy funksionallik oʻzgarganda, siz oʻz isteʼmolchilaringizni loyihalashtirish va joylashtirishga hojat qolmaydi, chunki u doimiy funksiyalarni qoʻllab-quvvatlaydi.
Dasturingiz o'rnatilgandan so'ng monolit kabi ishlaydi, bu ajoyib.
Ulashish mumkin bo'lgan bog'liqliklar ilovalar hajmini kamaytirish uchun ishlatiladi. Ko'pgina ishlab chiquvchilar Webpack muhiti bilan allaqachon tanish bo'lganligi sababli, ishlab chiquvchilar tajribasi juda yaxshi.
Leave a Reply