தமிழ்

முன்னேற்ற வலைப் பயன்பாடுகளை (PWAs) செயல்படுத்துவதற்கான ஒரு விரிவான வழிகாட்டி. இது முக்கிய கருத்துக்கள், சேவைப் பணியாளர்கள், மேனிஃபெஸ்ட் கோப்புகள், புஷ் அறிவிப்புகள் மற்றும் உலகளாவிய பார்வையாளர்களுக்கான சிறந்த நடைமுறைகளை உள்ளடக்கியது.

முன்னேற்ற வலைப் பயன்பாடுகள்: உலகளாவிய டெவலப்பர்களுக்கான ஒரு முழுமையான செயல்படுத்தல் வழிகாட்டி

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

முன்னேற்ற வலைப் பயன்பாடுகள் என்றால் என்ன?

PWAs என்பவை நவீன வலைத் தரங்களைப் பயன்படுத்தி நேட்டிவ் ஆப் போன்ற அனுபவத்தை வழங்கும் வலைப் பயன்பாடுகள். அவை:

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

PWAs-க்கு பின்னால் உள்ள முக்கிய தொழில்நுட்பங்கள்

PWAs மூன்று முக்கிய தொழில்நுட்பங்களில் கட்டமைக்கப்பட்டுள்ளன:

1. HTTPS

பாதுகாப்பு மிக முக்கியமானது. PWAs கட்டாயம் HTTPS மூலம் வழங்கப்பட வேண்டும், இது ஒட்டுக்கேட்பதைத் தடுத்து தரவு ஒருமைப்பாட்டை உறுதி செய்கிறது. சேவைப் பணியாளர்கள் செயல்படுவதற்கு இது ஒரு அடிப்படத் தேவையாகும்.

2. சேவைப் பணியாளர்கள்

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

சேவைப் பணியாளர் வாழ்க்கைச் சுழற்சி: சேவைப் பணியாளரின் வாழ்க்கைச் சுழற்சியைப் (பதிவு, நிறுவல், செயல்படுத்தல், புதுப்பிப்புகள்) புரிந்துகொள்வது பயனுள்ள PWA செயல்படுத்தலுக்கு மிக முக்கியமானது. தவறான மேலாண்மை கேச்சிங் சிக்கல்களுக்கும் எதிர்பாராத நடத்தைக்கும் வழிவகுக்கும். புதுப்பிப்புகளைப் பற்றி பின்னர் விரிவாகப் பார்ப்போம்.

3. வலைப் பயன்பாட்டு மேனிஃபெஸ்ட்

வலைப் பயன்பாட்டு மேனிஃபெஸ்ட் என்பது ஒரு JSON கோப்பாகும், இது PWA பற்றிய மெட்டாடேட்டாவை வழங்குகிறது, அவை:

செயல்படுத்தும் படிகள்: ஒரு எளிய PWA-ஐ உருவாக்குதல்

ஒரு எளிய PWA-ஐ உருவாக்குவதற்கான படிகளைப் பார்ப்போம்:

படி 1: HTTPS-ஐ அமைக்கவும்

உங்கள் வலைத்தளம் HTTPS மூலம் வழங்கப்படுவதை உறுதிசெய்யவும். Let's Encrypt-இலிருந்து ஒரு இலவச SSL சான்றிதழைப் பெறலாம்.

படி 2: ஒரு வலைப் பயன்பாட்டு மேனிஃபெஸ்ட்டை உருவாக்கவும் (manifest.json)

`manifest.json` என்ற கோப்பை உருவாக்கி, பின்வரும் குறியீட்டைச் சேர்க்கவும்:


{
  "name": "My Simple PWA",
  "short_name": "PWA",
  "icons": [
    {
      "src": "icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "start_url": "/index.html",
  "display": "standalone",
  "theme_color": "#ffffff",
  "background_color": "#ffffff"
}

`icon-192x192.png` மற்றும் `icon-512x512.png` ஆகியவற்றை உங்கள் உண்மையான ஐகான் கோப்புகளுடன் மாற்றவும். நீங்கள் இந்த ஐகான்களை பல்வேறு அளவுகளில் உருவாக்க வேண்டும். Real Favicon Generator போன்ற ஆன்லைன் கருவிகள் இதற்கு உதவக்கூடும்.

படி 3: உங்கள் HTML-இல் மேனிஃபெஸ்ட் கோப்பை இணைக்கவும்

உங்கள் `index.html` கோப்பின் `` பிரிவில் பின்வரும் வரியைச் சேர்க்கவும்:


<link rel="manifest" href="/manifest.json">

படி 4: ஒரு சேவைப் பணியாளரை உருவாக்கவும் (service-worker.js)

`service-worker.js` என்ற கோப்பை உருவாக்கி, பின்வரும் குறியீட்டைச் சேர்க்கவும்:


const CACHE_NAME = 'my-pwa-cache-v1';
const urlsToCache = [
  '/',
  '/index.html',
  '/style.css',
  '/script.js',
  '/icon-192x192.png',
  '/icon-512x512.png'
];

self.addEventListener('install', function(event) {
  // Perform install steps
  event.waitUntil(
    caches.open(CACHE_NAME)
      .then(function(cache) {
        console.log('Opened cache');
        return cache.addAll(urlsToCache);
      })
  );
});

self.addEventListener('fetch', function(event) {
  event.respondWith(
    caches.match(event.request)
      .then(function(response) {
        // Cache hit - return response
        if (response) {
          return response;
        }

        // IMPORTANT: If we're here, it means the request was not found in the cache.
        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(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);
          }
        })
      );
    })
  );
});

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

படி 5: உங்கள் ஜாவாஸ்கிரிப்டில் சேவைப் பணியாளரைப் பதிவு செய்யவும்

உங்கள் `script.js` கோப்பில் பின்வரும் குறியீட்டைச் சேர்க்கவும்:


if ('serviceWorker' in navigator) {
  window.addEventListener('load', function() {
    navigator.serviceWorker.register('/service-worker.js')
      .then(function(registration) {
        // Registration was successful
        console.log('ServiceWorker registration successful with scope: ', registration.scope);
      },
      function(err) {
        // registration failed :(
        console.log('ServiceWorker registration failed: ', err);
      });
  });
}

இந்த குறியீடு உலாவி சேவைப் பணியாளர்களை ஆதரிக்கிறதா என்று சரிபார்த்து, `service-worker.js` கோப்பைப் பதிவு செய்கிறது.

படி 6: உங்கள் PWA-ஐ சோதிக்கவும்

உங்கள் வலைத்தளத்தை PWAs-ஐ ஆதரிக்கும் உலாவியில் (எ.கா., Chrome, Firefox, Safari) திறக்கவும். டெவலப்பர் கருவிகளைத் திறந்து, "Application" தாவலைச் சரிபார்த்து சேவைப் பணியாளர் சரியாகப் பதிவு செய்யப்பட்டுள்ளதா மற்றும் மேனிஃபெஸ்ட் கோப்பு ஏற்றப்பட்டுள்ளதா என்பதைப் பார்க்கவும்.

உங்கள் உலாவியில் இப்போது "Add to Home Screen" என்ற அறிவிப்பைக் காண்பீர்கள். இந்த அறிவிப்பைக் கிளிக் செய்வதன் மூலம் உங்கள் சாதனத்தில் PWA நிறுவப்படும்.

மேம்பட்ட PWA அம்சங்கள் மற்றும் பரிசீலனைகள்

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

புஷ் அறிவிப்புகள் உங்கள் PWA உடன் பயனர்களை மீண்டும் ஈடுபடுத்துவதற்கான ஒரு சக்திவாய்ந்த வழியாகும். புஷ் அறிவிப்புகளைச் செயல்படுத்த, நீங்கள் செய்ய வேண்டியவை:

  1. புஷ் API விசையைப் பெறுக: புஷ் அறிவிப்புகளைக் கையாள Firebase Cloud Messaging (FCM) அல்லது அது போன்ற ஒரு சேவையைப் பயன்படுத்த வேண்டும். இதற்கு ஒரு கணக்கை உருவாக்கி API விசையைப் பெற வேண்டும்.
  2. பயனரைப் பதிவுசெய்க: உங்கள் PWA-இல், புஷ் அறிவிப்புகளைப் பெற பயனரிடம் அனுமதி கோரி, பின்னர் அவர்களை உங்கள் புஷ் சேவையில் பதிவு செய்ய வேண்டும்.
  3. புஷ் நிகழ்வுகளைக் கையாளுதல்: உங்கள் சேவைப் பணியாளரில், புஷ் நிகழ்வுகளைக் கேட்டு, பயனருக்கு அறிவிப்பைக் காட்ட வேண்டும்.

உதாரணம் (எளிமைப்படுத்தப்பட்டது - Firebase-ஐப் பயன்படுத்தி):

உங்கள் `service-worker.js`-இல்:


// Import the Firebase libraries
importScripts('https://www.gstatic.com/firebasejs/9.6.11/firebase-app-compat.js');
importScripts('https://www.gstatic.com/firebasejs/9.6.11/firebase-messaging-compat.js');

// Initialize Firebase
const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
  appId: "YOUR_APP_ID",
  measurementId: "YOUR_MEASUREMENT_ID"
};

firebase.initializeApp(firebaseConfig);

const messaging = firebase.messaging();

messaging.onBackgroundMessage(function(payload) {
  console.log('[firebase-messaging-sw.js] Received background message ', payload);
  // Customize notification here
  const notificationTitle = 'Background Message Title';
  const notificationOptions = {
    body: 'Background Message body.',
    icon: '/icon-512x512.png'
  };

  self.registration.showNotification(notificationTitle, notificationOptions);
});

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

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

பின்னணி ஒத்திசைவு உங்கள் PWA-ஐ பயனர் ஆஃப்லைனில் இருக்கும்போதும் பணிகளைச் செய்ய அனுமதிக்கிறது. இது போன்ற சூழ்நிலைகளுக்கு இது பயனுள்ளதாக இருக்கும்:

பின்னணி ஒத்திசைவைப் பயன்படுத்த, உங்கள் சேவைப் பணியாளரில் `sync` நிகழ்வுக்குப் பதிவுசெய்து, ஒத்திசைவு தர்க்கத்தைக் கையாள வேண்டும்.

ஆஃப்லைன் ஆதரவு உத்திகள்

உங்கள் PWA-இல் ஆஃப்லைன் ஆதரவை வழங்க பல உத்திகள் உள்ளன:

சிறந்த உத்தி உங்கள் பயன்பாட்டின் குறிப்பிட்ட தேவைகளைப் பொறுத்தது.

PWA புதுப்பிப்புகள்

சேவைப் பணியாளர் புதுப்பிப்புகள் PWA பராமரிப்பின் ஒரு முக்கிய பகுதியாகும். உங்கள் `service-worker.js` கோப்பில் ஒரு மாற்றத்தை (ஒரு பைட் மாற்றம் கூட) உலாவி கண்டறியும்போது, அது ஒரு புதுப்பிப்பு செயல்முறையைத் தூண்டுகிறது. புதிய சேவைப் பணியாளர் பின்னணியில் நிறுவப்படுகிறார், ஆனால் பயனர் உங்கள் PWA-ஐ அடுத்த முறை பார்வையிடும் வரை அல்லது பழைய சேவைப் பணியாளரால் கட்டுப்படுத்தப்படும் அனைத்து தற்போதைய தாவல்களும் மூடப்படும் வரை அது செயலில் இருக்காது.

உங்கள் புதிய சேவைப் பணியாளரின் `install` நிகழ்வில் `self.skipWaiting()` மற்றும் `activate` நிகழ்வில் `clients.claim()` ஐ அழைப்பதன் மூலம் உடனடி புதுப்பிப்பை கட்டாயப்படுத்தலாம். இருப்பினும், இது பயனரின் அனுபவத்தை சீர்குலைக்கக்கூடும், எனவே இதை எச்சரிக்கையுடன் பயன்படுத்தவும்.

PWAs-க்கான எஸ்சிஓ பரிசீலனைகள்

PWAs அடிப்படையில் வலைத்தளங்கள் என்பதால், அவை பொதுவாக எஸ்சிஓ-நட்பு கொண்டவை. இருப்பினும், மனதில் கொள்ள வேண்டிய சில விஷயங்கள் உள்ளன:

குறுக்கு-உலாவி இணக்கத்தன்மை

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

PWAs-ஐ பிழைதிருத்தம் செய்தல்

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

உலகம் முழுவதும் PWA எடுத்துக்காட்டுகள்

உலகளவில் ஏராளமான நிறுவனங்கள் PWAs-ஐ வெற்றிகரமாகச் செயல்படுத்தியுள்ளன. இங்கே சில வேறுபட்ட எடுத்துக்காட்டுகள்:

முடிவுரை: வலையின் எதிர்காலத்தைத் தழுவுதல்

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