మీరు ఆఫ్లైన్లో ఉన్నప్పుడు కూడా కొన్ని వెబ్సైట్లు ఎలా పని చేస్తున్నాయని మీరు ఎప్పుడైనా ఆలోచించారా? రహస్యం సులభం: ఈ వెబ్సైట్లలో సేవా కార్యకర్తలు ఉన్నారు.
ఆధునిక వెబ్ అప్లికేషన్ల యొక్క అనేక స్థానిక యాప్-వంటి లక్షణాల వెనుక సేవా కార్మికులు కీలక సాంకేతికత.
సేవా కార్మికులు అంటే ఏమిటి?
సేవా కార్మికులు ఒక ప్రత్యేక రకం జావాస్క్రిప్ట్ వెబ్ కార్మికులు . సర్వీస్ వర్కర్ అనేది ప్రాక్సీ సర్వర్ లాగా పనిచేసే JavaScript ఫైల్. ఇది మీ అప్లికేషన్ నుండి అవుట్గోయింగ్ నెట్వర్క్ అభ్యర్థనలను క్యాచ్ చేస్తుంది, అనుకూల ప్రతిస్పందనలను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, మీరు కాష్ చేసిన ఫైల్లను వినియోగదారు ఆఫ్లైన్లో ఉన్నప్పుడు వారికి అందించవచ్చు.
సేవా కార్యకర్తలు మీ వెబ్ అప్లికేషన్లకు బ్యాక్గ్రౌండ్ సింక్ వంటి ఫీచర్లను జోడించడానికి కూడా మిమ్మల్ని అనుమతిస్తారు.
సేవా కార్మికులు ఎందుకు?
వెబ్ డెవలపర్లు చాలా కాలంగా తమ యాప్ల సామర్థ్యాలను విస్తరించేందుకు ప్రయత్నిస్తున్నారు. సేవా కార్మికులు వచ్చే ముందు, మీరు దీన్ని సాధ్యం చేయడానికి వివిధ పరిష్కారాలను ఉపయోగించవచ్చు. ముఖ్యంగా గుర్తించదగినది AppCache, ఇది కాషింగ్ వనరులను సౌకర్యవంతంగా చేసింది. దురదృష్టవశాత్తూ, ఇది చాలా యాప్లకు ఆచరణ సాధ్యం కాని పరిష్కారంగా చేసిన సమస్యలను కలిగి ఉంది.
AppCache మంచి ఆలోచనగా అనిపించింది, ఎందుకంటే ఇది నిజంగా సులభంగా కాష్ చేయడానికి ఆస్తులను పేర్కొనడానికి మిమ్మల్ని అనుమతించింది. అయినప్పటికీ, మీరు ఏమి చేయడానికి ప్రయత్నిస్తున్నారనే దాని గురించి ఇది చాలా అంచనాలను రూపొందించింది మరియు మీ యాప్ సరిగ్గా ఆ అంచనాలను అనుసరించనప్పుడు భయంకరంగా విరిగిపోయింది. జేక్ ఆర్చిబాల్డ్ చదవండి (దురదృష్టవశాత్తూ-శీర్షిక ఉంది కానీ బాగా వ్రాయబడింది) అప్లికేషన్ కాష్ ఒక డౌచెబ్యాగ్ మరిన్ని వివరాల కోసం. (మూలం: MDN )
AppCache వంటి సాంకేతిక లోపాలు లేకుండా వెబ్ యాప్ల పరిమితులను తగ్గించడానికి సేవా కార్యకర్తలు ప్రస్తుత ప్రయత్నం.
సేవా కార్మికుల కోసం కేసులను ఉపయోగించండి
కాబట్టి సేవా కార్యకర్తలు మిమ్మల్ని ఖచ్చితంగా ఏమి అనుమతిస్తారు? మీ వెబ్ అప్లికేషన్కు స్థానిక యాప్ల లక్షణం అయిన ఫీచర్లను జోడించడానికి సేవా కార్యకర్తలు మిమ్మల్ని అనుమతిస్తారు. సర్వీస్ వర్కర్లకు సపోర్ట్ చేయని పరికరాలలో వారు సాధారణ అనుభవాన్ని కూడా అందించగలరు. ఇలాంటి యాప్లను కొన్నిసార్లు అంటారు ప్రోగ్రెసివ్ వెబ్ యాప్లు (PWAలు) .
సేవా కార్మికులు సాధ్యమయ్యే కొన్ని లక్షణాలు ఇక్కడ ఉన్నాయి:
నేను నా దగ్గర కుక్కపిల్లని ఎక్కడ కొనగలను
- వినియోగదారు ఇంటర్నెట్కి కనెక్ట్ కానప్పుడు యాప్ను (లేదా కనీసం దానిలోని భాగాలనైనా) ఉపయోగించడాన్ని అనుమతించడం. అభ్యర్థనలకు ప్రతిస్పందనగా కాష్ చేయబడిన ఆస్తులను అందించడం ద్వారా సేవా కార్మికులు దీనిని సాధిస్తారు.
- Chromium-ఆధారిత బ్రౌజర్లలో, వెబ్ యాప్ను ఇన్స్టాల్ చేయడానికి అవసరమైన వాటిలో సర్వీస్ వర్కర్ ఒకటి.
- మీ వెబ్ అప్లికేషన్ పుష్ నోటిఫికేషన్లను అమలు చేయడానికి సేవా కార్యకర్తలు అవసరం.
సేవా కార్యకర్త యొక్క జీవితచక్రం
సేవా కార్యకర్తలు మొత్తం సైట్ కోసం అభ్యర్థనలను లేదా సైట్ పేజీలలో కొంత భాగాన్ని మాత్రమే నియంత్రించవచ్చు. నిర్దిష్ట వెబ్పేజీలో ఒక సక్రియ సేవా కార్యకర్త మాత్రమే ఉంటారు మరియు సేవా కార్యకర్తలందరూ ఈవెంట్-ఆధారిత జీవితచక్రాన్ని కలిగి ఉంటారు. సేవా కార్యకర్త యొక్క జీవితచక్రం సాధారణంగా ఇలా ఉంటుంది:
- కార్మికుని నమోదు మరియు డౌన్లోడ్. JavaScript ఫైల్ దానిని నమోదు చేసినప్పుడు సేవా కార్యకర్త యొక్క జీవితం ప్రారంభమవుతుంది. రిజిస్ట్రేషన్ విజయవంతమైతే, సర్వీస్ వర్కర్ డౌన్లోడ్ చేసి, ఆపై ప్రత్యేక థ్రెడ్లో అమలు చేయడం ప్రారంభిస్తాడు.
- సేవా కార్యకర్తచే నియంత్రించబడే పేజీ లోడ్ అయినప్పుడు, సేవా కార్యకర్త 'ఇన్స్టాల్' ఈవెంట్ను అందుకుంటారు. ఇది ఎల్లప్పుడూ సేవా కార్యకర్త స్వీకరించే మొదటి ఈవెంట్, మరియు మీరు ఈ ఈవెంట్ కోసం వర్కర్లో వినేవారిని సెటప్ చేయవచ్చు. సేవా కార్యకర్తకు అవసరమైన ఏవైనా వనరులను పొందేందుకు మరియు/లేదా కాష్ చేయడానికి 'ఇన్స్టాల్' ఈవెంట్ సాధారణంగా ఉపయోగించబడుతుంది.
- సర్వీస్ వర్కర్ ఇన్స్టాల్ చేయడం పూర్తయిన తర్వాత, అది 'యాక్టివేట్' ఈవెంట్ను అందుకుంటుంది. మునుపటి సేవా కార్మికులు ఉపయోగించిన అనవసరమైన వనరులను శుభ్రం చేయడానికి ఈ ఈవెంట్ కార్మికుడిని అనుమతిస్తుంది. మీరు సర్వీస్ వర్కర్ని అప్డేట్ చేస్తుంటే, యాక్టివేట్ ఈవెంట్ సురక్షితంగా ఉన్నప్పుడు మాత్రమే పని చేస్తుంది. సర్వీస్ వర్కర్ యొక్క పాత సంస్కరణను ఉపయోగించి ఇప్పటికీ లోడ్ చేయబడిన పేజీలు లేవు.
- ఆ తర్వాత, సర్వీస్ వర్కర్ విజయవంతంగా నమోదు చేయబడిన తర్వాత లోడ్ చేయబడిన అన్ని పేజీలపై పూర్తి నియంత్రణను కలిగి ఉంటారు.
- జీవితచక్రం యొక్క చివరి దశ రిడెండెన్సీ, ఇది సేవా కార్యకర్త తీసివేయబడినప్పుడు లేదా కొత్త సంస్కరణతో భర్తీ చేయబడినప్పుడు సంభవిస్తుంది.
జావాస్క్రిప్ట్లో సర్వీస్ వర్కర్లను ఎలా ఉపయోగించాలి
సర్వీస్ వర్కర్ API ( MDN ) జావాస్క్రిప్ట్లో సేవా కార్యకర్తలను సృష్టించడానికి మరియు వారితో పరస్పర చర్య చేయడానికి మిమ్మల్ని అనుమతించే ఇంటర్ఫేస్ను అందిస్తుంది.