தமிழ்

உலகெங்கிலும் உள்ள பயனர்களுக்கு வேகமான, நம்பகமான மற்றும் ஈர்க்கக்கூடிய ஆஃப்லைன்-ஃபர்ஸ்ட் இணையப் பயன்பாடுகளை உருவாக்க சர்வீஸ் வொர்க்கர்களைப் பயன்படுத்துவது எப்படி என்பதை அறிக.

சர்வீஸ் வொர்க்கர்கள்: ஆஃப்லைன்-ஃபர்ஸ்ட் இணையப் பயன்பாடுகளை உருவாக்குதல்

இன்றைய உலகில், பயனர்கள் இணையப் பயன்பாடுகள் வேகமாகவும், நம்பகமானதாகவும், அணுகக்கூடியதாகவும் இருக்க வேண்டும் என்று எதிர்பார்க்கிறார்கள், நெட்வொர்க் இணைப்பு குறைவாகவோ அல்லது கிடைக்காதபோதோ கூட. இங்குதான் "ஆஃப்லைன்-ஃபர்ஸ்ட்" வடிவமைப்பு என்ற கருத்து வருகிறது. சர்வீஸ் வொர்க்கர்கள் ஒரு சக்திவாய்ந்த தொழில்நுட்பமாகும், இது டெவலப்பர்களுக்கு தடையின்றி ஆஃப்லைனில் செயல்படும் இணையப் பயன்பாடுகளை உருவாக்க உதவுகிறது, இது ஒரு சிறந்த பயனர் அனுபவத்தை வழங்குகிறது.

சர்வீஸ் வொர்க்கர்கள் என்றால் என்ன?

ஒரு சர்வீஸ் வொர்க்கர் என்பது ஒரு ஜாவாஸ்கிரிப்ட் கோப்பாகும், இது பிரதான பிரவுசர் திரெட்டிலிருந்து தனித்தனியாக பின்னணியில் இயங்குகிறது. இது இணையப் பயன்பாட்டிற்கும் நெட்வொர்க்கிற்கும் இடையில் ஒரு ப்ராக்ஸியாக செயல்படுகிறது, நெட்வொர்க் கோரிக்கைகளை இடைமறித்து கேச்சிங்கை நிர்வகிக்கிறது. சர்வீஸ் வொர்க்கர்கள் பின்வரும் பணிகளைக் கையாள முடியும்:

முக்கியமாக, சர்வீஸ் வொர்க்கர்கள் இணையப் பக்கத்தால் அல்ல, பிரவுசரால் கட்டுப்படுத்தப்படுகின்றன. பயனர் டேப் அல்லது பிரவுசர் சாளரத்தை மூடிய பிறகும் அவை செயல்பட இது அனுமதிக்கிறது.

ஏன் ஆஃப்லைன்-ஃபர்ஸ்ட்?

ஒரு ஆஃப்லைன்-ஃபர்ஸ்ட் இணையப் பயன்பாட்டை உருவாக்குவது பல நன்மைகளை வழங்குகிறது:

சர்வீஸ் வொர்க்கர்கள் எவ்வாறு செயல்படுகின்றன

ஒரு சர்வீஸ் வொர்க்கரின் வாழ்க்கைச் சுழற்சி பல நிலைகளைக் கொண்டுள்ளது:

  1. பதிவு (Registration): சர்வீஸ் வொர்க்கர் பிரவுசரில் பதிவு செய்யப்படுகிறது, அது கட்டுப்படுத்தும் பயன்பாட்டின் நோக்கத்தைக் குறிப்பிடுகிறது.
  2. நிறுவல் (Installation): சர்வீஸ் வொர்க்கர் நிறுவப்படுகிறது, அப்போது அது பொதுவாக நிலையான சொத்துக்களை கேச் செய்கிறது.
  3. செயல்படுத்தல் (Activation): சர்வீஸ் வொர்க்கர் செயல்படுத்தப்பட்டு இணையப் பயன்பாட்டின் கட்டுப்பாட்டை எடுக்கிறது. இது பழைய சர்வீஸ் வொர்க்கர்களை பதிவு நீக்கம் செய்வதையும் பழைய கேச்களை சுத்தம் செய்வதையும் உள்ளடக்கலாம்.
  4. செயலற்ற நிலை (Idle): சர்வீஸ் வொர்க்கர் செயலற்ற நிலையில் இருந்து, நெட்வொர்க் கோரிக்கைகள் அல்லது பிற நிகழ்வுகளுக்காக காத்திருக்கிறது.
  5. பெறுதல் (Fetch): ஒரு நெட்வொர்க் கோரிக்கை செய்யப்படும்போது, சர்வீஸ் வொர்க்கர் அதை இடைமறித்து கேச் செய்யப்பட்ட உள்ளடக்கத்தை வழங்கலாம் அல்லது நெட்வொர்க்கிலிருந்து வளத்தைப் பெறலாம்.

சர்வீஸ் வொர்க்கர்களைக் கொண்டு ஆஃப்லைன்-ஃபர்ஸ்ட் முறையை செயல்படுத்துதல்: ஒரு படிப்படியான வழிகாட்டி

சர்வீஸ் வொர்க்கர்களைப் பயன்படுத்தி ஆஃப்லைன்-ஃபர்ஸ்ட் செயல்பாட்டை எவ்வாறு செயல்படுத்துவது என்பதற்கான ஒரு அடிப்படை எடுத்துக்காட்டு இங்கே:

படி 1: சர்வீஸ் வொர்க்கரை பதிவு செய்தல்

உங்கள் முக்கிய ஜாவாஸ்கிரிப்ட் கோப்பில் (உதாரணமாக, `app.js`):


if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/service-worker.js')
    .then(function(registration) {
      console.log('சர்வீஸ் வொர்க்கர் இந்த ஸ்கோப்புடன் பதிவு செய்யப்பட்டது:', registration.scope);
    })
    .catch(function(error) {
      console.log('சர்வீஸ் வொர்க்கர் பதிவு தோல்வியடைந்தது:', error);
    });
}

இந்தக் குறியீடு பிரவுசர் சர்வீஸ் வொர்க்கர்களை ஆதரிக்கிறதா என்பதைச் சரிபார்த்து `service-worker.js` கோப்பைப் பதிவு செய்கிறது. ஸ்கோப் என்பது சர்வீஸ் வொர்க்கர் எந்த URLகளைக் கட்டுப்படுத்தும் என்பதை வரையறுக்கிறது.

படி 2: சர்வீஸ் வொர்க்கர் கோப்பை உருவாக்குதல் (service-worker.js)

பின்வரும் குறியீட்டைக் கொண்டு `service-worker.js` என்ற பெயரில் ஒரு கோப்பை உருவாக்கவும்:


const CACHE_NAME = 'my-site-cache-v1';
const urlsToCache = [
  '/',
  '/index.html',
  '/style.css',
  '/app.js',
  '/images/logo.png'
];

self.addEventListener('install', function(event) {
  // நிறுவல் படிகளைச் செய்யவும்
  event.waitUntil(
    caches.open(CACHE_NAME)
      .then(function(cache) {
        console.log('கேச் திறக்கப்பட்டது');
        return cache.addAll(urlsToCache);
      })
  );
});

self.addEventListener('fetch', function(event) {
  event.respondWith(
    caches.match(event.request)
      .then(function(response) {
        // கேச் வெற்றி - பதிலை திருப்பு
        if (response) {
          return response;
        }

        // முக்கியம்: கோரிக்கையை நகலெடுக்கவும்.
        // ஒரு கோரிக்கை என்பது ஒரு ஸ்ட்ரீம் மற்றும் ஒரு முறை மட்டுமே பயன்படுத்த முடியும். நாம் இதை ஒரு முறை கேச் மூலமாகவும், ஒரு முறை பிரவுசர் மூலமாகவும் ஃபெட்ச்சிற்காகப் பயன்படுத்துவதால், நாம் பதிலை நகலெடுக்க வேண்டும்.
        var fetchRequest = event.request.clone();

        return fetch(fetchRequest).then(
          function(response) {
            // நாம் ஒரு சரியான பதிலை பெற்றிருக்கிறோமா என்று சரிபார்க்கவும்
            if(!response || response.status !== 200 || response.type !== 'basic') {
              return response;
            }

            // முக்கியம்: பதிலை நகலெடுக்கவும்.
            // ஒரு பதில் ஒரு ஸ்ட்ரீம் மற்றும் ஒரு முறை மட்டுமே பயன்படுத்தப்பட வேண்டும்.
            var responseToCache = response.clone();

            caches.open(CACHE_NAME)
              .then(function(cache) {
                cache.put(event.request, responseToCache);
              });

            return response;
          }
        );
      })
    );
});

self.addEventListener('activate', function(event) {

  var cacheWhitelist = [CACHE_NAME];

  event.waitUntil(
    caches.keys().then(function(cacheNames) {
      return Promise.all(
        cacheNames.map(function(cacheName) {
          if (cacheWhitelist.indexOf(cacheName) === -1) {
            return caches.delete(cacheName);
          }
        })
      );
    })
  );
});

இந்தக் குறியீடு பின்வருவனவற்றைச் செய்கிறது:

படி 3: உங்கள் ஆஃப்லைன் செயல்பாட்டைச் சோதித்தல்

உங்கள் ஆஃப்லைன் செயல்பாட்டைச் சோதிக்க, பிரவுசரின் டெவலப்பர் கருவிகளைப் பயன்படுத்தலாம். Chrome இல், DevTools-ஐத் திறந்து, "Application" டேபிற்குச் சென்று, "Service Workers" என்பதைத் தேர்ந்தெடுக்கவும். பின்னர் "Offline" பெட்டியை சரிபார்ப்பதன் மூலம் ஆஃப்லைன் பயன்முறையை உருவகப்படுத்தலாம்.

மேம்பட்ட சர்வீஸ் வொர்க்கர் நுட்பங்கள்

சர்வீஸ் வொர்க்கர்களைப் பற்றிய அடிப்படை புரிதலை நீங்கள் பெற்றவுடன், உங்கள் ஆஃப்லைன்-ஃபர்ஸ்ட் பயன்பாட்டை மேம்படுத்த மேலும் மேம்பட்ட நுட்பங்களை ஆராயலாம்:

கேச்சிங் உத்திகள்

வளத்தின் வகை மற்றும் உங்கள் பயன்பாட்டின் தேவைகளைப் பொறுத்து நீங்கள் பயன்படுத்தக்கூடிய பல கேச்சிங் உத்திகள் உள்ளன:

சரியான கேச்சிங் உத்தியைத் தேர்ந்தெடுப்பது குறிப்பிட்ட வளம் மற்றும் உங்கள் பயன்பாட்டின் தேவைகளைப் பொறுத்தது. உதாரணமாக, படங்கள் மற்றும் CSS கோப்புகள் போன்ற நிலையான சொத்துக்கள் பெரும்பாலும் கேச் ஃபர்ஸ்ட் உத்தியைப் பயன்படுத்தி சிறந்த முறையில் வழங்கப்படுகின்றன, அதே நேரத்தில் மாறும் உள்ளடக்கம் நெட்வொர்க் ஃபர்ஸ்ட் அல்லது கேச் பின்னர் நெட்வொர்க் உத்தியிலிருந்து பயனடையலாம்.

பின்னணி ஒத்திசைவு

பயனருக்கு நிலையான நெட்வொர்க் இணைப்பு கிடைக்கும் வரை பணிகளை ஒத்திவைக்க பின்னணி ஒத்திசைவு உங்களை அனுமதிக்கிறது. படிவங்களைச் சமர்ப்பிப்பது அல்லது கோப்புகளைப் பதிவேற்றுவது போன்ற பணிகளுக்கு இது பயனுள்ளதாக இருக்கும். உதாரணமாக, இந்தோனேசியாவின் ஒரு தொலைதூரப் பகுதியில் உள்ள ஒரு பயனர் ஆஃப்லைனில் இருக்கும்போது ஒரு படிவத்தை நிரப்பலாம். பின்னர் ஒரு இணைப்பு கிடைக்கும் வரை சர்வீஸ் வொர்க்கர் காத்திருந்து தரவைச் சமர்ப்பிக்கலாம்.

புஷ் அறிவிப்புகள்

பயன்பாடு திறக்கப்படாத போதும் பயனர்களுக்கு புஷ் அறிவிப்புகளை அனுப்ப சர்வீஸ் வொர்க்கர்களைப் பயன்படுத்தலாம். இது பயனர்களை மீண்டும் ஈடுபடுத்தவும் சரியான நேரத்தில் புதுப்பிப்புகளை வழங்கவும் பயன்படுத்தப்படலாம். ஒரு செய்தி பயன்பாடு, செயலி செயலில் இயங்குகிறதா என்பதைப் பொருட்படுத்தாமல், பயனர்களுக்கு நிகழ்நேரத்தில் முக்கிய செய்தி எச்சரிக்கைகளை வழங்குவதைக் கருத்தில் கொள்ளுங்கள்.

வொர்க்பாக்ஸ்

வொர்க்பாக்ஸ் என்பது ஜாவாஸ்கிரிப்ட் நூலகங்களின் தொகுப்பாகும், இது சர்வீஸ் வொர்க்கர்களை உருவாக்குவதை எளிதாக்குகிறது. இது கேச்சிங், ரூட்டிங் மற்றும் பின்னணி ஒத்திசைவு போன்ற பொதுவான பணிகளுக்கு சுருக்கங்களை வழங்குகிறது. வொர்க்பாக்ஸைப் பயன்படுத்துவது உங்கள் சர்வீஸ் வொர்க்கர் குறியீட்டை எளிமையாக்கி மேலும் பராமரிக்கக்கூடியதாக மாற்றும். பல நிறுவனங்கள் இப்போது PWAக்கள் மற்றும் ஆஃப்லைன்-ஃபர்ஸ்ட் அனுபவங்களை உருவாக்கும்போது வொர்க்பாக்ஸை ஒரு நிலையான கூறாகப் பயன்படுத்துகின்றன.

உலகளாவிய பார்வையாளர்களுக்கான பரிசீலனைகள்

உலகளாவிய பார்வையாளர்களுக்காக ஆஃப்லைன்-ஃபர்ஸ்ட் இணையப் பயன்பாடுகளை உருவாக்கும்போது, பின்வரும் காரணிகளைக் கருத்தில் கொள்வது அவசியம்:

ஆஃப்லைன்-ஃபர்ஸ்ட் பயன்பாடுகளின் எடுத்துக்காட்டுகள்

பல பிரபலமான இணையப் பயன்பாடுகள் சர்வீஸ் வொர்க்கர்களைப் பயன்படுத்தி ஆஃப்லைன்-ஃபர்ஸ்ட் செயல்பாட்டை வெற்றிகரமாக செயல்படுத்தியுள்ளன:

முடிவுரை

சர்வீஸ் வொர்க்கர்கள் வேகமான, நம்பகமான மற்றும் ஈர்க்கக்கூடிய ஆஃப்லைன்-ஃபர்ஸ்ட் இணையப் பயன்பாடுகளை உருவாக்குவதற்கான ஒரு சக்திவாய்ந்த கருவியாகும். சொத்துக்களை கேச்சிங் செய்வதன் மூலமும், நெட்வொர்க் கோரிக்கைகளை இடைமறிப்பதன் மூலமும், பின்னணிப் பணிகளைக் கையாளுவதன் மூலமும், சர்வீஸ் வொர்க்கர்கள் நெட்வொர்க் இணைப்பு குறைவாகவோ அல்லது கிடைக்காதபோதோ கூட ஒரு சிறந்த பயனர் அனுபவத்தை வழங்க முடியும். உலகெங்கிலும் நெட்வொர்க் அணுகல் சீரற்றதாக இருப்பதால், இணையத்தில் தகவல் மற்றும் சேவைகளுக்கு சமமான அணுகலை உறுதி செய்வதற்கு ஆஃப்லைன்-ஃபர்ஸ்ட் வடிவமைப்புகளில் கவனம் செலுத்துவது முக்கியம்.

இந்த வழிகாட்டியில் கோடிட்டுக் காட்டப்பட்டுள்ள படிகளைப் பின்பற்றுவதன் மூலமும், மேலே குறிப்பிடப்பட்ட காரணிகளைக் கருத்தில் கொள்வதன் மூலமும், நீங்கள் ஆஃப்லைனில் தடையின்றி செயல்படும் மற்றும் உலகெங்கிலும் உள்ள பயனர்களுக்கு ஒரு மகிழ்ச்சியான அனுபவத்தை வழங்கும் இணையப் பயன்பாடுகளை உருவாக்கலாம். சர்வீஸ் வொர்க்கர்களின் சக்தியைத் தழுவி, இணையத்தின் எதிர்காலத்தை உருவாக்குங்கள் - இணையம் அனைவருக்கும், எல்லா இடங்களிலும், அவர்களின் நெட்வொர்க் இணைப்பைப் பொருட்படுத்தாமல் அணுகக்கூடிய ஒரு எதிர்காலம்.