தமிழ்

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

ஹைப்பர்ஆப்: மினிமலிஸ்ட் ஃபங்ஷனல் ஜாவாஸ்கிரிப்ட் ஃபிரேம்வொர்க்கின் ஒரு ஆழமான பார்வை

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

ஹைப்பர்ஆப் என்றால் என்ன?

ஹைப்பர்ஆப் என்பது எளிமை மற்றும் செயல்திறனைக் கருத்தில் கொண்டு வடிவமைக்கப்பட்ட ஒரு ஃபிரன்ட்-எண்ட் ஜாவாஸ்கிரிப்ட் ஃபிரேம்வொர்க் ஆகும். அதன் முக்கிய பண்புகள் பின்வருமாறு:

ஹைப்பர்ஆப்பின் அடிப்படைக் கருத்துக்கள்

1. ஸ்டேட் (State)

ஸ்டேட் என்பது பயன்பாட்டின் தரவைக் குறிக்கிறது. இது UI-ஐ ரெண்டர் செய்யத் தேவையான அனைத்து தகவல்களையும் கொண்ட ஒரு மாறாத ஆப்ஜெக்ட் ஆகும். ஹைப்பர்ஆப்பில், ஸ்டேட் பொதுவாக பயன்பாட்டின் பிரதான ஃபங்ஷனுக்குள் நிர்வகிக்கப்படுகிறது.

உதாரணம்:

நாம் ஒரு எளிய கவுண்டர் பயன்பாட்டை உருவாக்குகிறோம் என்று வைத்துக்கொள்வோம். ஸ்டேட்டை பின்வருமாறு குறிப்பிடலாம்:

const state = {
 count: 0
};

2. ஆக்ஷன்ஸ் (Actions)

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

உதாரணம்:

நமது கவுண்டர் பயன்பாட்டிற்கு, எண்ணிக்கையை அதிகரிக்கவும் குறைக்கவும் ஆக்ஷன்ஸ்களை வரையறுக்கலாம்:

const actions = {
 increment: state => ({ count: state.count + 1 }),
 decrement: state => ({ count: state.count - 1 })
};

3. வியூ (View)

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

ஹைப்பர்ஆப் `h` (hyperscript-க்கு) எனப்படும் ஒரு இலகுரக விர்ச்சுவல் DOM செயலாக்கத்தைப் பயன்படுத்துகிறது. `h` என்பது விர்ச்சுவல் DOM நோட்களை உருவாக்கும் ஒரு ஃபங்ஷன் ஆகும்.

உதாரணம்:

நமது கவுண்டர் பயன்பாட்டின் வியூ இப்படி இருக்கலாம்:

const view = (state, actions) => (
 <div>
 <h1>எண்ணிக்கை: {state.count}</h1>
 <button onclick={actions.decrement}>-</button>
 <button onclick={actions.increment}>+</button>
 </div>
);

4. `app` ஃபங்ஷன்

`app` ஃபங்ஷன் ஒரு ஹைப்பர்ஆப் பயன்பாட்டின் நுழைவுப் புள்ளியாகும். இது பின்வரும் ஆர்குமென்ட்களை எடுக்கும்:

உதாரணம்:

இங்கே எல்லாவற்றையும் ஒன்றாக இணைப்பது எப்படி என்று பார்க்கலாம்:

import { h, app } from "hyperapp";

const state = {
 count: 0
};

const actions = {
 increment: state => ({ count: state.count + 1 }),
 decrement: state => ({ count: state.count - 1 })
};

const view = (state, actions) => (
 <div>
 <h1>எண்ணிக்கை: {state.count}</h1>
 <button onclick={actions.decrement}>-</button>
 <button onclick={actions.increment}>+</button>
 </div>
);

app(state, actions, view, document.getElementById("app"));

ஹைப்பர்ஆப் பயன்படுத்துவதன் நன்மைகள்

ஹைப்பர்ஆப் மற்றும் பிற ஜாவாஸ்கிரிப்ட் ஃபிரேம்வொர்க்குகள்

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

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

ஹைப்பர்ஆப் பயன்பாடுகளின் நடைமுறை எடுத்துக்காட்டுகள்

ஹைப்பர்ஆப் எளிய ஊடாடும் கூறுகளிலிருந்து சிக்கலான ஒற்றை-பக்க பயன்பாடுகள் (SPAs) வரை பலவிதமான பயன்பாடுகளை உருவாக்கப் பயன்படுத்தப்படலாம். இதோ சில எடுத்துக்காட்டுகள்:

ஹைப்பர்ஆப் மேம்பாட்டிற்கான உலகளாவிய கருத்தாய்வுகள்

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

1. உள்ளூர்மயமாக்கல் (l10n)

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

உதாரணம்:

தேதிகளைக் காட்டும் ஒரு பயன்பாட்டைக் கருத்தில் கொள்ளுங்கள். அமெரிக்காவில், தேதிகள் பொதுவாக MM/DD/YYYY என வடிவமைக்கப்படுகின்றன, அதே நேரத்தில் ஐரோப்பாவில், அவை பெரும்பாலும் DD/MM/YYYY என வடிவமைக்கப்படுகின்றன. உள்ளூர்மயமாக்கல் என்பது பயனரின் பகுதிக்கு ஏற்ப தேதி வடிவத்தைத் தழுவுவதை உள்ளடக்கும்.

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

2. சர்வதேசமயமாக்கல் (i18n)

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

சிறந்த நடைமுறைகள்:

3. அணுகல்தன்மை (a11y)

அணுகல்தன்மை என்பது குறைபாடுகள் உள்ளவர்களால் பயன்படுத்தக்கூடிய பயன்பாடுகளை வடிவமைத்து மேம்படுத்தும் நடைமுறையாகும். இது படங்களுக்கு மாற்று உரையை வழங்குதல், விசைப்பலகை மூலம் UI-ஐ வழிநடத்த முடியும் என்பதை உறுதிப்படுத்துதல் மற்றும் ஆடியோ மற்றும் வீடியோ உள்ளடக்கத்திற்கு അടിക്കുറിപ്പുകൾ வழங்குதல் ஆகியவற்றை உள்ளடக்கியது.

WCAG வழிகாட்டுதல்கள்:

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

ஹைப்பர்ஆப் மற்றும் அணுகல்தன்மை:

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

ஹைப்பர்ஆப்பின் மேம்பட்ட நுட்பங்கள்

1. எஃபெக்ட்ஸ் (Effects)

எஃபெக்ட்ஸ் என்பது API அழைப்புகளைச் செய்வது அல்லது DOM-ஐ நேரடியாகப் புதுப்பிப்பது போன்ற பக்க விளைவுகளைச் செய்யும் ஃபங்ஷன்கள் ஆகும். ஹைப்பர்ஆப்பில், எஃபெக்ட்ஸ் பொதுவாக ஒத்திசைவற்ற செயல்பாடுகளைக் கையாள அல்லது வெளிப்புற லைப்ரரிகளுடன் தொடர்பு கொள்ளப் பயன்படுத்தப்படுகின்றன.

உதாரணம்:

const FetchData = (dispatch, data) => {
 fetch(data.url)
 .then(response => response.json())
 .then(data => dispatch(data.action, data));
};

const actions = {
 fetchData: (state, data) => [state, [FetchData, data]]
};

2. சப்ஸ்கிரிப்ஷன்ஸ் (Subscriptions)

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

உதாரணம்:

const Clock = (dispatch, data) => {
 const interval = setInterval(() => dispatch(data.action), 1000);
 return () => clearInterval(interval);
};

const subscriptions = state => [
 state.isRunning && [Clock, { action: actions.tick }]
];

3. டைப்ஸ்கிரிப்டுடன் பயன்படுத்துதல்

ஹைப்பர்ஆப் டைப்ஸ்கிரிப்டுடன் பயன்படுத்தப்பட்டு நிலையான தட்டச்சு வழங்கவும் குறியீடு பராமரிப்பை மேம்படுத்தவும் முடியும். டைப்ஸ்கிரிப்ட் மேம்பாட்டு செயல்முறையின் ஆரம்பத்தில் பிழைகளைக் கண்டறியவும், குறியீட்டை மறுசீரமைப்பதை எளிதாக்கவும் உதவும்.

முடிவுரை

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

உள்ளூர்மயமாக்கல், சர்வதேசமயமாக்கல் மற்றும் அணுகல்தன்மை போன்ற உலகளாவிய காரணிகளைக் கருத்தில் கொள்வதன் மூலம், டெவலப்பர்கள் ஹைப்பர்ஆப்பைப் பயன்படுத்தி ஒரு பன்முகப்பட்ட உலகளாவிய பார்வையாளர்களுக்குப் பயன்படக்கூடிய மற்றும் அணுகக்கூடிய பயன்பாடுகளை உருவாக்க முடியும். வலை தொடர்ந்து विकसित होत असताना, ஹைப்பர்ஆப்பின் எளிமை மற்றும் செயல்திறன் மீதான கவனம் நவீன வலைப் பயன்பாடுகளை உருவாக்குவதற்கான ஒரு பெருகிய முறையில் பொருத்தமான தேர்வாக மாறும்.