jQuery வரலாறு மற்றும் மரபு

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

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

jQuery இன் சுருக்கமான வரலாறு

ஜான் ரெசிக் (ஜான் ரெசிக்) 2005 இல் நூலகத்தின் முதல் பதிப்பை உருவாக்கியது, மற்றும் 2006 இல் வெளியிடப்பட்டது-m, BarCampNYC என்ற நிகழ்வில். அன்று jQuery அதிகாரப்பூர்வ இணையதளம் ஆசிரியர் எழுதினார்:

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

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

// Select every item within the list of people within the contacts element
$('#contacts ul.people li');

காலப்போக்கில், தேர்வு வழிமுறை ஒரு தனி நூலகமாக மாறியது வழங்கக்.

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

தரப்படுத்தல் இல்லாததால், டெவலப்பர்கள் உலாவிகள் மற்றும் எட்ஜ் கேஸ்களுக்கு இடையே உள்ள பல வேறுபாடுகளைக் கணக்கிட வேண்டும். பாருங்கள் இந்த ஆரம்ப jQuery மூல குறியீடு மற்றும் jQuery.browser ஐ தேடவும். இங்கே ஒரு உதாரணம்:

// If Mozilla is used
if ( jQuery.browser == "mozilla" || jQuery.browser == "opera" ) {
        // Use the handy event callback
        jQuery.event.add( document, "DOMContentLoaded", jQuery.ready );

// If IE is used, use the excellent hack by Matthias Miller
// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
} else if ( jQuery.browser == "msie" ) {

        // Only works if you document.write() it
        document.write("<scr" + "ipt id=__ie_init defer=true " + 
                "src=javascript:void(0)></script>");

        // Use the defer script hack
        var script = document.getElementById("__ie_init");
        script.onreadystatechange = function() {
                if ( this.readyState == "complete" )
                        jQuery.ready();
        };

        // Clear from memory
        script = null;

// If Safari  is used
} else if ( jQuery.browser == "safari" ) {
        // Continually check to see if the document.readyState is valid
        jQuery.safariTimer = setInterval(function(){
                // loaded and complete are both valid states
                if ( document.readyState == "loaded" || 
                        document.readyState == "complete" ) {

                        // If either one are found, remove the timer
                        clearInterval( jQuery.safariTimer );
                        jQuery.safariTimer = null;

                        // and execute any waiting functions
                        jQuery.ready();
                }
        }, 10);
}

மேலும் jQuery க்கு நன்றி, டெவலப்பர்கள் இந்த எல்லா ஆபத்துகளையும் பற்றிய கவலைகளை நூலகத்தை உருவாக்கும் குழுவின் தோள்களுக்கு மாற்றலாம்.

பின்னர், jQuery ஆனது அனிமேஷன் மற்றும் அஜாக்ஸ் போன்ற சிக்கலான தொழில்நுட்பங்களை செயல்படுத்துவதை எளிதாக்கியது. நூலகம் இணையதளங்களுக்கான நிலையான சார்புநிலையாக மாறியுள்ளது. இன்று அது இணையத்தின் பெரும் பங்கிற்கு சக்தி அளிக்கிறது. W3Techs நம்புகிறது இன்று 74% தளங்கள் jQuery ஐப் பயன்படுத்துகின்றன.

jQuery மேம்பாட்டின் மீதான கட்டுப்பாடு மேலும் முறைப்படுத்தப்பட்டுள்ளது. 2011 இல் அணி jQuery Board ஐ உருவாக்கியது. மற்றும் 2012 இல் jQuery Board jQuery அறக்கட்டளையாக மாற்றப்பட்டது.

2015 இல், jQuery அறக்கட்டளை டோஜோ அறக்கட்டளையுடன் இணைந்தது, JS அறக்கட்டளையை உருவாக்க, இது பின்னர் Node.js அறக்கட்டளையுடன் இணைக்கப்பட்டது 2019-m உருவாக்க ஓபன்ஜேஎஸ் அறக்கட்டளை, இதில் jQuery ஒன்று "திருப்புமுனை திட்டங்கள். "

மாறும் சூழ்நிலைகள்

இருப்பினும், சமீபத்திய ஆண்டுகளில் jQuery அதன் பிரபலத்தை இழந்தது. கிட்ஹப் எனது தளத்தின் முகப்பில் இருந்து நூலகத்தை அகற்றினேன். பூட்ஸ்ட்ராப் v5 jQuery இல் இருந்து விடுபடஏனென்றால் அது அவனுடையது"வழக்கமான ஜாவாஸ்கிரிப்ட்டுக்கான மிகப்பெரிய கிளையன்ட் சார்பு"(தற்போது 30 KB அளவு, சிறியது மற்றும் நிரம்பியுள்ளது). இணைய மேம்பாட்டில் உள்ள பல போக்குகள் jQuery இன் நிலையை ஒரு அத்தியாவசிய கருவியாக பலவீனப்படுத்தியுள்ளன.

உலாவிகளில்

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

// jQuery
$.getJSON('https://api.com/songs.json')
    .done(function (songs) {
        console.log(songs);
    })

// native
fetch('https://api.com/songs.json')
    .then(function (response) {
        return response.json();
    })
    .then(function (songs) {
        console.log(songs);
    });

முறைகள் querySelector и querySelectorAll நகல் jQuery பிக்கர்கள்:

// jQuery
const fooDivs = $('.foo div');

// native
const fooDivs = document.querySelectorAll('.foo div');

நீங்கள் இப்போது உறுப்பு வகுப்புகளைப் பயன்படுத்தி கையாளலாம் வகுப்பு பட்டியல்:

// jQuery
$('#warning').toggleClass('visible');

// native
document.querySelector('#warning').classList.toggle('visible');

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

சொந்த அம்சங்களைப் பயன்படுத்துவது பக்க செயல்திறனை மேம்படுத்துகிறது. நிறைய jQuery இலிருந்து அனிமேஷன் விளைவுகள் இப்போது நீங்கள் செயல்படுத்த முடியும் மிகவும் பயனுள்ள CSS ஐப் பயன்படுத்துகிறது.

இரண்டாவது காரணம், உலாவிகள் முன்பை விட மிக வேகமாக புதுப்பிக்கப்படுகின்றன. அவர்களில் பெரும்பாலோர் பயன்படுத்துகின்றனர் "எவர்கிரீன்" புதுப்பித்தல் உத்தி, ஆப்பிள் சஃபாரி தவிர. பயனர் ஈடுபாடு இல்லாமல் பின்னணியில் அவற்றைப் புதுப்பிக்க முடியும் மற்றும் OS புதுப்பிப்புகளுடன் இணைக்கப்படவில்லை.

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

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

2016 ஆம் ஆண்டில், மைக்ரோசாப்ட் IE இன் பணிநீக்கத்தை துரிதப்படுத்தியது, ஆதரவளிப்பதை நிறுத்துகிறது பத்தாவது மற்றும் முந்தைய பதிப்புகள், IE 11க்கான ஆதரவைக் கட்டுப்படுத்துகிறது. மேலும் பெருகிய முறையில், இணைய உருவாக்குநர்கள் IE இணக்கத்தன்மையைப் புறக்கணிக்கும் ஆடம்பரத்தைக் கொண்டுள்ளனர்.

jQuery கூட IE 8 ஐ ஆதரிப்பதை நிறுத்தியது பதிப்பு 2.0, 2013 இல் வெளியிடப்பட்டது. சில சந்தர்ப்பங்களில் IE ஆதரவு இன்னும் தேவைப்பட்டாலும், எடுத்துக்காட்டாக, பழைய தளங்களில், இந்த சூழ்நிலைகள் குறைவாகவும் குறைவாகவும் எழுகின்றன.

புதிய கட்டமைப்புகள்

jQuery இன் வருகைக்குப் பிறகு, நவீன தலைவர்கள் உட்பட பல கட்டமைப்புகள் உருவாக்கப்பட்டுள்ளன வினை, கோண и வியு. அவை jQuery ஐ விட இரண்டு முக்கியமான நன்மைகளைக் கொண்டுள்ளன.

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

மறுபுறம், எதிர்வினை, கோண மற்றும் Vue கூறுகள் HTML, குறியீடு மற்றும் CSS ஐ இறுக்கமாக இணைக்க அனுமதிக்கின்றன. குறியீட்டுத் தளத்தை பல தன்னிறைவான செயல்பாடுகள் மற்றும் வகுப்புகளாகப் பிரிப்பதைப் போலவே, இடைமுகத்தை மீண்டும் பயன்படுத்தக்கூடிய கூறுகளாகப் பிரிக்கும் திறன் சிக்கலான தளங்களை உருவாக்குவதையும் பராமரிப்பதையும் எளிதாக்குகிறது.

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

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

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

jQuery எப்போது பயன்படுத்த வேண்டும்?

எனவே எப்போது இருக்க வேண்டும் jQuery பயன்படுத்தவா?

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

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

அளவீட்டின் மறுமுனையில் எளிமையான தளங்கள் உள்ளன, அவை சிறிதளவு ஊடாடுதல் அல்லது மாறும் உள்ளடக்கம் மட்டுமே தேவைப்படும். இந்தச் சமயங்களில் jQueryஐ நான் இயல்புநிலையாகப் பயன்படுத்த மாட்டேன், ஏனென்றால் நேட்டிவ் ஏபிஐகளில் நீங்கள் இன்னும் நிறைய செய்ய முடியும்.

எனக்கு மிகவும் சக்திவாய்ந்த ஒன்று தேவைப்பட்டாலும், நான் ஒரு சிறப்பு நூலகத்தைத் தேடுவேன், எ.கா. axios அஜாக்ஸ் அல்லது animate.css அனிமேஷன்களுக்கு. ஒரு சிறிய செயல்பாட்டிற்காக அனைத்து jQuery ஐ ஏற்றுவதை விட இது எளிதாக இருக்கும்.

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

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

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

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

எதிர்காலத்தை ஒரு பார்வை

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

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

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

ஆதாரம்: www.habr.com

கருத்தைச் சேர்