# வியூ ஜேஎஸ்



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

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

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

## வரலாறு
வியூ இவான் யூ என்பவரால் உருவாக்கப்பட்டது. அவர் கூகுள் நிறுவனத்தில், ஆங்குலர் ஐப் பயன்படுத்தி பல திட்டங்களில் பணிபுரிந்த பிறகு அதை உருவாக்கினார். பின்னர் அவர் தனது சிந்தனை செயற்முறையைச் சுருக்கமாகக் கூறினார்: "ஆங்குலர் ஐப் பற்றி நான் மிகவும் விரும்பும் பகுதியைப் பிரித்தெடுத்து, மிகவும் இலகுவான ஒன்றை உருவாக்க முடிந்தால் என்ன? என நான் எண்ணினேன்".  

சூலை 2013 அன்று முதல் மூல நிரற்தொடர் ஒப்புவிக்கப்பட்டது; அந்நேரத்தில் அது முதலில் "Seed" எனப்பெயரிடப்பட்டது. பிப்ரவரி 2014 அன்று வியூ முதன்முதலில் வெளியிடப்பட்டது.  

பதிப்புப் பெயர்கள் பெரும்பாலும் மங்கா, அனிமேஷிலிருந்து பெறப்படுகின்றன, அவற்றில் பெரும்பாலானவை அறிவியல் புனைகதை வகைக்குள் உள்ளன.  

### பதிப்புகள்
| பதிப்பு | வெளியிட்ட நாள் | தலைப்பு | நீள்ளாதரவின் முடிவு | முடிவு |
| --- | --- | --- | --- | --- |
| 3.5 | Tengen Toppa Gurren Lagann |  |  |  |
| 3.4 | Slam Dunk |  |  |  |
| 3.4 | Slam Dunk |  |  |  |
| 3.3 | Rurouni Kenshin |  |  |  |
| 3.2 | Quintessential Quintuplets |  |  |  |
| 3.1 | Pluto |  |  |  |
| 3.0 | One Piece |  |  |  |
| 2.6 | Macross |  |  |  |
| 2.5 | Level E |  |  |  |
| 2.4 | Kill la Kill |  |  |  |
| 2.3 | JoJo's Bizarre Adventure |  |  |  |
| 2.2 | Initial D |  |  |  |
| 2.1 | Hunter X Hunter |  |  |  |
| 2.0 | Ghost in the Shell |  |  |  |
| 1.0 | Evangelion |  |  |  |
| 0.12 | Dragon Ball |  |  |  |
| 0.11 | Cowboy Bebop |  |  |  |
| 0.10 | Blade Runner |  |  |  |
| 0.9 | Animatrix |  |  |  |
| 0.8 |  |  |  |  |
| 0.7 |  |  |  |  |
| 0.6 | VueJS | } |  |  |

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

## தனிச்சிறப்பு

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

<syntaxhighlight lang='html'>  
<template>  
<div id="tuto">  
<button-clicked v-bind:initial-count="0"></button-clicked>  
</div>  
</template>  

<script>  
Vue.component('button-clicked', {  
props: ['initialCount'],  
data: => ({  
count: 0,  
}),  
template: '<button v-on:click="onClick">Clicked times</button>',  
computed: {  
countTimesTwo {  
return this.count * 2;  
}  
},  
watch: {  
count(newValue, oldValue) {  
console.log(`The value of count is changed from ${oldValue} to ${newValue}.`);  
}  
},  
methods: {  
onClick {  
this.count += 1;  
}  
},  
mounted {  
this.count = this.initialCount;  
}  
});  

new Vue({  
el: '#tuto',  
});  
</script>  

</syntaxhighlight>  

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

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

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

### திசைவித்தல்
ஒற்றைப்பக்கப் பயன்பாடுகளின் (SPAs) பாரம்பரிய குறைபாடு என்பது ஒரு குறிப்பிட்ட வலைப்பக்கத்திற்குள் சரியான "துணை" பக்கத்திற்கான இணைப்புகளைப் பகிர இயலாமையே.  

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

### அதிகாரமுறைக் கருவி
- **Devtools** - வியூ ஜேஎஸ் பயன்பாடுகளைப் பிழைதிருத்துவதற்கான உலாவி devtools நீட்டிப்பு
- **Vite**' - விரைவான வியூ ஜேஎஸ் மேம்பாட்டிற்கான நிலையான கருவி
- **Vue Loader** - ஒற்றைக் கோப்பு கூறுகள் (SFC) எனப்படும் வடிவத்தில் வியூ கூறுகளை எழுத அனுமதிக்கும் வலைப்பொதி ஏற்றி

### அதிகாரமுறை நிரலகம்
- **Vue Router** – அதிகாரமுறைத் திசைவி
- **Vuex** – ஃப்ளக்ஸ் ஆல் ஈர்க்கப்பட்டு மையப்பாடுற்ற நிலை மேலாண்மை
- **Vue Server Renderer** – வழங்கன் பக்க மீட்தருகை
- **Pinia** – புது எளிய நிலை மேலாண்மை