தமிழ்

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

முற்போக்கான மேம்பாடு: அம்சம் கண்டறிதல் - உலகளாவிய பார்வையாளர்களுக்கான நெகிழ்வான இணைய அனுபவங்களை உருவாக்குதல்

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

முற்போக்கான மேம்பாடு என்றால் என்ன?

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

முற்போக்கான மேம்பாட்டின் முக்கிய கொள்கைகள் பின்வருமாறு:

அம்சம் கண்டறிதல் ஏன் அவசியம்?

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

அம்சம் கண்டறிவதற்கான முறைகள்

உலாவி அம்சங்களைக் கண்டறிய பல முறைகள் உள்ளன, ஒவ்வொன்றும் அதன் பலம் மற்றும் பலவீனங்களைக் கொண்டுள்ளன. மிகவும் பொதுவான முறை ஒரு குறிப்பிட்ட அம்சம் அல்லது API இருப்பதைக் கண்டறிய ஜாவாஸ்கிரிப்டைப் பயன்படுத்துகிறது.

1. அம்சங்களைச் சரிபார்க்க ஜாவாஸ்கிரிப்டைப் பயன்படுத்துதல்

இந்த முறை மிகவும் பரவலானது மற்றும் நெகிழ்வானது. ஜாவாஸ்கிரிப்ட் குறியீட்டைப் பயன்படுத்தி ஒரு குறிப்பிட்ட உலாவி அம்சத்தின் இருப்பை நீங்கள் சரிபார்க்கிறீர்கள்.

எடுத்துக்காட்டு: `fetch` API-ஐ சரிபார்த்தல் (நெட்வொர்க்கிலிருந்து தரவைப் பெறுவதற்கான ஜாவாஸ்கிரிப்ட்)


if ('fetch' in window) {
  // 'fetch' API ஆதரிக்கப்படுகிறது. தரவை ஏற்றுவதற்கு இதைப் பயன்படுத்தவும்.
  fetch('data.json')
    .then(response => response.json())
    .then(data => {
      // தரவைச் செயலாக்கவும்
    })
    .catch(error => {
      // பிழைகளைக் கையாளவும்
    });
} else {
  // 'fetch' API ஆதரிக்கப்படவில்லை. XMLHttpRequest போன்ற ஒரு மாற்று வழியைப் பயன்படுத்தவும்.
  var xhr = new XMLHttpRequest();
  xhr.open('GET', 'data.json');
  xhr.onload = function() {
    if (xhr.status >= 200 && xhr.status < 300) {
      // தரவைச் செயலாக்கவும்
    } else {
      // பிழைகளைக் கையாளவும்
    }
  };
  xhr.onerror = function() {
    // பிழைகளைக் கையாளவும்
  };
  xhr.send();
}

இந்த எடுத்துக்காட்டில், `fetch` பண்பு `window` பொருளில் உள்ளதா என்பதை குறியீடு சரிபார்க்கிறது. அவ்வாறு இருந்தால், உலாவி `fetch` API-ஐ ஆதரிக்கிறது, மேலும் குறியீடு அதைப் பயன்படுத்தலாம். இல்லையெனில், ஒரு மாற்று வழிமுறை (`XMLHttpRequest` ஐப் பயன்படுத்தி) செயல்படுத்தப்படுகிறது.

எடுத்துக்காட்டு: `classList` API ஆதரவைச் சரிபார்த்தல்


if ('classList' in document.body) {
  // உலாவி classList-ஐ ஆதரிக்கிறது. classList முறைகளைப் பயன்படுத்தவும் (எ.கா., add, remove)
  document.body.classList.add('has-js');
} else {
  // உலாவி classList-ஐ ஆதரிக்கவில்லை. மாற்று முறைகளைப் பயன்படுத்தவும்.
  // எ.கா., CSS வகுப்புகளைச் சேர்க்கவும் அகற்றவும் சர கையாளுதலைப் பயன்படுத்துதல்
  document.body.className += ' has-js';
}

2. CSS அம்சம் வினவல்களைப் பயன்படுத்துதல் (`@supports`)

CSS அம்சம் வினவல்கள், `@supports` at-rule ஆல் குறிக்கப்படுகின்றன, உலாவி குறிப்பிட்ட CSS அம்சங்கள் அல்லது பண்பு மதிப்புகளை ஆதரிக்கிறதா என்பதன் அடிப்படையில் CSS விதிகளைப் பயன்படுத்த உங்களை அனுமதிக்கிறது.

எடுத்துக்காட்டு: Grid Layout-ஐப் பயன்படுத்தி ஒரு தளவமைப்பை வடிவமைக்க `@supports`-ஐப் பயன்படுத்துதல்


.container {
  display: flex; /* grid இல்லாத உலாவிகளுக்கான மாற்று */
}

@supports (display: grid) {
  .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

இந்த எடுத்துக்காட்டில், `.container` ஆரம்பத்தில் `flex` தளவமைப்பைப் பயன்படுத்துகிறது (பரவலாக ஆதரிக்கப்படும் அம்சம்). `@supports` விதி உலாவி `display: grid`-ஐ ஆதரிக்கிறதா என்பதை சரிபார்க்கிறது. அது ஆதரித்தால், விதிக்குள் உள்ள ஸ்டைல்கள் பயன்படுத்தப்பட்டு, ஆரம்ப flex தளவமைப்பை grid தளவமைப்புடன் மாற்றியமைக்கின்றன.

3. நூலகங்கள் மற்றும் கட்டமைப்புகள்

பல நூலகங்கள் மற்றும் கட்டமைப்புகள் உள்ளமைக்கப்பட்ட அம்சம் கண்டறிதல் திறன்கள் அல்லது செயல்முறையை எளிதாக்கும் பயன்பாடுகளை வழங்குகின்றன. இவை குறிப்பிட்ட அம்சங்களைச் சரிபார்க்கும் சிக்கலை நீக்கலாம். பொதுவான எடுத்துக்காட்டுகள் பின்வருமாறு:

எடுத்துக்காட்டு: Modernizr-ஐப் பயன்படுத்துதல்


<html class="no-js" >
<head>
  <!-- பிற மெட்டா குறிச்சொற்கள், முதலியன. -->
  <script src="modernizr.min.js"></script>
</head>
<body>
  <div class="my-element"></div>
  <script>
    if (Modernizr.borderradius) {
      // border-radius ஸ்டைல்களைப் பயன்படுத்தவும்
      document.querySelector('.my-element').style.borderRadius = '10px';
    }
  </script>
</body>
</html>

இந்த சூழலில், உலாவி `border-radius`-ஐ ஆதரித்தால், Modernizr `` உறுப்புக்கு `borderradius` என்ற வகுப்பைச் சேர்க்கிறது. ஜாவாஸ்கிரிப்ட் குறியீடு பின்னர் இந்த வகுப்பைச் சரிபார்த்து, அதற்கேற்ப ஸ்டைலைப் பயன்படுத்துகிறது.

நடைமுறை எடுத்துக்காட்டுகள் மற்றும் உலகளாவிய பரிசீலனைகள்

அணுகல்தன்மை, சர்வதேசமயமாக்கல் (i18n), மற்றும் செயல்திறன் போன்ற உலகளாவிய பரிசீலனைகளைக் கருத்தில் கொண்டு, அம்சம் கண்டறிதலின் சில நடைமுறை எடுத்துக்காட்டுகளையும் அவற்றை எவ்வாறு செயல்படுத்துவது என்பதையும் ஆராய்வோம்.

1. பதிலளிக்கக்கூடிய படங்கள்

பயனரின் சாதனம் மற்றும் திரை அளவுக்கு ஏற்ப உகந்த பட அளவுகளை வழங்குவதற்கு பதிலளிக்கக்கூடிய படங்கள் அவசியம். அவற்றை திறம்பட செயல்படுத்துவதில் அம்சம் கண்டறிதல் ஒரு முக்கிய பங்கைக் வகிக்க முடியும்.

எடுத்துக்காட்டு: `srcset` மற்றும் `sizes` ஆதரவைச் சரிபார்த்தல்

`srcset` மற்றும் `sizes` என்பவை HTML பண்புகளாகும், அவை பட மூல விருப்பங்களைப் பற்றிய தகவல்களை உலாவிக்கு வழங்குகின்றன, தற்போதைய சூழலுக்கு மிகவும் பொருத்தமான படத்தைத் தேர்ந்தெடுக்க அனுமதிக்கின்றன.


<img
  src="image-fallback.jpg"
  srcset="image-small.jpg 480w, image-medium.jpg 768w, image-large.jpg 1024w"
  sizes="(max-width: 480px) 100vw, (max-width: 768px) 50vw, 33vw"
  alt="படத்தின் விளக்கம்"
>

`srcset` பண்பு பட மூலங்களின் பட்டியலை அவற்றின் அகலங்களுடன் குறிப்பிடுகிறது. `sizes` பண்பு ஊடக வினவல்களின் அடிப்படையில் படத்தின் நோக்கம் கொண்ட காட்சி அளவு பற்றிய தகவலை வழங்குகிறது.

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


if (!('srcset' in document.createElement('img')) || !('sizes' in document.createElement('img'))) {
  // picturefill.js போன்ற ஒரு பாலிஃபில்லைப் பயன்படுத்தவும்
  // picturefill இணைப்பு: https://scottjehl.github.io/picturefill/
  console.log('Using picturefill polyfill');
}

இந்த அணுகுமுறை அனைத்து பயனர்களும் தங்கள் உலாவியைப் பொருட்படுத்தாமல் உகந்த படங்களைப் பெறுவதை உறுதி செய்கிறது.

2. வலை அனிமேஷன்கள்

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

எடுத்துக்காட்டு: CSS மாற்றங்கள் மற்றும் அனிமேஷன்களுக்கான ஆதரவைக் கண்டறிதல்


if (Modernizr.cssanimations && Modernizr.csstransitions) {
  // அனிமேஷன் வகுப்புகளைப் பயன்படுத்தவும்
  document.body.classList.add('animations-enabled');
} else {
  // நிலையான UI அல்லது அனிமேஷன்கள் இல்லாத ஒரு அடிப்படை அனுபவத்தைப் பயன்படுத்தவும்
  document.body.classList.add('animations-disabled');
}

பழைய உலாவிகளைக் கொண்ட பயனர்களுக்காக அல்லது பயனர் குறைந்த இயக்கத்திற்கு முன்னுரிமை தெரிவித்திருக்கும்போது (`prefers-reduced-motion` மீடியா வினவல் மூலம்) அனிமேஷன்களை முடக்குவதன் மூலம், நீங்கள் ஒரு மென்மையான மற்றும் அனைத்தையும் உள்ளடக்கிய அனுபவத்தை வழங்க முடியும்.

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

3. படிவ சரிபார்ப்பு

HTML5 சக்திவாய்ந்த படிவ சரிபார்ப்பு அம்சங்களை அறிமுகப்படுத்தியது, அதாவது தேவையான புலங்கள், உள்ளீட்டு வகை சரிபார்ப்பு (எ.கா., மின்னஞ்சல், எண்), மற்றும் தனிப்பயன் பிழைச் செய்திகள். அம்சம் கண்டறிதல் இந்த அம்சங்களைப் பயன்படுத்திக்கொள்ள உங்களை அனுமதிக்கிறது, அதே நேரத்தில் சிறந்த மாற்று வழிகளை வழங்குகிறது.

எடுத்துக்காட்டு: HTML5 படிவ சரிபார்ப்பு ஆதரவைச் சரிபார்த்தல்


if ('checkValidity' in document.createElement('input')) {
  // HTML5 படிவ சரிபார்ப்பைப் பயன்படுத்தவும்.
  // இது உள்ளமைக்கப்பட்டது, மற்றும் ஜாவாஸ்கிரிப்ட் தேவையில்லை
} else {
  // ஜாவாஸ்கிரிப்ட் அடிப்படையிலான படிவ சரிபார்ப்பை செயல்படுத்தவும்.
  // Parsley.js போன்ற ஒரு நூலகம் பயனுள்ளதாக இருக்கும்:
  // https://parsleyjs.org/
}

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

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

4. மேம்பட்ட தளவமைப்பு நுட்பங்கள் (எ.கா., CSS Grid)

CSS Grid Layout சிக்கலான, பதிலளிக்கக்கூடிய தளவமைப்புகளை உருவாக்க ஒரு சக்திவாய்ந்த வழியை வழங்குகிறது. இருப்பினும், பழைய உலாவிகள் அழகாக கையாளப்படுவதை உறுதி செய்வது முக்கியம்.

எடுத்துக்காட்டு: ஒரு மாற்றுடன் CSS Grid-ஐப் பயன்படுத்துதல்


.container {
  display: flex;  /* பழைய உலாவிகளுக்கான மாற்று */
  flex-wrap: wrap;
}

@supports (display: grid) {
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}

இந்தக் குறியீடு `grid`-ஐ ஆதரிக்காத உலாவிகளுக்கான மாற்றாக `flexbox`-ஐப் பயன்படுத்துகிறது. உலாவி `grid`-ஐ ஆதரித்தால், தளவமைப்பு grid-ஐப் பயன்படுத்தி வழங்கப்படும். இந்த அணுகுமுறை பழைய உலாவிகளில் அழகாக தரம் குறையும் ஒரு பதிலளிக்கக்கூடிய தளவமைப்பை உருவாக்குகிறது.

தளவமைப்புக்கான உலகளாவிய பரிசீலனைகள்: வெவ்வேறு திரை அளவுகள், விகிதங்கள், மற்றும் உள்ளீட்டு முறைகள் (எ.கா., தொடுதிரைகள், விசைப்பலகை வழிசெலுத்தல்) ஆகியவற்றிற்காக வடிவமைக்கவும். உலகளவில் பயன்படுத்தப்படும் பல்வேறு சாதனங்கள் மற்றும் உலாவிகளில் உங்கள் தளவமைப்புகளைச் சோதிக்கவும். உங்கள் இலக்கு பார்வையாளர்களில் RTL ஸ்கிரிப்ட்களைப் படிக்கும் பயனர்கள் (எ.கா., அரபு, ஹீப்ரு) இருந்தால் வலமிருந்து இடமாக (RTL) மொழி ஆதரவைக் கருத்தில் கொள்ளுங்கள்.

அம்சம் கண்டறிவதற்கான சிறந்த நடைமுறைகள்

அம்சம் கண்டறிதலின் செயல்திறனை அதிகரிக்க, இந்த சிறந்த நடைமுறைகளைப் பின்பற்றவும்:

அம்சம் கண்டறிதலில் அணுகல்தன்மையை (a11y) நிவர்த்தி செய்தல்

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

சர்வதேசமயமாக்கல் (i18n) மற்றும் அம்சம் கண்டறிதல்

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

முடிவுரை: எதிர்காலத்திற்காக உருவாக்குதல்

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

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

செயல்படுத்தக்கூடிய நுண்ணறிவுகள்: