Table of Contents[Hide][Show]
Lub tswv yim ntawm microservices tau txais kev saib xyuas tsis ntev los no, thiab ntau lub tuam txhab tau siv nws los ua kom muaj qhov loj, monolithic backends.
Mus rau tib txoj kev nrog rau pem hauv ntej tseem yog ib qho kev sib tw rau ntau lub lag luam, txawm tias qhov kev faib tawm ntawm kev tsim lub server-sab ntawm lub vev xaib apps yog ntau dua lossis tsawg dua kev ntseeg siab ntawm kev tshawb fawb thiab kev ua tiav.
Vim nws nyob ze, cov neeg siv khoom-sab monolith feem ntau ua rau nws nyuaj rau kev sib koom ua ke cov yam ntxwv tshiab, txais yuav cov thev naus laus zis tshiab, thiab ntsuas tus kheej cov khoom.
Cov kev sib tw no thiab lwm cov kev sib tw tau ua rau cov neeg tsim khoom lag luam los tshawb xyuas kev siv microservices.
Raws li qhov tshwm sim, lub tswv yim tshiab tsim qauv tsim lub npe hu ua micro frontend tau tsim los tsim cov txheej txheem pem hauv ntej ntawm cov vev xaib thiab cov ntawv thov hauv web.
Lub sij hawm yog thawj zaug siv nyob rau hauv 2016, thiab txij thaum ntawd los, nws tau garnered ntau xim rau ib tug zoo ua.
Kab lus no yuav muab kev nkag siab dav dav ntawm micro frontends yog dab tsi thiab cov teeb meem uas lawv hais. nws ua haujlwm, nrog rau qhov zoo thiab qhov tsis zoo.
Taw qhia rau micro front-end architecture
Ib txoj hauv kev niaj hnub ntawm kev txhim kho pem hauv ntej hu ua micro-frontend architecture faib a daim ntawv thov web rau hauv me me, ywj siab.
Rau cov neeg siv kawg, cov khoom no zoo li yog ib chav tsev txawm tias lawv tau tsim nws tus kheej thiab muab tso ua ke.
Nrog qhov sib txawv uas micro frontends cuam tshuam rau cov neeg siv khoom, tsis yog sab server, ntawm cov kev daws teeb meem online, cov laj thawj hauv qab lawv zoo ib yam li microservices.
Ua cov khoom lag luam zoo hauv lub vev xaib ua rau muaj kev nkag siab zoo tshaj plaws thaum siv micro frontend mus kom ze.
Micro frontends, as opposed to a more conventional front-end monolith, enables ntau pab neeg los koom tes sib cais ntawm ntau yam software tej yaam num.
Cov programmers tuaj yeem tsim cov web apps sai dua thiab nrog ntau dua scalability thiab kev ruaj ntseg siv qhov kev tsim vaj tsev no.
Txhawm rau muab nws yooj yim, txhua qhov micro frontend tsuas yog ib qho ntawm cov cai rau qhov sib txawv ntawm nplooj ntawv web.
Cov yam ntxwv no yog tswj los ntawm cov pab pawg sib cais, txhua tus tshwj xeeb hauv kev lag luam lossis lub hom phiaj.
Monolithic vs Microservices vs Micro frontend architecture
Xav txog kev hloov chaw. Nws puas yuav yooj yim dua rau koj los npaj txhua yam rau hauv ntau lub thawv me me, cov kws tshaj lij sau npe thiab hloov chaw txhua tus ntawm tus kheej lossis ntim tag nrho cov neeg ua haujlwm rau hauv ib lub thawv loj thiab thauj mus rau qhov chaw tshiab?
Txoj kev daws teeb meem yog muaj.
Qhov kev sib piv no piv rau ob qhov sib txawv ntawm lub vev xaib app architectures, monoliths thiab microservices (tseem hu ua micro frontends).
Monolithic architecture
Tej zaum koj yuav tuaj yeem nco qab "hnub qub zoo" thaum daim ntawv thov ua tiav tau tsim los ua ib qho chaw sib koom ua ke. Xws li ib txoj kev hu ua monolith, uas yog ib lo lus qub rau lub pob zeb loj.
Qhov no ua rau kev nkag siab.
Monolithic systems muaj kev sib koom ua ke. Yog li ntawd, yog tias koj xav hloov qee yam lossis ntxiv qhov tshiab, nws muaj peev xwm ua kom tag nrho cov kab ke yuav tawg.
Txawm hais tias nws tsis siv lawm, qee zaus nws tseem muaj. Yog lawm, peb paub txog koj qhov kev qhia tam sim no.
Lub tswv yim faib ntawm codebase rau hauv ob yam sib txawv - frontend (neeg-sab) thiab backend (server-sab) - dhau los ua yam tsis muaj kev zam raws li cov thev naus laus zis tshiab tsim thiab cov khoom lag luam software tau nyuaj dua.
Txoj kev nrov tshaj plaws ntawm kev ua haujlwm yog tam sim no kev sib cais ntawm kev txhawj xeeb ntawm cov txheej txheem nthuav qhia uas tus neeg siv kawg cuam tshuam nrog thiab txhua yam uas tshwm sim hauv keeb kwm yav dhau.
Nws xav tau ob pab pawg software engineering, nrog rau pab pawg pem hauv ntej tsim cov khoom pom thiab cov pab pawg tom qab tsim cov kev pabcuam hauv web, kev lag luam logic, cov ntaub ntawv nkag, kev sib koom ua ke, thiab lwm yam.
Txawm li cas los xij, txawm tias qhov kev sib cais no, lub tswv yim no tseem nyob monolithic los ntawm qhov xwm txheej.
Qhov kev hloov pauv tseem ceeb yog tias tam sim no peb muaj ob qhov loj ntawm cov lej - lub hauv ntej thiab nraub qaum - tsis yog ib daim ntawv thov loj. Monolithic architectures tsis tas yuav txaus ntshai; lawv muaj ob peb yam txiaj ntsig, suav nrog
- Kev txhim kho yooj yim thiab nrawm rau cov ntawv thov me me nrog ib qho codebase thiab tsim qauv yooj yim heev;
- Kev sim thiab kev debugging yog qhov yooj yim heev vim tias txhua qhov chaws nyob hauv ib qho chaw, ua kom yooj yim rau ib pab neeg taug qab qhov kev thov ntws thiab txheeb xyuas cov kab;
- Thaum ntxov ntawm kev txhim kho daim ntawv thov, cov nuj nqis pheej yig dua vim tias tsis muaj cov nqi tsim kho vaj tse lossis cov nqi tsim kho tau tshwm sim kom txog thaum cov yam ntxwv tshiab ntxiv.
Lub drawbacks ntawm lub tswv yim no yog reflected nyob rau hauv
- Kev txwv tsis pub xa mus yooj yim - pab pawg yuav tsum tau tos yog tias tsuas muaj qee tus ntawm lawv ua haujlwm ntawm qhov project thiab yuav tsum muaj kev xa tawm tshiab txhua zaus koj hloov kho cov cai;
- Kev siv cov thev naus laus zis tshiab yog qhov nyuaj vim tias ua li ntawd yuav tsum rov sau ib feem tseem ceeb, yog tias tsis yog tag nrho qhov project.
- Thaum tus naj npawb ntawm cov neeg tsim khoom nce ntxiv, cov txheej txheem ntawm cov cai tau sib txuas nrog, nyuaj, thiab nyuaj rau kev tswj hwm thiab nkag siab.
- Cov teeb meem ntawm lub koom haum - txhua tus tswv cuab yuav tsum siv tib lub tsev qiv ntawv thiab tshaj tawm cov kev hloov pauv yog tias muaj ntau pab pawg ua haujlwm ntawm txoj haujlwm monolithic.
- Kev txhawj xeeb nrog kev scalability - vim hais tias qhov project cov khoom yog sib cuam tshuam, scaling lawv cais nthuav tawm cov teeb meem uas ua rau lub sij hawm tseem ceeb thiab kev siv nyiaj ntau dua.
- Txoj haujlwm txoj haujlwm nyuaj tuaj yeem nyuaj rau cov tswv cuab tshiab kom nkag siab, tshwj xeeb tshaj yog tias cov engineers uas thawj zaug ua haujlwm rau nws tsis ua haujlwm lawm.
Kev txhim kho ntawm microservices thiab lawv cov txheeb ze, thiab micro frontends, tau hais txog cov teeb meem tseem ceeb nrog cov kab ke monolithic.
Microservices architecture
Cov txheej txheem kev tsim vaj tsev hu ua microservices tso cai rau kev tsim ntau yam kev sib txuas thiab nws tus kheej deployable me me, los yog cov kev pab cuam, uas tsim ib daim ntawv thov backend.
Txhua qhov kev pabcuam muaj nws tus kheej codebase, CI / CD pipelines, DevOps cov txheej txheem, thiab cov txheej txheem rau kev khiav lawv.
Koj tuaj yeem pom tias pawg monolithic backend tau muab faib ua pawg sib cais los ntawm saib cov duab saum toj no.
Txhua tus tsom ntsoov rau ib tus zuj zus ntawm qhov sib txawv ntawm daim ntawv thov (xws li kev pabcuam khoom, kev pabcuam tshawb nrhiav, thiab kev pabcuam them nqi).
Kev sib txuas lus ntawm cov kev pabcuam tshwm sim los ntawm kev tsim cov txheej txheem hu ua APIs, xws li REST API raws tu qauv uas siv synchronous thov- teb cov qauv.
Lwm qhov kev xaiv yog siv kev sib txuas lus asynchronous siv software zoo li Kafka, uas muaj kev tshaj tawm / sau npe cov qauv kev sib txuas lus thiab cov xwm txheej.
Microservices koom nrog rau pem hauv ntej ntawm lub backend rau frontend (BFF) kev pabcuam lossis API Gateway los ntawm lub network. BFF muaj ib qho API customized rau txhua tus neeg siv khoom, qhov API Gateways muab ib qho kev nkag mus rau kev sau ntawm microservices.
Tab sis txawm tias muaj kev tswj hwm tus kheej backend Cheebtsam thiab tag nrho cov txiaj ntsig lawv muab, lub frontend tseem yog monolith.
Yog li ntawd, qhov no yog qhov twg micro frontends muaj txiaj ntsig.
Micro frontends architecture
Zoo ib yam li microservices, qhov twg cov khoom sib txuas xoob xoob tau tswj hwm los ntawm ntau pawg, micro frontend architecture siv lub tswv yim rau browser.
Cov web application user interfaces ua raws li cov qauv no, uas muaj qee yam kev tswj hwm tus kheej.
Cov pab pawg kuj raug tsim los ntawm cov neeg siv khoom xav tau lossis siv rooj plaub tsis yog cov kws tshaj lij lossis thev naus laus zis.
Yog li ntawd, pab pawg tau koom nrog hauv microservices thiab micro frontend project.
- vertically hlais - raws li muaj cov neeg tsim tawm pem hauv ntej, cov kws tshaj lij cov ntaub ntawv, backend engineers, QA engineers, thiab lwm yam. cov neeg siv interface rau databases; thiab
- cross-functional – txhua pab pawg neeg pab txhawb lawv cov kev txawj ntse rau pab pawg.
Cov pab pawg kuj tuaj yeem xaiv cov txheej txheem thev naus laus zis uas zoo tshaj plaws rau lawv txoj kev lag luam tshwj xeeb.
Ib pab neeg tuaj yeem siv React los ua nws qhov tawg. Lwm pab neeg tsim Angular version tshiab. Vue.js yog ib qho piv txwv zoo li no.
Micro frontends yog siv ua ke nrog cov microservices cuam tshuam los daws cov teeb meem kev txhim kho pab pawg feem ntau muaj nrog monoliths. Lub tswv yim muab cov txiaj ntsig hauv qab no.
- Kev ywj pheej ntawm thev naus laus zis: Frontend engineers tuaj yeem xaiv lwm txoj haujlwm JavaScript, lub sijhawm ua haujlwm, thiab tag nrho cov txheej txheem thev naus laus zis nyob ntawm qhov xav tau ntawm lub tuam txhab. Nyob rau sab saum toj ntawm cov qauv qub qub, lub moj khaum tshiab tuaj yeem siv tau.
- Kev hloov pauv ntau dua tuaj yeem ua tau vim tias txhua qhov micro frontend yog tus kheej muaj thiab tuaj yeem tsim, sim, xa tawm, thiab hloov kho dua tshiab. Yog li ntawd, yog tias ib pab neeg ua haujlwm ntawm qhov tshwj xeeb thiab tau thawb cov kab laum kho, thiab lwm pab pawg yuav tsum tau ntxiv nws tus kheej feature, lawv tsis tas yuav tos thawj pab neeg ua tiav lawv txoj haujlwm.
- Pab pawg tswj hwm tus kheej thiab cov tshuab: Txhua pab pawg khoom, thiab yog li txhua qhov tshwj xeeb, tuaj yeem ua haujlwm nrog me ntsis kev vam khom rau lwm tus, uas ua rau nws ua haujlwm txuas ntxiv txawm tias cov khoom nyob ze tsis muaj.
- Ntau, me me codebases: Txhua lub micro frontends yuav muaj nws tus kheej, tswj tau ntau dua, me codebase. Tsawg tus neeg yuav tsom mus rau ib qho tshwj xeeb UI tivthaiv, ua kom yooj yim rau kev tshuaj xyuas cov cai, thiab txhim kho tag nrho lub koom haum.
- Ib qho yooj yim app scaling: Lwm qhov txiaj ntsig ntawm micro frontends yog lub peev xwm los ntsuas txhua yam ntawm tus kheej. Tsis zoo li monoliths, qhov twg tag nrho cov kev pab cuam yuav tsum tau scaled txhua lub sij hawm ib tug tshiab feature ntxiv, qhov no ua rau tag nrho cov txheej txheem ntau npaum li cas ntawm lub sij hawm thiab nyiaj txiag.
Micro frontend ua haujlwm li cas?
Raws li peb tau hais yav dhau los, pawg yog vertically tsim nyob rau hauv lub micro frontend architecture, uas txhais tau hais tias lawv tau sib cais los ntawm kev paub los yog lub hom phiaj thiab muaj lub luag haujlwm txij thaum pib mus txog rau ib qho khoom tshwj xeeb.
Nws tuaj yeem muaj ib lossis ob lub backend microservices nrog rau me me frontend. Hauv kev nthuav dav ntxiv, cia peb tshuaj xyuas qhov pom cov yam ntxwv no, kev cuam tshuam nrog lwm yam UI, thiab kev koom ua ke rau hauv nplooj ntawv home.
Lub micro frontend tuaj yeem ua tau
- ib nplooj ntawv tag nrho (piv txwv li, nplooj ntawv nthuav dav) lossis
- ntu ntawm nplooj ntawv uas tuaj yeem siv los ntawm lwm pab pawg, xws li headers, footers, thiab search bars.
Koj tuaj yeem faib lub vev xaib loj rau ntau hom nplooj ntawv thiab muab txhua hom rau cov neeg ua haujlwm tshwj xeeb los ua haujlwm.
Txawm li cas los xij, ob peb yam khoom nquag tshwm sim ntawm ntau nplooj ntawv, xws li headers, footers, suggestion blocks, thiab lwm yam. Ib qho kev tawm tswv yim thaiv, piv txwv li, tuaj yeem muab tso rau ntawm nplooj ntawv homepage, nplooj ntawv nthuav dav cov khoom, lossis txawm tias nplooj ntawv tawm.
Hauv qhov tseeb, pab pawg tuaj yeem tsim cov khoom uas lwm pab pawg tuaj yeem siv rau ntawm lawv nplooj ntawv.
Lub micro frontends, txawm li cas los xij, tuaj yeem siv cais raws li cov haujlwm sib txawv uas tsis yog cov khoom siv rov siv tau.
Tag nrho cov no suab zoo heev, tab sis los tsim kom muaj kev sib koom ua ke, nplooj ntawv thiab cov khoom tawg yuav tsum tau ua ke.
Qhov no yuav tsum muaj kev sib koom ua ke hauv pem hauv ntej, uas tuaj yeem ua tiav los ntawm ntau lub tswv yim, suav nrog kev sib tw, kev sib xyaw, thiab kev sib txuas lus (saib daim duab saum toj no).
routing
Thaum cov kev pabcuam los ntawm nplooj ntawv tswj hwm los ntawm ib pab pawg yuav tsum nkag mus rau nplooj ntawv uas muaj los ntawm lwm pab pawg, routing muaj txiaj ntsig zoo rau nplooj ntawv-theem kev koom ua ke.
Txhua micro frontend yog ua raws li ib nplooj ntawv thov. Tej yam yooj yim HTML txuas yuav siv tau los muab routing.
Ib tus neeg siv tuaj yeem yuam tus browser kom rub tawm lub hom phiaj cim los ntawm lub server thiab hloov nplooj ntawv tam sim no nrog tus tshiab los ntawm txhaj rau hyperlinks.
Lub plhaub app yog qhov tsawg kawg nkaus ntawm HTML, CSS, thiab JavaScript uas ua haujlwm rau UI. Txawm hais tias cov ntsiab lus cov ntaub ntawv thov los ntawm tus neeg rau zaub mov tseem tos, tus neeg siv tau txais nplooj ntawv pom zoo li qub tam sim ntawd. Lub hauv paus app plhaub ua haujlwm ua niam txiv daim ntawv thov rau ib nplooj ntawv apps tsim los ntawm ntau pab pawg.
Txawm hais tias lub tsev qiv ntawv lossis lub moj khaum uas tau siv, meta-frameworks pab kom fusion ntawm ntau nplooj ntawv rau hauv ib qho.
Muaj pes tsawg leeg
Kev sib xyaw yog txheej txheem ntawm kev npaj cov khoom kom haum rau hauv qhov chaw tsim nyog ntawm nplooj ntawv. Feem ntau, pab neeg uas xa cov nplooj ntawv tsis tuaj yeem nqa cov ntsiab lus ntawm qhov tawg tam sim ntawd.
Es tsis txhob, nws tso ib qhov chaw los yog cim qhov chaw uas cov fragment yuav tsum nyob rau hauv lub markup.
Siv cov txheej txheem sib txawv, kev sib dhos zaum kawg yog ua tiav. Cov muaj pes tsawg leeg tuaj yeem muab faib ua ob pawg: tus neeg siv khoom-sab thiab server-sab.
Client-side composition: Lub web browser yog siv los tsim thiab kho HTML markup. Txhua micro frontend muaj peev xwm hloov pauv thiab qhia nws cov cim cais los ntawm cov nplooj ntawv ntxiv.
Piv txwv li, Web Components, tso cai rau koj los ua qhov kev tsim kho no.
Txoj kev npaj yog tig txhua qhov seem mus rau hauv lub vev xaib uas tuaj yeem nruab nws tus kheej ua cov ntaub ntawv a.js, tom qab ntawd cov apps tuaj yeem thauj khoom thiab muab lawv rau hauv qhov chaw tsim rau lawv hauv cov ntsiab lus layout.
Cov khoom hauv lub vev xaib yog nyob ntawm HTML thiab DOM API, uas lwm cov txheej txheem pem hauv ntej tuaj yeem siv, nrog rau cov qauv kev xa thiab tau txais cov ntaub ntawv ntawm cov khoom siv thiab cov xwm txheej.
Server-side composition: Nrog rau qhov kev tsim no, cov UI cov khoom sib xyaw ua ke ntawm cov neeg rau zaub mov, uas ua rau muaj nplooj ntawv tsim tiav raug xa mus rau cov neeg siv khoom-sab, ua kom nrawm nrawm.
Kev sib sau ua ke feem ntau yog ua los ntawm ib qho kev pabcuam cais uas nyob nruab nrab ntawm lub vev xaib browser thiab lub vev xaib servers. CDN yog ib qho piv txwv ntawm kev pabcuam (cov ntsiab lus xa khoom network).
Koj tuaj yeem xaiv ib lossis ob qho sib xyaw ua ke, nyob ntawm koj qhov kev xav tau.
Micro frontend kev sib txuas lus qauv
Lub micro-frontend architecture ua haujlwm zoo tshaj plaws thaum tsis muaj kev sib cuam tshuam ntawm ntau yam. Micro frontends qee zaus yuav tsum sib tham thiab sib qhia cov ntaub ntawv. Nov yog ob peb yam qauv uas yuav ua rau qhov ntawd.
- Cov neeg ua haujlwm hauv web: Tus neeg ua haujlwm hauv online yog ib lub tswv yim uas ua rau cov ntsiab lus hauv web khiav JavaScript hauv keeb kwm yav dhau, ntawm nws tus kheej ntawm lwm cov ntawv sau, thiab tsis cuam tshuam qhov nrawm ntawm nplooj ntawv. Ib tus neeg ua haujlwm tshwj xeeb API yuav muab rau txhua lub micro app. Qhov txiaj ntsig no yog tias kev ua haujlwm siv sijhawm tuaj yeem ua tiav hauv cov xov sib txawv, ua rau UI xov txuas mus ntxiv yam tsis tau qeeb lossis nres.
- Event emitter: Nyob rau hauv cov ntaub ntawv no, ntau lub Cheebtsam sib txuas lus nrog ib leeg los ntawm kev mloog rau thiab ua raws li lub xeev cov kev hloov nyob rau hauv lub Cheebtsam uas lawv tau sau npe. Lwm cov micro frontends uas tau sau npe rau qhov xwm txheej tshwj xeeb teb thaum lub micro frontend hluav taws qhov xwm txheej. Ib qho kev tshwm sim emitter uas tau nkag mus rau hauv txhua qhov micro-frontend ua qhov no ua tau.
- Callbacks thiab props: Nyob rau hauv seem no, koj txhais ib feem ntawm niam txiv thiab cov me nyuam. Cov kev sib txuas lus tau muab tso rau hauv ib lub qauv zoo li tsob ntoo. Cov khoom siv niam txiv siv cov khoom siv los qhia cov ntaub ntawv raws li kev ua haujlwm ntawm cov ntoo tivthaiv rau cov menyuam cov khoom. Nyob rau hauv lem, tus me nyuam muaj peev xwm ceeb toom rau niam txiv thaum muaj ib yam dab tsi tshwm sim nyob rau hauv lawv lub xeev los ntawm kev teb rau callbacks. React siv hom no.
Pros ntawm Micro frontend
Kev loj hlob nyob rau hauv Rapidly Autonomous Teams
Pab pawg neeg ywj pheej tuaj yeem tsim txhua qhov ntawm lub vev xaib app lossis lub vev xaib thaum siv txoj hauv kev micro frontend.
Txhua pab pawg muaj kev ywj pheej kiag li, uas txhais tau hais tias nws yog tus saib xyuas ntawm tag nrho cov txheej txheem kev loj hlob, los ntawm kev xav mus rau kev tso tawm thiab tom qab tsim khoom.
Tsis tas li ntawd, nws txhais tau hais tias ntau pab pawg tuaj yeem sib koom ua ke tsis muaj kev sib koom ua ke thaum ua haujlwm ntawm tib txoj haujlwm.
Yog li ntawd, kev tso tawm cycles tau nrawm dua li qhov lawv xav tau nrog rau pem hauv ntej-kawg monoliths.
Me Codebases ntawm Tus Kheej Micro Frontends Lead mus rau Cleaner Code
Monolithic pem hauv ntej kawg muaj loj, unwieldy codebases uas ua nce chaotic thiab nyuaj los tswj lub sij hawm.
Micro frontends daws qhov teeb meem no. Txhua lub micro frontend cov cai yog tswj tau ntau dua vim nws me dua, yooj yim dua, thiab ntau dua.
Lub vev xaib tag nrho cov kev daws teeb meem tau txais txiaj ntsig los ntawm cov cai huv huv raws li qhov tshwm sim.
Txhim kho app ruaj khov Vim tias Loose Coupling
Ib qho kev daws teeb meem hauv web tuaj yeem tsis tshua tau muab faib ua ib qho kev ywj pheej kiag li. Yog li ntawd, micro frontends hais lus rau ib leeg.
Txawm li cas los xij, txhua qhov kev sib txuas ntawm cov khoom sib txuas tseem ceeb txawm tias muaj kev sib txuas xoob.
Qhov tsis ua hauj lwm ntawm ib qho kev tivthaiv muaj me ntsis tsis muaj kev cuam tshuam rau kev ua haujlwm ntawm tag nrho lwm cov khoom, uas muab kev txhim kho kev ruaj ntseg ntawm lub vev xaib daws teeb meem.
Kev Ntsuas Tus Kheej Cov Nta yog ua kom yooj yim dua
Qhov txiaj ntsig no tshwm sim los ntawm cov yam ntxwv ntawm micro frontends. Raws li cov qauv tsim vaj tsev no, lub vev xaib kev daws teeb meem ntawm cov neeg siv khoom yog modular thiab txhua qhov module yog autonomous.
Yog li ntawd, kev soj ntsuam ib feem me me ntawm cov neeg siv interface los ntawm nws tus kheej yog yooj yim dua rau ib pab neeg ua dua li kev sim cov monolith loj.
Txo cov pob loj ua rau cov nplooj ntawv nrawm dua
Ib qho ntawm cov laj thawj tseem ceeb ntawm kev ncua sij hawm thauj khoom hauv lub vev xaib muaj txiaj ntsig monolithic yog qhov loj ntawm JavaScript pob. Ntawm qhov tod tes, txoj hauv kev micro frontend ua rau nws yooj yim dua los txo cov nplooj ntawv lub sijhawm.
Ib tus browser tsis tas yuav rub tawm cov lej tsis xav tau ntau ntxiv vim tias nplooj ntawv web tau tsim los ntawm ntau lub pob me me. Yog li ntawd, nplooj ntawv ua haujlwm thiab lub sijhawm thauj khoom tau nce.
Technology Independence
Ntau pem hauv ntej-kawg ncej tuaj yeem siv los ntawm cov neeg tsim khoom los tsim ib qho kev daws teeb meem online nrog micro-frontend architecture.
Txij li txhua qhov kev tivthaiv yog kev tswj hwm tus kheej, nws tuaj yeem tsim los siv qhov twg los xij uas haum rau pab pawg ua haujlwm zoo tshaj plaws.
Lawm, programmers yuav tsum tau siv ceev faj thaum xaiv lub moj khaum rau software qhov project lawv yog tus saib xyuas, thiab kev sab laj nrog lwm pab pawg tseem ceeb heev qhia.
Txawm li cas los xij, tsis muaj lub caij nyoog uas koj yuav raug yuam kom siv cov txheej txheem qub txeeg qub teg rau lub sijhawm ntawm lub app lub neej.
Cons ntawm Micro Frontend
Complex Web tshuaj ntsuam xyuas nyob rau hauv nws tag nrho
Kev ntsuam xyuas lub vev xaib cov kev daws teeb meem ntau yam yog ib qho yooj yim thaum nws siv micro-frontend architecture. Nws txawv ntawm kev ntsuam xyuas ib daim ntawv thov lub vev xaib tag nrho, txawm li cas los xij.
Xyuas kom tseeb tias txhua qhov chaw ua haujlwm raws li npaj ua ntej txuas mus ntxiv. Qhov no yuav nyuaj vim tias micro frontends ua haujlwm ntawm nws tus kheej thiab muaj cov txheej txheem xa khoom sib cais.
Kev nqis peev uas kim heev
Micro frontend kev txhim kho feem ntau xav tau nyiaj txiag ntau heev. Nws yog kim los sib sau ua ke thiab khaws ntau pab pawg pem hauv ntej.
Tsis tas li ntawd, koj yuav xav tau cov neeg ua haujlwm tswj hwm los npaj txoj haujlwm, xyuas kom txhua yam kev sib koom tes, thiab lav kev sib txuas lus zoo hauv pab pawg.
Lub complexity ntawm txoj kev loj hlob thiab xa mus
Cov txheej txheem kev txhim kho thiab kev xa tawm tuaj yeem dhau los ua qhov nyuaj vim yog qhov tsim ntawm micro-frontend.
Ib qho kev daws teeb meem tuaj yeem cuam tshuam nrog ntau yam khoom los ntawm pab pawg txhim kho ywj pheej ua haujlwm ntawm tib txoj haujlwm, piv txwv li, uas tuaj yeem ua rau muaj teeb meem ntawm kev xa mus.
Txoj cai sib dhos ntawm tag nrho cov modules thiab lawv cov kev sib koom ua ke du rau hauv lub tswv yim tag nrho kuj tsis yog ib txwm yooj yim; txoj haujlwm no feem ntau xav tau kev nkag siab zoo ntawm txhua qhov kev vam meej.
Teeb meem tswj kev sib koom ua ke hauv cov neeg siv kev paub
Kev tswj hwm tus neeg siv kev sib raug zoo yog qhov nyuaj thaum pab pawg ua haujlwm sib cais ntawm ntau qhov chaw ntawm software.
Cov kev daws teeb meem hauv lub vev xaib yuav tsum tau muab qhia los ntawm txhua qhov project tus tsim tawm. Txwv tsis pub, tuaj yeem muaj ntau qhov kev tsis sib haum xeeb ntawm txoj kev.
xaus
Micro frontends, ib tug niaj hnub architectural tsim, tuaj yeem txhim kho kev ua tau zoo ntawm kev loj hlob microservice-based web development projects.
Nws ua rau cov programmers faib cov kev daws teeb meem ua tiav rau hauv qhov sib cais uas tuaj yeem tsim los ntawm ntau pab pawg tswj hwm. Ntau cov txiaj ntsig ua raws li qhov no, suav nrog kev nthuav tawm sai dua, kev sim yooj yim ntawm tus kheej cov qauv, thiab kev hloov kho tsis sib haum.
Tab sis muaj qee qhov teeb meem nrog micro frontends thiab.
Piv txwv li, ib daim ntawv thov kev sim ua tiav, tuaj yeem nyuaj.
Tsis tas li ntawd, vim hais tias ib pab pawg loj ntawm engineers thiab cov thawj coj xav tau, micro frontend tej yaam num yog kim heev.
Yog li ntawd, ua ntej los txiav txim siab, koj yuav tsum coj mus rau hauv tus account tag nrho cov ntsiab lus ntawm koj cov ntaub ntawv lag luam.
Vladimír Čamaj
Ua li cas kuv tsis nkag siab txog lub hauv paus ntsiab lus ntawm kev sib txuas lus ntawm tus kheej cov khoom nyob rau pem hauv ntej ua haujlwm. Kuv tsis nkag siab li cas koj xav txuas cov khoom uas tau tsim nyob rau hauv ntau lub moj khaum. Tsis muaj ib yam dab tsi hauv tsab xov xwm txog nws. Cov txheej xwm ntawm cov xwm txheej thiab cov neeg mloog zoo li ntuj raug txim hauv ntiaj teb rau kuv. Peb yuav xav li cas txog nws?