విషయ సూచిక[దాచు][చూపండి]
మైక్రోసర్వీసెస్ ఆలోచన ఇటీవల చాలా దృష్టిని ఆకర్షించింది మరియు పెద్ద, ఏకశిలా బ్యాకెండ్లను తొలగించడానికి అనేక సంస్థలు దీనిని ఉపయోగిస్తున్నాయి.
వెబ్ యాప్ల యొక్క సర్వర్ వైపు ఈ పంపిణీ పద్ధతి పరిశోధన మరియు అమలు పరంగా ఎక్కువ లేదా తక్కువ విశ్వసనీయంగా ఉన్నప్పటికీ, ఫ్రంటెండ్తో అదే మార్గంలో వెళ్లడం ఇప్పటికీ అనేక వ్యాపారాలకు సవాలుగా ఉంది.
దాని దగ్గరి ఆధారపడటం కారణంగా, క్లయింట్-సైడ్ మోనోలిత్ సాధారణంగా కొత్త ఫీచర్లను ఏకీకృతం చేయడం, కొత్త సాంకేతికతలను స్వీకరించడం మరియు వ్యక్తిగత భాగాలను స్కేల్ చేయడం కష్టతరం చేస్తుంది.
ఇవి మరియు ఇతర సవాళ్లు మైక్రోసర్వీస్లను ఉపయోగించి దర్యాప్తు చేయడానికి ఫ్రంటెండ్ డెవలపర్లను ప్రేరేపించాయి.
ఫలితంగా, వెబ్సైట్లు మరియు వెబ్ ఆధారిత అప్లికేషన్ల ఫ్రంట్-ఎండ్ లేయర్ను రూపొందించడానికి మైక్రో ఫ్రంటెండ్ అని పిలువబడే సరికొత్త నిర్మాణ వ్యూహం అభివృద్ధి చేయబడింది.
ఈ పదం మొదట 2016లో ఉపయోగించబడింది మరియు అప్పటి నుండి, ఇది మంచి కారణం కోసం చాలా దృష్టిని ఆకర్షించింది.
ఈ కథనం మైక్రో ఫ్రంటెండ్లు అంటే ఏమిటి మరియు అవి పరిష్కరించే సమస్యల గురించి సాధారణ అవగాహనను ఇస్తుంది. ఇది పని చేస్తోంది, అలాగే లాభాలు మరియు నష్టాలు.
మైక్రో ఫ్రంట్ ఎండ్ ఆర్కిటెక్చర్ పరిచయం
మైక్రో-ఫ్రంటెండ్ ఆర్కిటెక్చర్ అని పిలువబడే ఫ్రంట్-ఎండ్ డెవలప్మెంట్ యొక్క సమకాలీన పద్ధతి విభజిస్తుంది a వెబ్ అప్లికేషన్ చిన్న, స్వతంత్ర భాగాలుగా.
తుది వినియోగదారుకు, ఈ భాగాలు స్వతంత్రంగా నిర్మించబడినప్పటికీ మరియు ఒకదానితో ఒకటి కలిపినప్పటికీ ఒక యూనిట్గా కనిపిస్తాయి.
మైక్రో ఫ్రంటెండ్లు ఆన్లైన్ సొల్యూషన్ల యొక్క సర్వర్ వైపు కాకుండా క్లయింట్ వైపుకు సంబంధించిన వ్యత్యాసంతో, వాటికి అంతర్లీనంగా ఉన్న హేతుబద్ధత మైక్రోసర్వీస్లకు సమానంగా ఉంటుంది.
మైక్రో ఫ్రంటెండ్ విధానాన్ని ఉపయోగిస్తున్నప్పుడు అధునాతన వెబ్ ఆధారిత ఉత్పత్తులను తయారు చేయడం చాలా అర్ధవంతంగా ఉంటుంది.
మైక్రో ఫ్రంటెండ్లు, మరింత సంప్రదాయ ఫ్రంట్-ఎండ్ మోనోలిత్కు విరుద్ధంగా, అనేక బృందాలు వివిధ సాఫ్ట్వేర్ ప్రాజెక్ట్లపై విడివిడిగా సహకరించడానికి వీలు కల్పిస్తాయి.
ప్రోగ్రామర్లు ఈ ఆర్కిటెక్చరల్ డిజైన్ని ఉపయోగించి వెబ్ యాప్లను మరింత త్వరగా మరియు ఎక్కువ స్కేలబిలిటీ మరియు మెయింటెనబిలిటీతో సృష్టించగలరు.
సరళంగా చెప్పాలంటే, ప్రతి మైక్రో ఫ్రంటెండ్ వెబ్ పేజీలోని ఒక ప్రత్యేక భాగం కోసం కోడ్ యొక్క భాగం.
ఈ లక్షణాలు ప్రత్యేక బృందాలచే నియంత్రించబడతాయి, వీటిలో ప్రతి ఒక్కటి నిర్దిష్ట పరిశ్రమ లేదా లక్ష్యంలో ప్రత్యేకత కలిగి ఉంటాయి.
మోనోలిథిక్ vs మైక్రోసర్వీసెస్ vs మైక్రో ఫ్రంటెండ్ ఆర్కిటెక్చర్
మార్చడం గురించి ఆలోచించండి. మీరు ప్రతిదీ చిన్న, నైపుణ్యంతో లేబుల్ చేయబడిన పెట్టెలుగా నిర్వహించడం మరియు ఒక్కొక్కటిగా మార్చడం లేదా మొత్తం సిబ్బందిని ఒక అపారమైన పెట్టెలో ప్యాక్ చేసి కొత్త ప్రదేశానికి రవాణా చేయడం సులభం అవుతుందా?
స్పష్టమైన పరిష్కారం ఉంది.
ఈ సారూప్యత రెండు విభిన్న వెబ్ యాప్ ఆర్కిటెక్చర్లు, మోనోలిత్లు మరియు మైక్రోసర్వీస్లను (మైక్రో ఫ్రంటెండ్లు అని కూడా పిలుస్తారు) పోల్చింది.
మోనోలిథిక్ ఆర్కిటెక్చర్
పూర్తి అప్లికేషన్ను ఒకే, సమ్మిళిత సంస్థగా సృష్టించినప్పుడు మీరు "మంచి పాత రోజులు" గుర్తుకు తెచ్చుకోవచ్చు. ఇటువంటి పద్ధతిని మోనోలిత్ అని పిలుస్తారు, ఇది పెద్ద రాతి బ్లాక్ కోసం పాత పదం.
ఇది అర్ధమే.
ఏకశిలా వ్యవస్థలు పరస్పర ఆధారిత అంశాలను కలిగి ఉంటాయి. అందువల్ల, మీరు ఏదైనా సవరించాలనుకుంటే లేదా కొత్త ఫీచర్ను జోడించాలనుకుంటే, మొత్తం సిస్టమ్ విచ్ఛిన్నం అయ్యే అవకాశం ఉంది.
ఇది వాడుకలో లేనప్పటికీ, అప్పుడప్పుడు ఇప్పటికీ ఉంది. అవును, మీ ప్రస్తుత వ్యక్తీకరణ గురించి మాకు తెలుసు.
కోడ్బేస్ యొక్క సంభావిత విభజన రెండు వేర్వేరు భాగాలుగా - ఫ్రంటెండ్ (క్లయింట్ వైపు) మరియు బ్యాకెండ్ (సర్వర్ వైపు) - కొత్త సాంకేతికతలు అభివృద్ధి చెందడంతో మరియు సాఫ్ట్వేర్ ఉత్పత్తులు మరింత క్లిష్టంగా మారడంతో అనివార్యమైంది.
ప్రస్తుతం అత్యంత ప్రజాదరణ పొందిన ఆపరేషన్ పద్ధతి ఏమిటంటే, తుది వినియోగదారు పరస్పర చర్య చేసే ప్రెజెంటేషన్ లేయర్ మరియు నేపథ్యంలో జరిగే ప్రతిదాని మధ్య ఆందోళనలను వేరు చేయడం.
దీనికి రెండు సాఫ్ట్వేర్ ఇంజనీరింగ్ బృందాలు అవసరం, ఫ్రంట్-ఎండ్ బృందం విజువల్ కాంపోనెంట్లను నిర్మిస్తుంది మరియు బ్యాక్-ఎండ్ టీమ్ వెబ్ సేవలు, బిజినెస్ లాజిక్, డేటా యాక్సెస్, ఇంటిగ్రేషన్లు మొదలైన వాటిని నిర్మిస్తుంది.
అయినప్పటికీ, ఈ విభజన ఉన్నప్పటికీ, ఈ వ్యూహం ఇప్పటికీ స్వభావంతో ఏకశిలాగానే ఉంది.
ప్రధాన మార్పు ఏమిటంటే, ఇప్పుడు మనకు రెండు పెద్ద సంఖ్యలో కోడ్ బ్లాక్లు ఉన్నాయి-ఫ్రంటెండ్ మరియు బ్యాకెండ్-ఒక అపారమైన అప్లికేషన్కు బదులుగా. ఏకశిలా నిర్మాణాలు భయంకరంగా ఉండవలసిన అవసరం లేదు; వాటితో సహా కొన్ని ప్రయోజనాలు ఉన్నాయి
- ఒకే సోర్స్ కోడ్బేస్ మరియు చాలా సులభమైన డిజైన్తో చిన్న అప్లికేషన్ల కోసం సరళమైన మరియు శీఘ్ర అభివృద్ధి;
- టెస్టింగ్ మరియు డీబగ్గింగ్ చాలా సూటిగా ఉంటాయి ఎందుకంటే కోడ్ మొత్తం ఒకే చోట ఉంటుంది, దీని వలన బృందం అభ్యర్థన యొక్క ప్రవాహాన్ని ట్రాక్ చేయడం మరియు బగ్లను గుర్తించడం సులభం చేస్తుంది;
- అప్లికేషన్ యొక్క అభివృద్ధి ప్రారంభంలో, కొత్త ఫీచర్లు జోడించబడే వరకు మౌలిక సదుపాయాల ఖర్చులు లేదా అభివృద్ధి ఖర్చులు ఉండవు కాబట్టి ఖర్చులు చౌకగా ఉంటాయి.
ఈ వ్యూహం యొక్క ప్రతికూలతలు ప్రతిబింబిస్తాయి
- నియంత్రిత విస్తరణ సౌలభ్యం - ప్రాజెక్ట్లో కొంతమంది మాత్రమే పని చేస్తుంటే బృందాలు వేచి ఉండాలి మరియు మీరు కోడ్ను అప్డేట్ చేసిన ప్రతిసారీ కొత్త విస్తరణ అవసరం;
- కొత్త సాంకేతికతలను స్వీకరించడం సవాలుగా ఉంది, ఎందుకంటే అలా చేయడం వలన మొత్తం ప్రాజెక్ట్ కాకపోయినా, గణనీయమైన భాగాన్ని తిరిగి వ్రాయడం అవసరం.
- డెవలపర్ల సంఖ్య పెరిగినప్పుడు, కోడ్ వ్యవస్థ దగ్గరి అనుసంధానం అవుతుంది, సంక్లిష్టంగా ఉంటుంది మరియు నిర్వహించడం మరియు అర్థం చేసుకోవడం కష్టమవుతుంది.
- సంస్థాగత సమస్యలు - ప్రతి బృంద సభ్యుడు తప్పనిసరిగా ఒకే రకమైన లైబ్రరీలను ఉపయోగించాలి మరియు అనేక బృందాలు ఏకశిలా ప్రాజెక్ట్లో పని చేస్తున్నట్లయితే ఏవైనా మార్పులను నివేదించాలి.
- స్కేలబిలిటీకి సంబంధించిన ఆందోళనలు – ప్రాజెక్ట్ యొక్క భాగాలు ఒకదానితో ఒకటి అనుసంధానించబడినందున, వాటిని విడిగా స్కేలింగ్ చేయడం వలన గణనీయమైన పనికిరాని సమయం మరియు అధిక వ్యయాలకు దారితీసే ఇబ్బందులు ఎదురవుతాయి.
- ప్రాజెక్ట్ యొక్క సంక్లిష్ట తర్కాన్ని కొత్త బృంద సభ్యులకు అర్థం చేసుకోవడం కష్టంగా ఉంటుంది, ప్రత్యేకించి దానిపై మొదట పనిచేసిన ఇంజనీర్లు ఇకపై పని చేయకపోతే.
మైక్రోసర్వీస్లు మరియు వాటి దగ్గరి బంధువులు మరియు మైక్రో ఫ్రంటెండ్ల అభివృద్ధి, ఏకశిలా వ్యవస్థలతో ప్రాథమిక సమస్యలను పరిష్కరించింది.
మైక్రోసర్వీస్ ఆర్కిటెక్చర్
మైక్రోసర్వీసెస్ అని పిలువబడే నిర్మాణ పద్ధతి అనువర్తన బ్యాకెండ్ను రూపొందించే అనేక వదులుగా అనుసంధానించబడిన మరియు స్వతంత్రంగా అమలు చేయగల చిన్న భాగాలు లేదా సేవలను సృష్టించడానికి అనుమతిస్తుంది.
ప్రతి సేవకు దాని స్వంత కోడ్బేస్, CI/CD పైప్లైన్లు, DevOps విధానాలు మరియు వాటిని అమలు చేయడానికి ప్రాసెస్లు ఉంటాయి.
పై చిత్రాన్ని చూడటం ద్వారా ఏకశిలా బ్యాకెండ్ బృందం ప్రత్యేక బృందాలుగా విభజించబడిందని మీరు చూడవచ్చు.
ప్రతి ఒక్కటి అప్లికేషన్లోని విభిన్నమైన అంశంపై (ఉత్పత్తి సేవ, శోధన సేవ మరియు చెల్లింపు సేవ వంటివి) వ్యక్తిగతంగా దృష్టి పెడుతుంది.
సమకాలిక అభ్యర్థన-ప్రత్యుత్తర నమూనాలను ఉపయోగించే తేలికపాటి REST API ప్రోటోకాల్ వంటి APIలు అని పిలువబడే ఏర్పాటు చేయబడిన ప్రోటోకాల్ల ద్వారా సేవల మధ్య కమ్యూనికేషన్ జరుగుతుంది.
కాఫ్కా వంటి సాఫ్ట్వేర్ను ఉపయోగించి అసమకాలిక కమ్యూనికేషన్ను ఉపయోగించడం మరొక ఎంపిక, ఇది కమ్యూనికేషన్ నిర్మాణాలు మరియు ఈవెంట్లను ప్రచురించడం/చందా చేస్తుంది.
మైక్రోసర్వీస్లు ఫ్రంటెండ్ (BFF) సేవ కోసం బ్యాకెండ్ లేదా నెట్వర్క్ ద్వారా API గేట్వే ద్వారా ఫ్రంటెండ్తో అనుసంధానించబడతాయి. BFF ప్రతి క్లయింట్కు అనుకూలీకరించిన APIని అందిస్తుంది, అయితే API గేట్వేలు మైక్రోసర్వీస్ల సేకరణ కోసం ఒకే పాయింట్ యాక్సెస్ను అందిస్తాయి.
కానీ స్వయంప్రతిపత్త బ్యాకెండ్ భాగాలు మరియు అవి అందించే అన్ని ప్రయోజనాలు ఉన్నప్పటికీ, ఫ్రంటెండ్ ఇప్పటికీ ఏకశిలాగా ఉంటుంది.
అందువల్ల, ఇక్కడే మైక్రో ఫ్రంటెండ్లు ఉపయోగపడతాయి.
మైక్రో ఫ్రంటెండ్స్ ఆర్కిటెక్చర్
మైక్రోసర్వీస్ల మాదిరిగానే, వదులుగా లింక్ చేయబడిన భాగాలు అనేక బృందాలచే నిర్వహించబడతాయి, మైక్రో ఫ్రంటెండ్ ఆర్కిటెక్చర్ బ్రౌజర్కు భావనను వర్తింపజేస్తుంది.
ఈ వెబ్ అప్లికేషన్ యూజర్ ఇంటర్ఫేస్లు కొంతవరకు స్వయంప్రతిపత్తి కలిగిన భాగాలను కలిగి ఉండే ఈ నిర్మాణాన్ని అనుసరిస్తాయి.
ప్రత్యేక నైపుణ్యం లేదా సాంకేతికత కంటే క్లయింట్ అవసరాలు లేదా వినియోగ కేసులపై కూడా బృందాలు సృష్టించబడతాయి.
పర్యవసానంగా, బృందాలు మైక్రోసర్వీస్ మరియు మైక్రో ఫ్రంటెండ్ ప్రాజెక్ట్లలో పాల్గొంటాయి.
- నిలువుగా ముక్కలు చేయబడినవి — ఫ్రంటెండ్ డెవలపర్లు, డేటా నిపుణులు, బ్యాకెండ్ ఇంజనీర్లు, QA ఇంజనీర్లు మొదలైనవారు కూడా అదే ప్రాజెక్ట్లో పనిచేస్తున్నందున, వారు తమ ఫీచర్లను దీని నుండి సృష్టిస్తారు. వినియోగ మార్గము డేటాబేస్లకు; మరియు
- క్రాస్-ఫంక్షనల్ - ప్రతి బృంద సభ్యుడు తమ నైపుణ్యాన్ని సమూహానికి అందజేస్తారు.
జట్లు వారి నిర్దిష్ట వ్యాపార శ్రేణికి బాగా సరిపోయే టెక్ స్టాక్ను కూడా ఎంచుకోవచ్చు.
ఒక బృందం దాని భాగాన్ని ప్రోగ్రామ్ చేయడానికి రియాక్ట్ని ఉపయోగించవచ్చు. మరొక బృందం కొత్త కోణీయ సంస్కరణను సృష్టిస్తుంది. Vue.js అటువంటి ఉదాహరణ.
అభివృద్ధి బృందాలు సాధారణంగా మోనోలిత్లతో కలిగి ఉన్న సమస్యలను పరిష్కరించడానికి సంబంధిత మైక్రోసర్వీస్లతో కలిపి మైక్రో ఫ్రంటెండ్లు ఉపయోగించబడతాయి. వ్యూహం క్రింది ప్రయోజనాలను అందిస్తుంది.
- సాంకేతిక స్వేచ్ఛ: ఫ్రంటెండ్ ఇంజనీర్లు కంపెనీ అవసరాలను బట్టి ప్రత్యామ్నాయ జావాస్క్రిప్ట్ ఫ్రేమ్వర్క్లు, రన్టైమ్ ఎన్విరాన్మెంట్లు మరియు మొత్తం టెక్నాలజీ స్టాక్లను ఎంచుకోవచ్చు. పాత ఆర్కిటెక్చర్ పైన, తాజా ఫ్రేమ్వర్క్ వర్తించవచ్చు.
- ప్రతి మైక్రో ఫ్రంటెండ్ స్వీయ-నియంత్రణను కలిగి ఉంటుంది మరియు విడిగా అభివృద్ధి చేయవచ్చు, పరీక్షించవచ్చు, అమలు చేయవచ్చు మరియు అప్గ్రేడ్ చేయవచ్చు కాబట్టి ఎక్కువ స్థాయిలో వశ్యత సాధ్యమవుతుంది. ఫలితంగా, ఒక బృందం ఒక ఫీచర్పై పని చేస్తున్నట్లయితే మరియు బగ్ పరిష్కారాన్ని ముందుకు తెచ్చినట్లయితే మరియు మరొక బృందం దాని స్వంత ఫీచర్ను జోడించాల్సి వస్తే, మొదటి బృందం వారి పనిని పూర్తి చేయడానికి వారు వేచి ఉండాల్సిన అవసరం లేదు.
- స్వయంప్రతిపత్త బృందాలు మరియు వ్యవస్థలు: ప్రతి ఉత్పత్తి బృందం మరియు తత్ఫలితంగా ప్రతి ఫీచర్, ఇతరులపై తక్కువ ఆధారపడకుండా పని చేయగలదు, ఇది సమీపంలోని భాగాలు అందుబాటులో లేనప్పుడు కూడా పని చేయడం కొనసాగించడానికి వీలు కల్పిస్తుంది.
- బహుళ, చిన్న కోడ్బేస్లు: మైక్రో ఫ్రంటెండ్లలో ప్రతి దాని స్వంత, మరింత నిర్వహించదగిన, చిన్న కోడ్బేస్ ఉంటుంది. తక్కువ మంది వ్యక్తులు నిర్దిష్ట UI భాగంపై దృష్టి పెడతారు, కోడ్ సమీక్షలను సరళీకృతం చేస్తారు మరియు మొత్తం సంస్థను మెరుగుపరుస్తారు.
- సాధారణ అనువర్తన స్కేలింగ్: మైక్రో ఫ్రంటెండ్ల యొక్క మరొక ప్రయోజనం ఏమిటంటే ప్రతి లక్షణాన్ని వ్యక్తిగతంగా స్కేల్ చేయగల సామర్థ్యం. మోనోలిత్లకు విరుద్ధంగా, కొత్త ఫీచర్ని జోడించిన ప్రతిసారీ మొత్తం ప్రోగ్రామ్ స్కేల్ చేయబడాలి, ఇది సమయం మరియు డబ్బు రెండింటి పరంగా మొత్తం ప్రక్రియను మరింత సమర్థవంతంగా చేస్తుంది.
మైక్రో ఫ్రంటెండ్ ఎలా పని చేస్తుంది?
మేము ఇంతకు ముందు చెప్పినట్లుగా, జట్లు మైక్రో ఫ్రంటెండ్ ఆర్కిటెక్చర్లో నిలువుగా నిర్వహించబడతాయి, అంటే అవి డొమైన్ పరిజ్ఞానం లేదా ప్రయోజనం ద్వారా వేరు చేయబడతాయి మరియు నిర్దిష్ట ఉత్పత్తికి మొదటి నుండి ముగింపు వరకు బాధ్యత వహిస్తాయి.
ఇది ఒకటి లేదా రెండు బ్యాకెండ్ మైక్రోసర్వీస్లతో పాటు చిన్న ఫ్రంటెండ్ను కలిగి ఉంటుంది. మరింత వివరంగా, ఈ విజువల్ ఎలిమెంట్ యొక్క లక్షణాలు, ఇతర UI కాంపోనెంట్లతో ఇంటరాక్షన్లు మరియు హోమ్పేజీలో పొందుపరచడాన్ని పరిశీలిద్దాం.
మైక్రో ఫ్రంటెండ్ కావచ్చు
- మొత్తం పేజీ (ఉదా, ఉత్పత్తి వివరాల పేజీ) లేదా
- హెడర్లు, ఫుటర్లు మరియు సెర్చ్ బార్లు వంటి ఇతర బృందాలు ఉపయోగించగల పేజీ విభాగాలు.
మీరు ఒక పెద్ద వెబ్సైట్ను అనేక పేజీ రకాలుగా విభజించి, ప్రతి రకాన్ని నిర్దిష్ట సిబ్బందికి పని చేయడానికి ఇవ్వవచ్చు.
అయినప్పటికీ, హెడర్లు, ఫుటర్లు, సజెషన్ బ్లాక్లు మొదలైన అనేక పేజీలలో అనేక భాగాలు తరచుగా కనిపిస్తాయి. ఉదాహరణకు, సూచన బ్లాక్ని హోమ్పేజీ, ఉత్పత్తి వివరాల పేజీ లేదా చెక్అవుట్ పేజీలో కూడా చేర్చవచ్చు.
సారాంశంలో, జట్లు ఇతర జట్లు తమ పేజీలలో ఉపయోగించగల ముక్కలను సృష్టించగలవు.
మైక్రో ఫ్రంటెండ్లు, అయితే, పునర్వినియోగ భాగాలకు భిన్నంగా వేర్వేరు ప్రాజెక్ట్లుగా విడిగా అమర్చవచ్చు.
ఇవన్నీ అద్భుతంగా అనిపిస్తాయి, కానీ ఏకీకృత ఇంటర్ఫేస్ను సృష్టించడానికి, పేజీలు మరియు శకలాలు ఏదో ఒకవిధంగా కలపాలి.
దీనికి ఫ్రంటెండ్ ఇంటిగ్రేషన్ అవసరం, ఇది రౌటింగ్, కంపోజిషన్ మరియు కమ్యూనికేషన్తో సహా అనేక రకాల వ్యూహాల ద్వారా సాధించబడుతుంది (పైన ఉన్న గ్రాఫిక్ చూడండి).
రూటింగ్
ఒక బృందంచే నియంత్రించబడే పేజీ నుండి సేవ మరొక బృందం యాజమాన్యంలోని పేజీని యాక్సెస్ చేయడానికి అవసరమైనప్పుడు, పేజీ-స్థాయి ఏకీకరణకు రూటింగ్ ఉపయోగపడుతుంది.
ప్రతి మైక్రో ఫ్రంటెండ్ ఒకే పేజీ అప్లికేషన్గా నిర్వహించబడుతుంది. రూటింగ్ అందించడానికి సాధారణ HTML లింక్లను ఉపయోగించవచ్చు.
ఒక వినియోగదారు సర్వర్ నుండి లక్ష్య మార్కప్ను డౌన్లోడ్ చేయమని మరియు హైపర్లింక్లపై క్లిక్ చేయడం ద్వారా ప్రస్తుత పేజీని కొత్త దానితో భర్తీ చేయమని బ్రౌజర్ని నిర్బంధించవచ్చు.
యాప్ షెల్ అనేది UIకి శక్తినిచ్చే కనీస HTML, CSS మరియు JavaScript. సర్వర్ నుండి అభ్యర్థించిన కంటెంట్ డేటా ఇప్పటికీ వేచి ఉన్నప్పటికీ, వినియోగదారు వెంటనే స్థిరంగా ప్రదర్శించబడిన పేజీని అందుకుంటారు. వివిధ బృందాలు సృష్టించిన సింగిల్-పేజీ యాప్ల కోసం సెంట్రల్ యాప్ షెల్ పేరెంట్ అప్లికేషన్గా పనిచేస్తుంది.
ఉపయోగించబడుతున్న లైబ్రరీ లేదా ఫ్రేమ్వర్క్తో సంబంధం లేకుండా, మెటా-ఫ్రేమ్వర్క్లు వివిధ పేజీల కలయికను ఒకే ఒకటిగా ఎనేబుల్ చేస్తాయి.
కూర్పు
కంపోజిషన్ అనేది ముక్కలను పేజీలోని తగిన ఖాళీలకు సరిపోయేలా అమర్చే ప్రక్రియ. చాలా సందర్భాలలో, పేజీని అమలు చేసే బృందం ఆ భాగం యొక్క కంటెంట్ను వెంటనే పొందదు.
బదులుగా, ఇది ఒక ప్లేస్హోల్డర్ లేదా మార్కర్ను ఉంచుతుంది, అక్కడ భాగం మార్కప్లో ఉండాలి.
వేరే కంపోజింగ్ ప్రక్రియను ఉపయోగించి, చివరి అసెంబ్లీ పూర్తి చేయబడుతుంది. కూర్పును రెండు ప్రాథమిక వర్గాలుగా విభజించవచ్చు: క్లయింట్ వైపు మరియు సర్వర్ వైపు.
క్లయింట్ వైపు కూర్పు: HTML మార్కప్ని సృష్టించడానికి మరియు సవరించడానికి వెబ్ బ్రౌజర్ ఉపయోగించబడుతుంది. ప్రతి మైక్రో ఫ్రంటెండ్ దాని మార్కప్ను మిగిలిన పేజీ నుండి వేరుగా మార్చగల మరియు చూపించగల సామర్థ్యాన్ని కలిగి ఉంటుంది.
వెబ్ భాగాలు, ఉదాహరణకు, ఈ రకమైన నిర్మాణాన్ని నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తాయి.
ప్రతి భాగాన్ని a.js ఫైల్గా స్వతంత్రంగా ఇన్స్టాల్ చేయగల వెబ్ కాంపోనెంట్గా మార్చడం ప్లాన్, ఆ తర్వాత యాప్లు థీమ్ లేఅవుట్లో వాటి కోసం కేటాయించిన స్పేస్లలో వాటిని లోడ్ చేసి రెండర్ చేయవచ్చు.
వెబ్ భాగాలు HTML మరియు DOM APIపై ఆధారపడి ఉంటాయి, వీటిని ఇతర ఫ్రంటెండ్ ఫ్రేమ్వర్క్లు ఉపయోగించవచ్చు, అలాగే ఆధారాలు మరియు ఈవెంట్ల ద్వారా డేటాను పంపడం మరియు స్వీకరించడం యొక్క ప్రామాణిక పద్ధతి.
సర్వర్ వైపు కూర్పు: ఈ డిజైన్తో, UI ముక్కలు సర్వర్లో మిళితం చేయబడతాయి, దీని ఫలితంగా పూర్తిగా ఏర్పడిన పేజీ క్లయింట్ వైపుకు పంపబడుతుంది, లోడ్ అవుతోంది.
అసెంబ్లీ తరచుగా వెబ్ బ్రౌజర్ మరియు వెబ్ సర్వర్ల మధ్య ఉండే ప్రత్యేక సేవ ద్వారా నిర్వహించబడుతుంది. CDN అనేది సేవ యొక్క ఒక ఉదాహరణ (కంటెంట్ డెలివరీ నెట్వర్క్).
మీరు మీ అవసరాలను బట్టి ఒకటి లేదా రెండింటి కలయికను ఎంచుకోవచ్చు.
మైక్రో ఫ్రంటెండ్ కమ్యూనికేషన్ నమూనాలు
వివిధ భాగాల మధ్య పరస్పర చర్య తక్కువగా ఉన్నప్పుడు మైక్రో-ఫ్రంటెండ్ ఆర్కిటెక్చర్ ఉత్తమంగా పనిచేస్తుంది. మైక్రో ఫ్రంటెండ్లు అప్పుడప్పుడు ఒకరితో ఒకరు మాట్లాడుకోవాలి మరియు సమాచారాన్ని పంచుకోవాలి. దానికి దారితీసే కొన్ని సంభావ్య నమూనాలు ఇక్కడ ఉన్నాయి.
- వెబ్ కార్మికులు: ఆన్లైన్ వర్కర్ అనేది ఇతర స్క్రిప్ట్లతో సంబంధం లేకుండా జావాస్క్రిప్ట్ను బ్యాక్గ్రౌండ్లో అమలు చేయడానికి మరియు పేజీ యొక్క వేగాన్ని ప్రభావితం చేయకుండా వెబ్ కంటెంట్ను అమలు చేసే మెకానిజం. ప్రతి మైక్రో యాప్కు ప్రత్యేకమైన వర్కర్ API అందించబడుతుంది. ఈ ప్రయోజనం ఏమిటంటే, సమయం తీసుకునే పనిని వేరొక థ్రెడ్లో చేయవచ్చు, UI థ్రెడ్ను నెమ్మదించకుండా లేదా ఆపివేయకుండా కొనసాగించడానికి వీలు కల్పిస్తుంది.
- ఈవెంట్ ఉద్గారిణి: ఈ సందర్భంలో, అనేక భాగాలు అవి సబ్స్క్రయిబ్ చేయబడిన భాగాలలో ఏదైనా స్థితి మార్పులను వినడం మరియు వాటిపై చర్య తీసుకోవడం ద్వారా ఒకదానితో ఒకటి సంభాషించుకుంటాయి. మైక్రో ఫ్రంటెండ్ ఆ ఈవెంట్ను కాల్చినప్పుడు ఆ నిర్దిష్ట ఈవెంట్కు సభ్యత్వం పొందిన ఇతర మైక్రో ఫ్రంటెండ్లు ప్రతిస్పందిస్తాయి. ప్రతి మైక్రో ఫ్రంటెండ్లో ప్రవేశపెట్టబడిన ఈవెంట్ ఉద్గారిణి దీనిని సాధ్యమయ్యేలా చేస్తుంది.
- కాల్బ్యాక్లు మరియు ఆధారాలు: ఈ విభాగంలో, మీరు పేరెంట్ కాంపోనెంట్ మరియు చైల్డ్ కాంపోనెంట్లను నిర్వచించారు. కమ్యూనికేషన్ చెట్టు లాంటి నిర్మాణంలో నిర్వహించబడుతుంది. పేరెంట్ కాంపోనెంట్లు డేటాను కాంపోనెంట్ ట్రీ నుండి చైల్డ్ కాంపోనెంట్లకు ఫంక్షన్లుగా తెలియజేయడానికి ప్రాప్లను ఉపయోగిస్తాయి. ప్రతిగా, పిల్లవాడు కాల్బ్యాక్లకు ప్రతిస్పందించడం ద్వారా వారి రాష్ట్రంలో ఏదైనా సంభవించినప్పుడు తల్లిదండ్రులను సమర్థవంతంగా అప్రమత్తం చేయవచ్చు. రియాక్ట్ ఈ మోడ్ను ఉపయోగిస్తుంది.
మైక్రో ఫ్రంటెండ్ యొక్క ప్రోస్
వేగంగా స్వయంప్రతిపత్తి కలిగిన జట్లలో అభివృద్ధి
మైక్రో ఫ్రంటెండ్ పద్ధతిని ఉపయోగిస్తున్నప్పుడు ఒక స్వతంత్ర బృందం వెబ్ యాప్ లేదా వెబ్సైట్లోని ప్రతి భాగాన్ని సృష్టించగలదు.
ప్రతి బృందం పూర్తిగా స్వయంప్రతిపత్తి కలిగి ఉంటుంది, అంటే ఇది భావన నుండి విడుదల మరియు పోస్ట్-ప్రొడక్షన్ వరకు మొత్తం కాంపోనెంట్ డెవలప్మెంట్ సైకిల్కు బాధ్యత వహిస్తుంది.
అదనంగా, ఒకే ప్రాజెక్ట్లో ఏకకాలంలో పని చేస్తున్నప్పుడు వివిధ బృందాలు సజావుగా సహకరించగలవని ఇది సూచిస్తుంది.
అందువల్ల, విడుదల చక్రాలు ఫ్రంట్-ఎండ్ మోనోలిత్ల కంటే చాలా వేగంగా ఉంటాయి.
వ్యక్తిగత మైక్రో ఫ్రంటెండ్ల యొక్క చిన్న కోడ్బేస్లు క్లీనర్ కోడ్కు దారితీస్తాయి
మోనోలిథిక్ ఫ్రంట్ ఎండ్లు పెద్దగా, విపరీతమైన కోడ్బేస్లను కలిగి ఉంటాయి, ఇవి కాలక్రమేణా అస్తవ్యస్తంగా మరియు సవాలుగా మారతాయి.
మైక్రో ఫ్రంటెండ్లు ఈ సమస్యను పరిష్కరిస్తాయి. ప్రతి మైక్రో ఫ్రంటెండ్ యొక్క సోర్స్ కోడ్ చిన్నది, సరళమైనది మరియు మరింత కాంపాక్ట్ అయినందున మరింత నిర్వహించదగినది.
పర్యవసానంగా క్లీనర్ కోడ్ నుండి మొత్తం వెబ్ పరిష్కారం ప్రయోజనం పొందుతుంది.
లూస్ కప్లింగ్ కారణంగా మెరుగైన యాప్ స్థిరత్వం
ఒక వెబ్ పరిష్కారాన్ని చాలా అరుదుగా పూర్తిగా స్వతంత్ర ముక్కలుగా విభజించవచ్చు. పర్యవసానంగా, మైక్రో ఫ్రంటెండ్లు ఒకదానితో ఒకటి మాట్లాడతాయి.
ఏది ఏమైనప్పటికీ, వదులుగా ఉన్న కనెక్టివిటీ ఉన్నప్పటికీ భాగాల మధ్య ప్రతి లింక్ ముఖ్యమైనది.
ఒక భాగం యొక్క వైఫల్యం అన్ని ఇతర భాగాల ఆపరేషన్పై ఎటువంటి ప్రభావాన్ని చూపదు, ఇది వెబ్ పరిష్కారం యొక్క మెరుగైన స్థిరత్వాన్ని అందిస్తుంది.
వ్యక్తిగత ఫీచర్లను పరీక్షించడం మరింత సరళమైనది
ఈ ప్రయోజనం మైక్రో ఫ్రంటెండ్ల లక్షణాల నుండి వస్తుంది. ఈ ఆర్కిటెక్చరల్ డిజైన్ ఆధారంగా, వెబ్ సొల్యూషన్ యొక్క క్లయింట్ వైపు మాడ్యులర్ మరియు ప్రతి మాడ్యూల్ స్వయంప్రతిపత్తి కలిగి ఉంటుంది.
ఫలితంగా, ఒక భారీ ఏకశిలాను పరీక్షించడం కంటే వినియోగదారు ఇంటర్ఫేస్లోని చిన్న భాగాన్ని స్వయంగా మూల్యాంకనం చేయడం బృందం కోసం సులభం.
తగ్గిన బండిల్ పరిమాణం త్వరగా పేజీ లోడ్కు దారితీస్తుంది
ఫీచర్-రిచ్ మోనోలిథిక్ వెబ్ సిస్టమ్లలో జావాస్క్రిప్ట్ బండిల్ పరిమాణం ఆలస్యం అయ్యే ప్రధాన కారణాలలో ఒకటి. మరొక వైపు, మైక్రో ఫ్రంటెండ్ విధానం పేజీ లోడ్ సమయాన్ని తగ్గించడాన్ని సులభతరం చేస్తుంది.
వెబ్ పేజీ అనేక చిన్న బండిల్లతో రూపొందించబడినందున బ్రౌజర్ అనవసరమైన కోడ్ను పదేపదే డౌన్లోడ్ చేయవలసిన అవసరం లేదు. ఫలితంగా, పేజీ పనితీరు మరియు లోడ్ సమయాలు పెరుగుతాయి.
సాంకేతిక స్వాతంత్ర్యం
బహుళ ఫ్రంట్-ఎండ్ ఫ్రేమ్వర్క్లు మైక్రో ఫ్రంటెండ్ ఆర్కిటెక్చర్తో ఒకే ఆన్లైన్ పరిష్కారాన్ని రూపొందించడానికి డెవలపర్లు ఉపయోగించవచ్చు.
ప్రతి భాగం స్వయంప్రతిపత్తి కలిగి ఉంటుంది కాబట్టి, టీమ్ టాస్క్లకు సరిపోయే సాంకేతికతను ఉపయోగించి దీన్ని నిర్మించవచ్చు.
సహజంగానే, ప్రోగ్రామర్లు వారు బాధ్యత వహించే సాఫ్ట్వేర్ ప్రాజెక్ట్ కోసం ఫ్రేమ్వర్క్లను ఎన్నుకునేటప్పుడు జాగ్రత్త వహించాలి మరియు ఇతర బృందాలతో సంప్రదింపులు ఇప్పటికీ గట్టిగా సూచించబడతాయి.
అయితే, యాప్ జీవితకాలం పాటు మీరు లెగసీ ఫ్రేమ్వర్క్ని ఉపయోగించాల్సి వచ్చే అవకాశం శూన్యం.
మైక్రో ఫ్రంటెండ్ యొక్క ప్రతికూలతలు
కాంప్లెక్స్ వెబ్ సొల్యూషన్ టెస్టింగ్ పూర్తిగా
మైక్రో ఫ్రంటెండ్ ఆర్కిటెక్చర్ని ఉపయోగించినప్పుడు వెబ్ సొల్యూషన్ యొక్క వివిధ మాడ్యూల్లను పరీక్షించడం సులభం. ఇది వెబ్ అప్లికేషన్ను మొత్తంగా అంచనా వేయడానికి భిన్నంగా ఉంటుంది.
కొనసాగించడానికి ముందు అన్ని భాగాలు ఉద్దేశించిన విధంగా పనిచేస్తాయని ధృవీకరించండి. మైక్రో ఫ్రంటెండ్లు స్వతంత్రంగా పనిచేస్తాయి మరియు ప్రత్యేక డెలివరీ ప్రక్రియలను కలిగి ఉన్నందున ఇది కష్టంగా ఉండవచ్చు.
ఖరీదైన ప్రారంభ పెట్టుబడులు
మైక్రో ఫ్రంటెండ్ డెవలప్మెంట్లు సాధారణంగా గణనీయమైన ఆర్థిక వ్యయాలను డిమాండ్ చేస్తాయి. అనేక ఫ్రంట్-ఎండ్ జట్లను సమీకరించడం మరియు ఉంచడం ఖరీదైనది.
అదనంగా, ఉద్యోగాన్ని నిర్వహించడానికి, ప్రతిదీ సమన్వయంతో ఉందని మరియు అద్భుతమైన టీమ్ కమ్యూనికేషన్కు హామీ ఇవ్వడానికి మీకు నిర్వహణ సిబ్బంది అవసరం.
అభివృద్ధి మరియు విస్తరణ యొక్క సంక్లిష్టత
మైక్రో ఫ్రంటెండ్ డిజైన్ ఫలితంగా అభివృద్ధి మరియు విస్తరణ విధానాలు మరింత క్లిష్టంగా మారతాయి.
అదే ప్రాజెక్ట్లో పనిచేసే స్వతంత్ర అభివృద్ధి బృందాల ద్వారా చాలా భాగాలతో ఒక పరిష్కారం చిందరవందరగా ఉండవచ్చు, ఉదాహరణకు, ఇది విస్తరణ దశలో సమస్యలను కలిగిస్తుంది.
అన్ని మాడ్యూల్స్ యొక్క సరైన అసెంబ్లీ మరియు మొత్తం పథకంలో వాటి మృదువైన ఏకీకరణ కూడా ఎల్లప్పుడూ సులభం కాదు; ఈ పని సాధారణంగా అన్ని డిపెండెన్సీల గురించి సమగ్ర అవగాహన అవసరం.
వినియోగదారు అనుభవంలో సమన్వయాన్ని కొనసాగించడంలో సమస్యలు
సాఫ్ట్వేర్లోని అనేక భాగాలపై బృందాలు విడివిడిగా పని చేస్తున్నప్పుడు స్థిరమైన వినియోగదారు ఇంటర్ఫేస్ను నిర్వహించడం సవాలుగా ఉంటుంది.
వెబ్ పరిష్కారాన్ని ప్రాజెక్ట్ డెవలపర్లందరూ షేర్ చేయాలి. లేకపోతే, రహదారి వెంట చాలా వైరుధ్యాలు ఉండవచ్చు.
ముగింపు
మైక్రో ఫ్రంటెండ్లు, సమకాలీన నిర్మాణ రూపకల్పన, పెద్ద-స్థాయి మైక్రోసర్వీస్-ఆధారిత వెబ్ డెవలప్మెంట్ ప్రాజెక్ట్ల పనితీరును బాగా పెంచుతాయి.
ఇది అనేక స్వయంప్రతిపత్త బృందాలచే సృష్టించబడే వివిక్త భాగాలుగా పూర్తి పరిష్కారాన్ని విభజించడానికి ప్రోగ్రామర్లను అనుమతిస్తుంది. త్వరిత ఫీచర్ రోల్-అవుట్, వ్యక్తిగత మాడ్యూళ్లను సులభంగా పరీక్షించడం మరియు మరిన్ని అతుకులు లేని అప్గ్రేడ్లతో సహా అనేక ప్రయోజనాలు దీని నుండి అనుసరిస్తాయి.
కానీ మైక్రో ఫ్రంటెండ్లతో కూడా కొన్ని ఇబ్బందులు ఉన్నాయి.
అప్లికేషన్ యొక్క సమగ్ర పరీక్ష, ఉదాహరణకు, సవాలుగా ఉండవచ్చు.
అదనంగా, ఇంజనీర్లు మరియు నిర్వాహకుల పెద్ద బృందం అవసరం కాబట్టి, మైక్రో ఫ్రంటెండ్ ప్రాజెక్ట్లు చాలా ఖరీదైనవి.
పర్యవసానంగా, ఒక నిర్ణయానికి వచ్చే ముందు, మీరు మీ వ్యాపార కేసు యొక్క అన్ని భాగాలను పరిగణనలోకి తీసుకోవాలి.
వ్లాదిమిర్ కమాజ్
ఫ్రంటెండ్లోని వ్యక్తిగత భాగాల మధ్య కమ్యూనికేషన్ ఏ సూత్రంపై పనిచేస్తుందో నాకు అర్థం కాలేదు. విభిన్న ఫ్రేమ్వర్క్లలో సృష్టించబడిన భాగాలను మీరు ఎలా కనెక్ట్ చేయాలనుకుంటున్నారో నాకు అర్థం కాలేదు. దాని గురించి వ్యాసంలో ఏమీ లేదు. సంఘటనలు మరియు శ్రోతల వ్యవస్థ నాకు భూమిపై నరకంలా కనిపిస్తోంది. మనం దానిని ఎలా ఊహించుకోవాలి?