Bab lan Paragraf[Singidaken][Tampilake]
- Dadi, apa federasi modul?
- Kenapa modul federasi?
- Komponen inti federasi modul
Fitur inti Federasi Modul+-
- Kinerja web sing apik banget
- Pangembangan sing efektif
- Kemampuan kanggo marasake awakmu dhewe lan redundansi
- Penanganan efektif saka dependensi umum
- Tinimbang ngirim maneh konsumen, pasang kode independen.
- Nalika mlaku, ngimpor kode saka bangunan liyane.
- Pengalaman pangembang sing ditingkatake nalika njaga pengalaman klien
- Micro-frontends beroperasi kanthi cara monolitik.
- kesimpulan
Konsep micro frontends ditrapake microservices kanggo pangembangan frontend.
Ide kasebut yaiku kanggo ngrusak aplikasi utawa situs web dadi potongan sing luwih cilik, dikembangake kanthi mandiri sing banjur disambungake sajrone runtime, tinimbang nggawe minangka monolit tunggal sing kohesif.
Cara kasebut ngidini sampeyan nggawe komponen aplikasi liyane nggunakake teknologi liyane lan karo tim independen.
Ide iki kanggo nyuda biaya pangopènan sing ana gandhengane karo monolit khas kanthi nggawe segmen kanthi cara iki.
Kanthi ngidini dheweke konsentrasi ing area aplikasi tartamtu minangka tim sing koheren, uga nggawe kerjasama anyar ing antarane backend lan frontend devs.
Contone, sampeyan bisa uga duwe tim sing mung tanggung jawab kanggo kemampuan telusuran utawa aspek liyane saka produk utama sing penting kanggo bisnis.
Thanks kanggo federasi modul, sampeyan duwe cukup fungsi kanggo nangani alur kerja sing ngarep mikro pendekatan mandat.
Kiriman iki bakal nliti arsitektur federasi modul, uga fitur utama lan pola aplikasi.
Dadi, apa sing diarani federasi modul?
Desain federasi modul Javascript nggunakake bagean sing digunakake maneh ing akeh aplikasi.
Iku jargon sing cukup dhasar, nanging aku mung nggawe katon kaya angin.
Amarga kita wis ngerti babagan nuduhake komponen ing aplikasi React, Federasi Modul kanthi efektif ngrampungake tujuan sing padha ing praktik, kajaba kanthi dinamis mbukak modul aplikasi kanggo konsumsi dening aplikasi liyane.
Federasi Modul ngupaya kanggo ngatasi masalah enggo bareng modul ing sistem sing disebarake kanthi ngirimake unsur-unsur sing dienggo bareng minangka makro utawa mikro kaya sing dikarepake.
Iki wis rampung kanthi mbusak saka aplikasi lan alur kerja mbangun.
Kenapa modul federasi?
Ing ngisor iki sawetara faktor sing bisa ditindakake federasi modul kanthi gampang:
- Eksternal lan DLL (Perpustakaan Dynamic Link) kabeh sing sok-sok ana kanggo nuduhake fungsi ing antarane aplikasi. Kabeh mau nggawe enggo bareng kode skala dadi angel banget.
- NPM alon-alon.
- Nalika loro program kapisah nuduhake kode wigati, padha kudu dinamis lan fleksibel.
Supaya app dewekan babar blas ing gudang dhewe, nyebarke dhewe, lan operate minangka SPA sawijining dhewe, Federasi Modul digawe.
Komponen inti federasi modul
Sadurunge nyilem luwih jero, sedhela ngrembug sawetara konsep anyar sing federasi modul nggawa penting.
- Host: Nalika kaca dimuat, mbangun utawa modul sing diwiwiti wiwitan diarani host. Panyedhiya bisa dianggep minangka host.
- Remote: Remot minangka konstruksi beda sing nggunakake bagean host. Padha uga diarani minangka pelanggan.
- Host bi-directional: mbangun Webpack sing fungsine minangka remot sing dikonsumsi host liyane lan host sing nggunakake remot.
- Federasi vendor: mbisakake enggo bareng runtime deklaratif saka dependensi modul npm kanggo host utawa remot, preduli saka lokasi sing dimuat. Salah sawijining masalah kinerja utama karo frontend mikro dirampungake kanthi cara iki.
Pola Aplikasi Federasi
Sistem Desain Evergreen
Salah sawijining wangun aplikasi federasi sing paling dhasar yaiku "remote evergreen," yaiku remot sing dienggo bareng kaya "Sistem Desain" utawa "Perpustakaan Komponen" sing disebarake lan dianyari kanthi mandiri kanggo kabeh pangguna.
Tanpa saben tim app kudu nglampahi wektu kanggo revisi, iki bisa uga migunani kanggo mesthekake yen kabeh situs online netepi identitas perusahaan sing paling anyar.
Kanggo ngrancang lan ngetrapake watesan lan tata cara sing dibutuhake kanggo njamin nganyari sing aman lan terus-terusan, iki bisa uga dadi papan sing migunani kanggo bisnis nalika nimbang arsitektur aplikasi gabungan.
Ing ngisor iki sawetara kasus panggunaan ing ngendi remot sing dienggo bareng kanthi mandiri bisa uga cocog:
- Sistem desain
- Cangkang aplikasi
- Pustaka komponen
- Konsumen
- Toolkit sing dienggo bareng
- Model distribusi alternatif kanggo widget sing digunakake dening internal utawa eksternal
Multi-SPA Modul Sharing
Gunakake maneh fitur sing wis diekspor, kayata komponen, ing macem-macem aplikasi siji-halaman mandiri. Keuntungan kalebu:
- Konsumen nampa nganyari otomatis
- Keahlian domain tetep ana ing tim sing tanggung jawab.
- Streamlines prosedur panyebaran amarga release modul kapisah ora perlu.
Shell mimpin federasi
Federasi sing didorong cangkang kalebu:
- Nalika nggawe versi produk anyar, tim Product ora ngenteni tim Checkout kanggo ngrampungake tugas.
- Nalika ngoper remot, ora ana reload kaca.
- Yen perlu, Shell nawakake loading remot alon lan rute (tingkat paling dhuwur).
- Rute liwat remot bisa ditindakake liwat federasi vendor, sing ngidini panggunaan maneh paket npm sing asring digunakake.
- Shell nawakake framework lan dependensi umum liyane sing digunakake maneh dening remot dimuat males.
Federasi multi-cangkang
Padha karo federasi cangkang-mimpin diterangake ing ndhuwur, nanging digunakake cangkang beda.
Isine:
- sawetara cangkang
- Labeling putih
- Ora kabeh remot dibutuhake dening Shell B utawa duwe implementasine independen.
Fitur inti Federasi Modul
Kinerja web sing apik banget
Masalah karo komposisi modul NPM normal yaiku nalika jumlah tanggungan mundhak, ukuran aplikasi umume mundhak.
Supaya ora mbukak mbendel nalika aplikasi sampeyan mbukak lan mung mbukak yen perlu, Federasi Modul nawakake kemampuan kanggo mbukak bundel kanthi alon-alon.
Iki nyegah kabutuhan kanggo ndownload modul sadurunge dibutuhake, sing nambah kacepetan situs.
Pangembangan sing efektif
Saben proyek bisa diprodhuksi lan dikirim kanthi terpisah lan bisa ditindakake dening macem-macem tim amarga Federasi Modul nyengkuyung sampeyan ngatur aplikasi dadi proyek sing diskret supaya sampeyan bisa mbangun lan nyebarake kanthi kapisah (lan kanthi mangkono sejajar).
Kemampuan kanggo marasake awakmu dhewe lan redundansi
Dependensi sing dienggo bareng ngidini Federasi Modul nglacak kabeh dependensi program sampeyan ing sak panggonan.
Kanthi cara iki, sanajan aplikasi ora nyatakake katergantungan utawa nalika ana masalah jaringan, aplikasi kasebut isih ngerti apa sing dibutuhake lan bisa ndownload yen perlu.
Penanganan efektif saka dependensi umum
Kajaba iku, Federasi Modul nawakake manajemen ketergantungan sing unggul, kanthi efektif ngrampungake syarat vendor lan pihak katelu supaya aplikasi sampeyan ora bakal mbukak luwih saka siji versi perpustakaan.
Tinimbang ngirim maneh konsumen, pasang kode independen.
Pangembang banget kasengsem duwe fungsi evergreen. Sawise fungsi gumantung sing kapapar diganti, ora perlu nginstal maneh konsumen.
Aku kudu ngakoni manawa iki minangka fitur sing kuat banget, sing mbutuhake pemeriksaan ati-ati kanggo nyegah asil sing ora dikarepake.
Nalika mlaku, ngimpor kode saka bangunan liyane.
Nalika nggunakake model paket NPM, kita bisa uga nimbang aplikasi sing nggunakake Federasi Modul sing padha karo API tinimbang nuduhake kode lan mikir "perpustakaan."
Kanthi cara sing padha uga bisa nampa fungsi saka aplikasi liyane, aplikasi web saiki bisa nyedhiyakake fungsi kasebut menyang aplikasi liyane.
Pengalaman pangembang sing ditingkatake nalika njaga pengalaman klien
sembarang pangembang JavaScript bakal cukup nyaman karo Federasi Modul amarga iku plugin Webpack sing bisa diakses ing versi Webpack 5.
Iki pancen rada kuwat lan nyenengake yen kita mikir.
Kanthi nggunakake loader Webpack pihak katelu, nimbang kabeh komponen sing Webpack bundel, kalebu skrip, aset, gaya, gambar, markdown, lan liya-liyane.
Kanthi nggunakake Federasi Modul, kabeh iki bisa dienggo bareng lan digabungake.
Micro-frontends beroperasi kanthi cara monolitik.
Cukup gampang kanggo nambah fungsi sing dienggo bareng menyang aplikasi sampeyan; mung ngimpor mbendel minangka normal utawa nggunakake loading sinkron.
Utawa, loading asinkron bisa digunakake mung kanggo mbukak dependensi yen perlu kanthi nggunakake loading males.
kesimpulan
Ing kirim iki, kita wis ngrembug Federasi Modul minangka pilihan sing apik kanggo ngembangake aplikasi micro-frontend.
Ngidini aplikasi ijol-ijolan lan nggunakake fungsi nalika runtime nyengkuyung skalabilitas kanthi ngidini macem-macem tim bisa nggarap aplikasi mandiri.
Nalika fungsi umum diganti, sampeyan ora perlu ngrancang lan nyebarke konsumen amarga ndhukung fungsi evergreen.
Program sampeyan bakal tumindak kaya monolit sawise disetel, sing apik banget.
Dependensi sing bisa dienggo bareng digunakake kanggo nyuda ukuran aplikasi. Amarga akeh pangembang sing wis kenal karo lingkungan Webpack, pengalaman pangembang apik banget.
Ninggalake a Reply