சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சியைப் புரிந்துகொண்டு நிர்வகிப்பதற்கான ஒரு முழுமையான வழிகாட்டி. இதில் நிறுவுதல், செயல்படுத்துதல், மற்றும் புதுப்பித்தல் உத்திகள் அடங்கும்.
சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சியில் தேர்ச்சி பெறுதல்: நிறுவுதல், செயல்படுத்துதல் மற்றும் புதுப்பித்தல் உத்திகள்
சர்வீஸ் வொர்க்கர்கள் முற்போக்கு வலைப் பயன்பாடுகளின் (PWAs) ஒரு மூலக்கல்லாகும், இது ஆஃப்லைன் செயல்பாடு, புஷ் அறிவிப்புகள் மற்றும் பின்னணி ஒத்திசைவு போன்ற சக்திவாய்ந்த அம்சங்களை செயல்படுத்துகிறது. சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சியை - நிறுவுதல், செயல்படுத்துதல் மற்றும் புதுப்பித்தல்கள் - புரிந்துகொள்வது, வலுவான மற்றும் ஈர்க்கக்கூடிய வலை அனுபவங்களை உருவாக்குவதற்கு முக்கியமானது. இந்த விரிவான வழிகாட்டி ஒவ்வொரு கட்டத்தையும் ஆராய்ந்து, பயனுள்ள சர்வீஸ் வொர்க்கர் நிர்வாகத்திற்கான நடைமுறை எடுத்துக்காட்டுகள் மற்றும் உத்திகளை வழங்கும்.
சர்வீஸ் வொர்க்கர் என்றால் என்ன?
சர்வீஸ் வொர்க்கர் என்பது ஒரு ஜாவாஸ்கிரிப்ட் கோப்பு ஆகும், இது முக்கிய உலாவி த்ரெட்டிலிருந்து தனித்தனியாக பின்னணியில் இயங்குகிறது. இது வலைப் பயன்பாடு, உலாவி மற்றும் நெட்வொர்க் ஆகியவற்றுக்கு இடையே ஒரு ப்ராக்ஸியாக செயல்படுகிறது. இது சர்வீஸ் வொர்க்கர்களை நெட்வொர்க் கோரிக்கைகளை இடைமறிக்கவும், ஆதாரங்களை கேச் செய்யவும், மற்றும் பயனர் ஆஃப்லைனில் இருக்கும்போதும் உள்ளடக்கத்தை வழங்கவும் அனுமதிக்கிறது.
இதை உங்கள் வலைப் பயன்பாட்டின் ஆதாரங்களுக்கான ஒரு வாயிற்காப்போனாக நினையுங்கள். இது நெட்வொர்க்கிலிருந்து தரவைப் பெறுவதா, கேச்சிலிருந்து வழங்குவதா, அல்லது முற்றிலும் ஒரு பதிலை உருவாக்குவதா என்பதை தீர்மானிக்க முடியும்.
சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சி: ஒரு விரிவான கண்ணோட்டம்
சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சி மூன்று முதன்மை நிலைகளைக் கொண்டுள்ளது:
- நிறுவுதல்: சர்வீஸ் வொர்க்கர் பதிவு செய்யப்பட்டு அதன் ஆரம்ப கேச்சிங் செய்யப்படுகிறது.
- செயல்படுத்துதல்: சர்வீஸ் வொர்க்கர் வலைப்பக்கத்தின் கட்டுப்பாட்டை எடுத்துக்கொண்டு நெட்வொர்க் கோரிக்கைகளைக் கையாளத் தொடங்குகிறது.
- புதுப்பித்தல்: சர்வீஸ் வொர்க்கரின் புதிய பதிப்பு கண்டறியப்பட்டு, புதுப்பித்தல் செயல்முறை தொடங்குகிறது.
1. நிறுவுதல்: ஆஃப்லைன் திறன்களுக்குத் தயாராகுதல்
நிறுவுதல் கட்டத்தில் தான் சர்வீஸ் வொர்க்கர் தனது சூழலை அமைத்து, அத்தியாவசிய ஆதாரங்களை கேச் செய்கிறது. முக்கிய படிகளின் ஒரு முறிவு இங்கே:
சர்வீஸ் வொர்க்கரைப் பதிவு செய்தல்
முதல் படி, உங்கள் முக்கிய ஜாவாஸ்கிரிப்ட் கோப்பில் சர்வீஸ் வொர்க்கரைப் பதிவு செய்வதாகும். இது உலாவியை சர்வீஸ் வொர்க்கரைப் பதிவிறக்கம் செய்து நிறுவச் சொல்கிறது.
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(registration) {
console.log('Service Worker registered with scope:', registration.scope);
})
.catch(function(err) {
console.log('Service Worker registration failed:', err);
});
}
இந்தக் குறியீடு உலாவி சர்வீஸ் வொர்க்கர்களை ஆதரிக்கிறதா என்று சரிபார்த்து, பின்னர் /service-worker.js
கோப்பைப் பதிவு செய்கிறது. then()
மற்றும் catch()
முறைகள் முறையே பதிவு செயல்முறையின் வெற்றி மற்றும் தோல்வி நிலைகளைக் கையாளுகின்றன.
install
நிகழ்வு
பதிவுசெய்யப்பட்டவுடன், உலாவி சர்வீஸ் வொர்க்கரில் install
நிகழ்வைத் தூண்டுகிறது. இங்குதான் நீங்கள் பொதுவாக HTML, CSS, ஜாவாஸ்கிரிப்ட் மற்றும் படங்கள் போன்ற அத்தியாவசிய சொத்துக்களை முன்கூட்டியே கேச் செய்வீர்கள். இதோ ஒரு எடுத்துக்காட்டு:
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open('my-site-cache-v1').then(function(cache) {
return cache.addAll([
'/',
'/index.html',
'/style.css',
'/app.js',
'/images/logo.png'
]);
})
);
});
இந்தக் குறியீட்டைப் பிரித்துப் பார்ப்போம்:
self.addEventListener('install', function(event) { ... });
: இதுinstall
நிகழ்விற்கான ஒரு நிகழ்வு கேட்பவரைப் பதிவு செய்கிறது.event.waitUntil( ... );
:waitUntil
உள்ளே உள்ள குறியீடு செயல்படுத்தி முடியும் வரை சர்வீஸ் வொர்க்கர் நிறுவலை முடிக்காது என்பதை இது உறுதி செய்கிறது. உங்கள் கேச்சிங் முழுமையடைவதை உறுதி செய்ய இது முக்கியமானது.caches.open('my-site-cache-v1').then(function(cache) { ... });
: இது 'my-site-cache-v1' என்ற பெயரிடப்பட்ட கேச் சேமிப்பகத்தைத் திறக்கிறது. புதுப்பிப்புகளை கட்டாயப்படுத்த உங்கள் கேச் பெயர்களுக்கு பதிப்பு எண் கொடுங்கள் (இதைப் பற்றி பின்னர் விரிவாக).cache.addAll([ ... ]);
: இது கேச்சில் URLகளின் ஒரு வரிசையை சேர்க்கிறது. இவை ஆஃப்லைனில் கிடைக்கும் ஆதாரங்கள்.
நிறுவலின் போது கருத்தில் கொள்ள வேண்டிய முக்கிய விஷயங்கள்:
- கேச் பதிப்பு எண்: பயனர்கள் உங்கள் சொத்துக்களின் சமீபத்திய பதிப்பைப் பெறுவதை உறுதிசெய்ய கேச் பதிப்பு எண்ணைப் பயன்படுத்தவும். மாற்றங்களை நீங்கள் வரிசைப்படுத்தும்போது கேச் பெயரைப் புதுப்பிக்கவும் (எ.கா., 'my-site-cache-v1' ஐ 'my-site-cache-v2' ஆக மாற்றவும்).
- அத்தியாவசிய ஆதாரங்கள்: நிறுவலின் போது அத்தியாவசிய ஆதாரங்களை மட்டுமே கேச் செய்யவும். குறைவான முக்கியமான சொத்துக்களை பின்னர், இயக்க நேரத்தில் கேச் செய்வதைக் கருத்தில் கொள்ளுங்கள்.
- பிழை கையாளுதல்: கேச்சிங் தோல்விகளை நேர்த்தியாகக் கையாள வலுவான பிழை கையாளுதலைச் செயல்படுத்தவும். நிறுவலின் போது கேச்சிங் தோல்வியுற்றால், சர்வீஸ் வொர்க்கர் செயல்படுத்தப்படாது.
- முற்போக்கான மேம்பாடு: சர்வீஸ் வொர்க்கர் நிறுவத் தவறினாலும் உங்கள் வலைத்தளம் சரியாகச் செயல்பட வேண்டும். அத்தியாவசிய செயல்பாடுகளுக்கு சர்வீஸ் வொர்க்கரை மட்டுமே நம்பியிருக்க வேண்டாம்.
எடுத்துக்காட்டு: சர்வதேச இ-காமர்ஸ் ஸ்டோர்
ஒரு சர்வதேச இ-காமர்ஸ் ஸ்டோரைக் கற்பனை செய்து பாருங்கள். நிறுவலின் போது, நீங்கள் பின்வருவனவற்றை கேச் செய்யலாம்:
- தயாரிப்பு பட்டியல் பக்கத்திற்கான முக்கிய HTML, CSS, மற்றும் ஜாவாஸ்கிரிப்ட்.
- அத்தியாவசிய எழுத்துருக்கள் மற்றும் ஐகான்கள்.
- தயாரிப்பு படங்களுக்கான ஒரு ஒதுக்கிடம் படம் (நெட்வொர்க்கிலிருந்து பெறப்படும் உண்மையான படங்களுடன் மாற்றப்படும்).
- பயனரின் விருப்பமான மொழிக்கான உள்ளூர்மயமாக்கல் கோப்புகள் (கிடைத்தால்).
இந்த ஆதாரங்களை கேச் செய்வதன் மூலம், பயனர்கள் மோசமான அல்லது இணைய இணைப்பு இல்லாத போதும் தயாரிப்புப் பட்டியலை உலாவ முடியும் என்பதை நீங்கள் உறுதிசெய்கிறீர்கள். குறைந்த அலைவரிசை உள்ள பகுதிகளில் உள்ள பயனர்களுக்கு, இது கணிசமாக மேம்பட்ட அனுபவத்தை வழங்குகிறது.
2. செயல்படுத்துதல்: பக்கத்தின் கட்டுப்பாட்டை எடுத்தல்
செயல்படுத்துதல் கட்டத்தில் தான் சர்வீஸ் வொர்க்கர் வலைப்பக்கத்தின் கட்டுப்பாட்டை எடுத்துக்கொண்டு நெட்வொர்க் கோரிக்கைகளைக் கையாளத் தொடங்குகிறது. இது ஒரு முக்கியமான படியாகும், ஏனெனில் இது பழைய கேச்சுகளிலிருந்து தரவை மாற்றுவதையும், காலாவதியான கேச்சுகளை சுத்தம் செய்வதையும் உள்ளடக்கியிருக்கலாம்.
activate
நிகழ்வு
சர்வீஸ் வொர்க்கர் கட்டுப்பாட்டை எடுக்கத் தயாராக இருக்கும்போது activate
நிகழ்வு தூண்டப்படுகிறது. இது இதற்கான நேரம்:
- பழைய கேச்சுகளை நீக்குதல்.
- சர்வீஸ் வொர்க்கரின் நிலையைப் புதுப்பித்தல்.
self.addEventListener('activate', function(event) {
var cacheWhitelist = ['my-site-cache-v2']; // Current cache version
event.waitUntil(
caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(function(cacheName) {
if (cacheWhitelist.indexOf(cacheName) === -1) {
return caches.delete(cacheName);
}
})
);
})
);
});
இந்தக் குறியீடு பின்வருவனவற்றைச் செய்கிறது:
self.addEventListener('activate', function(event) { ... });
:activate
நிகழ்விற்கான ஒரு நிகழ்வு கேட்பவரைப் பதிவு செய்கிறது.var cacheWhitelist = ['my-site-cache-v2'];
: வைத்திருக்க வேண்டிய கேச் பெயர்களின் வரிசையை வரையறுக்கிறது. இது தற்போதைய கேச் பதிப்பை உள்ளடக்க வேண்டும்.caches.keys().then(function(cacheNames) { ... });
: அனைத்து கேச் பெயர்களையும் பெறுகிறது.cacheNames.map(function(cacheName) { ... });
: ஒவ்வொரு கேச் பெயரிலும் மீண்டும் மீண்டும் செயல்படுகிறது.if (cacheWhitelist.indexOf(cacheName) === -1) { ... }
: தற்போதைய கேச் பெயர் வெள்ளைப்பட்டியலில் உள்ளதா என்று சரிபார்க்கிறது. இல்லையென்றால், அது ஒரு பழைய கேச்.return caches.delete(cacheName);
: பழைய கேச்சை நீக்குகிறது.
செயல்படுத்துதலின் போது கருத்தில் கொள்ள வேண்டிய முக்கிய விஷயங்கள்:
- கேச் சுத்தம் செய்தல்: உங்கள் பயன்பாடு அதிகப்படியான சேமிப்பிடத்தை நுகர்வதைத் தடுக்க, செயல்படுத்துதலின் போது எப்போதும் பழைய கேச்சுகளை நீக்கவும்.
- கிளையன்ட் கையகப்படுத்தல்: இயல்பாக, புதிதாக செயல்படுத்தப்பட்ட சர்வீஸ் வொர்க்கர், இருக்கும் கிளையன்ட்களை (வலைப்பக்கங்கள்) மீண்டும் ஏற்றும் வரை அல்லது சர்வீஸ் வொர்க்கரின் வரம்பிற்குள் வேறு பக்கத்திற்குச் செல்லும் வரை கட்டுப்பாட்டை எடுக்காது. நீங்கள்
self.clients.claim()
ஐப் பயன்படுத்தி உடனடி கட்டுப்பாட்டைக் கட்டாயப்படுத்தலாம், ஆனால் பழைய சர்வீஸ் வொர்க்கர் கோரிக்கைகளைக் கையாளುತ್ತிருந்தால் இது எதிர்பாராத நடத்தைக்கு வழிவகுக்கும் என்பதால் எச்சரிக்கையாக இருங்கள். - தரவு இடம்பெயர்வு: உங்கள் பயன்பாடு கேச்சில் சேமிக்கப்பட்ட தரவை நம்பியிருந்தால், செயல்படுத்துதலின் போது இந்தத் தரவை புதிய கேச் வடிவத்திற்கு மாற்ற வேண்டியிருக்கலாம்.
எடுத்துக்காட்டு: செய்தி வலைத்தளம்
ஆஃப்லைனில் படிப்பதற்காக கட்டுரைகளை கேச் செய்யும் ஒரு செய்தி வலைத்தளத்தைக் கவனியுங்கள். செயல்படுத்துதலின் போது, நீங்கள்:
- பழைய கட்டுரைகளைக் கொண்ட பழைய கேச்சுகளை நீக்கலாம்.
- வலைத்தளத்தின் தரவுக் கட்டமைப்பு மாறியிருந்தால், கேச் செய்யப்பட்ட கட்டுரைத் தரவை புதிய வடிவத்திற்கு மாற்றலாம்.
- சமீபத்திய செய்தி வகைகளைப் பிரதிபலிக்கும் வகையில் சர்வீஸ் வொர்க்கரின் நிலையைப் புதுப்பிக்கலாம்.
fetch
நிகழ்வு: நெட்வொர்க் கோரிக்கைகளை இடைமறித்தல்
சர்வீஸ் வொர்க்கரின் வரம்பிற்குள் உலாவி ஒரு நெட்வொர்க் கோரிக்கையைச் செய்யும்போதெல்லாம் fetch
நிகழ்வு தூண்டப்படுகிறது. இங்குதான் சர்வீஸ் வொர்க்கர் கோரிக்கையை இடைமறித்து அதை எவ்வாறு கையாள்வது என்பதைத் தீர்மானிக்க முடியும். பொதுவான உத்திகள் பின்வருமாறு:
- கேச் முதலில்: முதலில் கேச்சிலிருந்து ஆதாரத்தை வழங்க முயற்சிக்கவும். அது கண்டுபிடிக்கப்படவில்லை என்றால், அதை நெட்வொர்க்கிலிருந்து பெற்று எதிர்கால பயன்பாட்டிற்காக கேச் செய்யவும்.
- நெட்வொர்க் முதலில்: முதலில் நெட்வொர்க்கிலிருந்து ஆதாரத்தைப் பெற முயற்சிக்கவும். நெட்வொர்க் கிடைக்கவில்லை என்றால், அதை கேச்சிலிருந்து வழங்கவும்.
- கேச் மட்டும்: எப்போதும் கேச்சிலிருந்து ஆதாரத்தை வழங்கவும். இது மாற வாய்ப்பில்லாத சொத்துக்களுக்குப் பயனுள்ளதாக இருக்கும்.
- நெட்வொர்க் மட்டும்: எப்போதும் நெட்வொர்க்கிலிருந்து ஆதாரத்தைப் பெறவும். இது புதுப்பித்த நிலையில் இருக்க வேண்டிய டைனமிக் உள்ளடக்கத்திற்குப் பயனுள்ளதாக இருக்கும்.
- பழையது-மறுமதிப்பீடு-செய்யும்போது: உடனடியாக கேச்சிலிருந்து ஆதாரத்தை வழங்கிவிட்டு, பின்னர் பின்னணியில் கேச்சைப் புதுப்பிக்கவும். இது கேச் எப்போதும் புதுப்பித்த நிலையில் இருப்பதை உறுதிசெய்யும் அதே வேளையில், வேகமான ஆரம்ப பதிலை வழங்குகிறது.
கேச் முதலில் உத்தியின் ஒரு எடுத்துக்காட்டு இங்கே:
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
// Cache hit - return response
if (response) {
return response;
}
// Not in cache - fetch from network
return fetch(event.request).then(
function(response) {
// Check if we received a valid response
if(!response || response.status !== 200 || response.type !== 'basic') {
return response;
}
// IMPORTANT: Clone the response. A response is a stream
// and because we want the browser to consume the response
// as well as the cache consuming the response, we need
// to clone it so we have two independent copies.
var responseToCache = response.clone();
caches.open('my-site-cache-v1')
.then(function(cache) {
cache.put(event.request, responseToCache);
});
return response;
}
);
})
);
});
விளக்கம்:
caches.match(event.request)
: கோரிக்கை ஏற்கனவே கேச்சில் உள்ளதா என்று சரிபார்க்கிறது.- கேச்சில் காணப்பட்டால் (
response
பூஜ்யமாக இல்லை): கேச் செய்யப்பட்ட பதிலை வழங்குகிறது. - காணப்படவில்லை என்றால்:
fetch(event.request)
: நெட்வொர்க்கிலிருந்து ஆதாரத்தைப் பெறுகிறது.- பதிலைச் சரிபார்க்கிறது (நிலை குறியீடு, வகை).
response.clone()
: பதிலை நகலெடுக்கிறது (ஒரு பதிலை ஒரு முறை மட்டுமே படிக்க முடியும் என்பதால் இது தேவைப்படுகிறது).- நகலெடுக்கப்பட்ட பதிலை கேச்சில் சேர்க்கிறது.
- அசல் பதிலை உலாவிக்குத் திருப்பி அனுப்புகிறது.
சரியான fetch உத்தியைத் தேர்ந்தெடுப்பது உங்கள் பயன்பாட்டின் குறிப்பிட்ட தேவைகள் மற்றும் கோரப்படும் ஆதார வகையைப் பொறுத்தது. பின்வரும் காரணிகளைக் கருத்தில் கொள்ளுங்கள்:
- புதுப்பிப்புகளின் அதிர்வெண்: ஆதாரம் எவ்வளவு அடிக்கடி மாறுகிறது?
- நெட்வொர்க் நம்பகத்தன்மை: பயனரின் இணைய இணைப்பு எவ்வளவு நம்பகமானது?
- செயல்திறன் தேவைகள்: வேகமான ஆரம்ப பதிலை வழங்குவது எவ்வளவு முக்கியம்?
எடுத்துக்காட்டு: சமூக ஊடக பயன்பாடு
ஒரு சமூக ஊடக பயன்பாட்டில், வெவ்வேறு வகையான உள்ளடக்கங்களுக்கு வெவ்வேறு fetch உத்திகளைப் பயன்படுத்தலாம்:
- பயனர் சுயவிவரப் படங்கள்: கேச் முதலில் (சுயவிவரப் படங்கள் ஒப்பீட்டளவில் அடிக்கடி மாறாததால்).
- செய்தி ஓடை: நெட்வொர்க் முதலில் (பயனர்கள் சமீபத்திய புதுப்பிப்புகளைப் பார்ப்பதை உறுதிசெய்ய). ஒரு மென்மையான அனுபவத்திற்காக இது Stale-While-Revalidate உடன் இணைக்கப்படலாம்.
- நிலையான சொத்துக்கள் (CSS, ஜாவாஸ்கிரிப்ட்): கேச் மட்டும் (இவை பொதுவாக பதிப்பு எண் இடப்பட்டு அரிதாகவே மாறுவதால்).
3. புதுப்பித்தல்: உங்கள் சர்வீஸ் வொர்க்கரை தற்போதையதாக வைத்திருத்தல்
சர்வீஸ் வொர்க்கர் கோப்பில் ஒரு மாற்றத்தை உலாவி கண்டறியும்போது சர்வீஸ் வொர்க்கர்கள் தானாகவே புதுப்பிக்கப்படும். இது பொதுவாக பயனர் வலைத்தளத்தை மீண்டும் பார்வையிடும்போது அல்லது உலாவி பின்னணியில் புதுப்பிப்புகளைச் சரிபார்க்கும்போது நிகழ்கிறது.
புதுப்பிப்புகளைக் கண்டறிதல்
தற்போதைய சர்வீஸ் வொர்க்கர் கோப்பை ஏற்கனவே பதிவுசெய்யப்பட்டவற்றுடன் ஒப்பிடுவதன் மூலம் உலாவி புதுப்பிப்புகளைச் சரிபார்க்கிறது. கோப்புகள் வேறுபட்டால் (ஒரு பைட் அளவு வேறுபட்டாலும்), உலாவி அதை ஒரு புதுப்பிப்பாகக் கருதுகிறது.
புதுப்பித்தல் செயல்முறை
ஒரு புதுப்பிப்பு கண்டறியப்பட்டால், உலாவி பின்வரும் படிகளைக் கடந்து செல்கிறது:
- புதிய சர்வீஸ் வொர்க்கர் கோப்பைப் பதிவிறக்குகிறது.
- புதிய சர்வீஸ் வொர்க்கரை நிறுவுகிறது (அதைச் செயல்படுத்தாமல்). பழைய சர்வீஸ் வொர்க்கர் பக்கத்தைக் கட்டுப்படுத்துகிறது.
- பழைய சர்வீஸ் வொர்க்கரால் கட்டுப்படுத்தப்படும் அனைத்து தாவல்களும் மூடப்படும் வரை காத்திருக்கிறது.
- புதிய சர்வீஸ் வொர்க்கரைச் செயல்படுத்துகிறது.
இந்த செயல்முறை புதுப்பிப்புகள் சீராகவும் பயனரின் அனுபவத்தை சீர்குலைக்காமலும் பயன்படுத்தப்படுவதை உறுதி செய்கிறது.
புதுப்பிப்புகளை கட்டாயப்படுத்துதல்
உலாவி புதுப்பிப்புகளைத் தானாகவே கையாண்டாலும், நீங்கள் ஒரு புதுப்பிப்பைக் கட்டாயப்படுத்த விரும்பும் சூழ்நிலைகள் உள்ளன. உங்கள் சர்வீஸ் வொர்க்கரில் முக்கியமான மாற்றங்களைச் செய்திருந்தால் அல்லது அனைத்து பயனர்களும் சமீபத்திய பதிப்பை இயக்குவதை உறுதிசெய்ய விரும்பினால் இது பயனுள்ளதாக இருக்கும்.
ஒரு புதுப்பிப்பைக் கட்டாயப்படுத்துவதற்கான ஒரு வழி, உங்கள் சர்வீஸ் வொர்க்கரில் skipWaiting()
முறையைப் பயன்படுத்துவதாகும். இது புதிய சர்வீஸ் வொர்க்கரை காத்திருப்பு கட்டத்தைத் தவிர்த்து உடனடியாகச் செயல்படுத்தச் சொல்கிறது.
self.addEventListener('install', function(event) {
event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', function(event) {
event.waitUntil(self.clients.claim());
});
பழைய சர்வீஸ் வொர்க்கரால் கட்டுப்படுத்தப்படும் கிளையன்ட்கள் (வலைப்பக்கங்கள்) இருந்தாலும், skipWaiting()
புதிய சர்வீஸ் வொர்க்கரை உடனடியாகச் செயல்படுத்த கட்டாயப்படுத்துகிறது. பின்னர் clients.claim()
புதிய சர்வீஸ் வொர்க்கரை அந்த இருக்கும் கிளையன்ட்களின் கட்டுப்பாட்டை எடுக்க அனுமதிக்கிறது.
எச்சரிக்கை: பழைய மற்றும் புதிய சர்வீஸ் வொர்க்கர்கள் பொருந்தாததாக இருந்தால் skipWaiting()
மற்றும் clients.claim()
ஐப் பயன்படுத்துவது எதிர்பாராத நடத்தைக்கு வழிவகுக்கும். பொதுவாக இந்த முறைகளைத் தேவைப்படும்போது மட்டுமே பயன்படுத்தவும், உங்கள் புதுப்பிப்புகளை முன்கூட்டியே முழுமையாகச் சோதிக்கவும் பரிந்துரைக்கப்படுகிறது.
புதுப்பித்தல் உத்திகள்
சர்வீஸ் வொர்க்கர் புதுப்பிப்புகளை நிர்வகிப்பதற்கான சில உத்திகள் இங்கே:
- தானியங்கி புதுப்பிப்புகள்: உலாவியின் தானியங்கி புதுப்பிப்பு பொறிமுறையை நம்பியிருங்கள். இது எளிமையான அணுகுமுறை மற்றும் பெரும்பாலான பயன்பாடுகளுக்கு நன்றாக வேலை செய்கிறது.
- பதிப்பு எண் இடப்பட்ட கேச்சுகள்: பயனர்கள் உங்கள் சொத்துக்களின் சமீபத்திய பதிப்பைப் பெறுவதை உறுதிசெய்ய கேச் பதிப்பு எண்ணைப் பயன்படுத்தவும். உங்கள் பயன்பாட்டின் புதிய பதிப்பை நீங்கள் வரிசைப்படுத்தும்போது, உங்கள் சர்வீஸ் வொர்க்கரில் கேச் பெயரைப் புதுப்பிக்கவும். இது உலாவியை புதிய சர்வீஸ் வொர்க்கரைப் பதிவிறக்கி நிறுவ கட்டாயப்படுத்தும்.
- பின்னணி புதுப்பிப்புகள்: பின்னணியில் கேச்சைப் புதுப்பிக்க Stale-While-Revalidate உத்தியைப் பயன்படுத்தவும். இது கேச் எப்போதும் புதுப்பித்த நிலையில் இருப்பதை உறுதிசெய்யும் அதே வேளையில், வேகமான ஆரம்ப பதிலை வழங்குகிறது.
- கட்டாயப் புதுப்பிப்புகள் (எச்சரிக்கையுடன்): ஒரு புதுப்பிப்பைக் கட்டாயப்படுத்த
skipWaiting()
மற்றும்clients.claim()
ஐப் பயன்படுத்தவும். இந்த உத்தியை குறைவாகவும் தேவைப்படும்போது மட்டுமே பயன்படுத்தவும்.
எடுத்துக்காட்டு: உலகளாவிய பயண முன்பதிவு தளம்
பல மொழிகளையும் நாணயங்களையும் ஆதரிக்கும் ஒரு உலகளாவிய பயண முன்பதிவு தளத்திற்கு, பயனர்கள் எப்போதும் சமீபத்திய தகவல் மற்றும் அம்சங்களுக்கான அணுகலைக் கொண்டிருப்பதை உறுதிசெய்ய ஒரு வலுவான புதுப்பிப்பு உத்தி தேவைப்படும். சாத்தியமான அணுகுமுறைகள்:
- பயனர்கள் எப்போதும் மிகச் சமீபத்திய மொழிபெயர்ப்புகள், நாணய மாற்று விகிதங்கள் மற்றும் முன்பதிவு முறை புதுப்பிப்புகளைப் பெறுவதை உறுதிசெய்ய பதிப்பு எண் இடப்பட்ட கேச்சுகளைப் பயன்படுத்தவும்.
- ஹோட்டல் விளக்கங்கள் மற்றும் பயண வழிகாட்டிகள் போன்ற முக்கியமற்ற தரவுகளுக்கு பின்னணி புதுப்பிப்புகளை (Stale-While-Revalidate) பயன்படுத்தவும்.
- ஒரு பெரிய புதுப்பிப்பு கிடைக்கும்போது பயனர்களுக்கு அறிவிக்கும் ஒரு பொறிமுறையைச் செயல்படுத்தவும், அவர்கள் சமீபத்திய பதிப்பை இயக்குவதை உறுதிசெய்ய பக்கத்தைப் புதுப்பிக்கத் தூண்டவும்.
சர்வீஸ் வொர்க்கர்களை பிழைதிருத்தம் செய்தல்
சர்வீஸ் வொர்க்கர்களை பிழைதிருத்தம் செய்வது சவாலானதாக இருக்கலாம், ஏனெனில் அவை பின்னணியில் இயங்குகின்றன மற்றும் கன்சோலுக்கான வரையறுக்கப்பட்ட அணுகலைக் கொண்டுள்ளன. இருப்பினும், நவீன உலாவி டெவலப்பர் கருவிகள் சர்வீஸ் வொர்க்கர்களை திறம்பட பிழைதிருத்தம் செய்ய உதவும் பல அம்சங்களை வழங்குகின்றன.
Chrome DevTools
Chrome DevTools சர்வீஸ் வொர்க்கர்களை ஆய்வு செய்ய ஒரு பிரத்யேகப் பகுதியை வழங்குகிறது. அதை அணுக:
- Chrome DevTools ஐத் திறக்கவும் (Ctrl+Shift+I அல்லது Cmd+Opt+I).
- "Application" தாவலுக்குச் செல்லவும்.
- இடது கை மெனுவில் "Service Workers" ஐத் தேர்ந்தெடுக்கவும்.
சர்வீஸ் வொர்க்கர்ஸ் பிரிவில், நீங்கள்:
- உங்கள் சர்வீஸ் வொர்க்கரின் நிலையைப் பார்க்கலாம் (இயங்குகிறது, நிறுத்தப்பட்டது, நிறுவப்பட்டது).
- சர்வீஸ் வொர்க்கரைப் பதிவு நீக்கம் செய்யலாம்.
- சர்வீஸ் வொர்க்கரைப் புதுப்பிக்கலாம்.
- சர்வீஸ் வொர்க்கரின் கேச் சேமிப்பகத்தை ஆய்வு செய்யலாம்.
- சர்வீஸ் வொர்க்கரின் கன்சோல் பதிவுகளைப் பார்க்கலாம்.
- பிரேக் பாயிண்ட்கள் மற்றும் ஸ்டெப்-த்ரூ பிழைதிருத்தம் ஆகியவற்றைப் பயன்படுத்தி சர்வீஸ் வொர்க்கரை பிழைதிருத்தம் செய்யலாம்.
Firefox Developer Tools
Firefox Developer Tools சர்வீஸ் வொர்க்கர்களை பிழைதிருத்தம் செய்வதற்கான சிறந்த ஆதரவையும் வழங்குகிறது. அதை அணுக:
- Firefox Developer Tools ஐத் திறக்கவும் (Ctrl+Shift+I அல்லது Cmd+Opt+I).
- "Application" தாவலுக்குச் செல்லவும்.
- இடது கை மெனுவில் "Service Workers" ஐத் தேர்ந்தெடுக்கவும்.
Firefox Developer Tools, Chrome DevTools போன்ற அம்சங்களை வழங்குகிறது, இதில் சர்வீஸ் வொர்க்கரின் நிலை, கேச் சேமிப்பகம், கன்சோல் பதிவுகள் மற்றும் பிரேக் பாயிண்ட்களைப் பயன்படுத்தி சர்வீஸ் வொர்க்கரை பிழைதிருத்தம் செய்யும் திறன் ஆகியவை அடங்கும்.
சர்வீஸ் வொர்க்கர் மேம்பாட்டிற்கான சிறந்த நடைமுறைகள்
சர்வீஸ் வொர்க்கர்களை உருவாக்கும்போது பின்பற்ற வேண்டிய சில சிறந்த நடைமுறைகள் இங்கே:
- எளிமையாக வைத்திருங்கள்: சர்வீஸ் வொர்க்கர்கள் மெலிதாகவும் திறமையாகவும் இருக்க வேண்டும். சிக்கலான தர்க்கம் மற்றும் தேவையற்ற சார்புகளைத் தவிர்க்கவும்.
- முழுமையாகச் சோதிக்கவும்: ஆஃப்லைன் பயன்முறை, மெதுவான நெட்வொர்க் இணைப்புகள் மற்றும் வெவ்வேறு உலாவி பதிப்புகள் உட்பட பல்வேறு சூழ்நிலைகளில் உங்கள் சர்வீஸ் வொர்க்கரைச் சோதிக்கவும்.
- பிழைகளை நேர்த்தியாகக் கையாளவும்: உங்கள் பயன்பாடு செயலிழப்பதைத் அல்லது எதிர்பாராத விதமாகச் செயல்படுவதைத் தடுக்க வலுவான பிழை கையாளுதலைச் செயல்படுத்தவும்.
- பதிப்பு எண் இடப்பட்ட கேச்சுகளைப் பயன்படுத்தவும்: பயனர்கள் உங்கள் சொத்துக்களின் சமீபத்திய பதிப்பைப் பெறுவதை உறுதிசெய்ய கேச் பதிப்பு எண்ணைப் பயன்படுத்தவும்.
- செயல்திறனைக் கண்காணிக்கவும்: ஏதேனும் தடைகளைக் கண்டறிந்து நிவர்த்தி செய்ய உங்கள் சர்வீஸ் வொர்க்கரின் செயல்திறனைக் கண்காணிக்கவும்.
- பாதுகாப்பைக் கருத்தில் கொள்ளுங்கள்: சர்வீஸ் வொர்க்கர்கள் முக்கியமான தரவுகளுக்கான அணுகலைக் கொண்டுள்ளன, எனவே பாதிப்புகளைத் தடுக்க பாதுகாப்பு சிறந்த நடைமுறைகளைப் பின்பற்றுவது முக்கியம்.
முடிவுரை
வலுவான மற்றும் ஈர்க்கக்கூடிய வலைப் பயன்பாடுகளை உருவாக்குவதற்கு சர்வீஸ் வொர்க்கர் வாழ்க்கைச் சுழற்சியில் தேர்ச்சி பெறுவது அவசியம். நிறுவுதல், செயல்படுத்துதல் மற்றும் புதுப்பித்தல் கட்டங்களைப் புரிந்துகொள்வதன் மூலம், ஆஃப்லைன் செயல்பாடு, புஷ் அறிவிப்புகள் மற்றும் பிற மேம்பட்ட அம்சங்களை வழங்கும் சர்வீஸ் வொர்க்கர்களை நீங்கள் உருவாக்கலாம். உங்கள் சர்வீஸ் வொர்க்கர்கள் திறம்பட செயல்படுவதை உறுதிசெய்ய சிறந்த நடைமுறைகளைப் பின்பற்றவும், முழுமையாகச் சோதிக்கவும், செயல்திறனைக் கண்காணிக்கவும் நினைவில் கொள்ளுங்கள்.
இணையம் தொடர்ந்து विकसितமாகும்போது, விதிவிலக்கான பயனர் அனுபவங்களை வழங்குவதில் சர்வீஸ் வொர்க்கர்கள் பெருகிய முறையில் முக்கிய பங்கு வகிப்பார்கள். சர்வீஸ் வொர்க்கர்களின் சக்தியைத் தழுவி, உங்கள் வலைப் பயன்பாடுகளின் முழு திறனையும் திறக்கவும்.