jQuery ඉතිහාසය සහ උරුමය

jQuery ඉතිහාසය සහ උරුමය
jQuery - මෙය වඩාත් ජනප්රියයි ලෝකයේ JavaScript පුස්තකාලයක්. වෙබ් සංවර්ධන ප්‍රජාව එය 2000 ගණන්වල අගභාගයේදී නිර්මාණය කරන ලද අතර, එහි ප්‍රතිඵලයක් ලෙස jQuery භාවිතා කරමින් අඩවි, ප්ලගීන සහ රාමු පොහොසත් පරිසර පද්ධතියක් ඇති විය.

නමුත් මෑත වසරවලදී, වෙබ් සංවර්ධනය සඳහා ප්‍රමුඛතම මෙවලම ලෙස එහි තත්ත්වය ඛාදනය වී ඇත. jQuery ජනප්‍රිය වූයේ ඇයි සහ එය විලාසිතාවෙන් ඉවත් වූයේ ඇයිද යන්න සහ නවීන වෙබ් අඩවි නිර්මාණය කිරීම සඳහා එය භාවිතා කිරීම තවමත් සුදුසු වන්නේ කුමන අවස්ථා වලදීද යන්න බලමු.

jQuery හි කෙටි ඉතිහාසයක්

ජෝන් රෙසිග් (ජෝන් රෙසිග්) 2005 දී පුස්තකාලයේ පළමු අනුවාදය නිර්මාණය කරන ලදී, සහ 2006 දී ප්‍රකාශයට පත් කරන ලදී-m, BarCampNYC නම් උත්සවයකදී. මත jQuery නිල වෙබ් අඩවිය කතුවරයා මෙසේ ලිවීය.

jQuery යනු ආදර්ශ පාඨය මත පදනම් වූ Javascript පුස්තකාලයකි: Javascript කේතයට විනෝදජනක විය යුතුය. 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 සජීවිකරණ සහ Ajax වැනි වඩාත් සංකීර්ණ තාක්ෂණයන් ක්රියාත්මක කිරීම පහසු කළේය. පුස්තකාලය ඵලදායී ලෙස වෙබ් අඩවි සඳහා සම්මත පරායත්තයක් බවට පත් වී ඇත. අද එය අන්තර්ජාලයේ විශාල කොටසකට බලය ලබා දෙයි. W3Techs එය විශ්වාස කරයි අද වන විට අඩවි වලින් 74% ක් jQuery භාවිතා කරයි.

jQuery සංවර්ධනය පිළිබඳ පාලනය ද වඩාත් විධිමත් වී ඇත. 2011 දී කණ්ඩායම jQuery Board හැදුවා. සහ 2012 දී jQuery මණ්ඩලය jQuery පදනම බවට පරිවර්තනය විය.

2015 දී, jQuery පදනම Dojo පදනම සමඟ ඒකාබද්ධ විය, JS පදනම නිර්මාණය කිරීමට, පසුව එය Node.js පදනම සමඟ ඒකාබද්ධ විය 2019-m නිර්මාණය කිරීමට OpenJS පදනම, jQuery එකක් වූ "ඉදිරිගාමී ව්යාපෘති. "

තත්වයන් වෙනස් කිරීම

කෙසේ වෙතත්, මෑත වසරවලදී jQuery එහි ජනප්රියත්වය නැති විය. GitHub මගේ අඩවියේ ඉදිරිපසින් පුස්තකාලය ඉවත් කළා. Bootstrap v5 jQuery වලින් මිදෙන්නමොකද ඒක එයාගේ"සාමාන්‍ය JavaScript සඳහා විශාලතම සේවාදායක යැපීම"(දැනට 30 KB ප්‍රමාණයෙන්, කුඩා කර අසුරා ඇත). වෙබ් සංවර්ධනයේ ප්‍රවණතා කිහිපයක් අත්‍යවශ්‍ය මෙවලමක් ලෙස jQuery හි පිහිටීම දුර්වල කර ඇත.

බ්‍රව්සර්

හේතු ගණනාවක් නිසා, බ්රවුසරයේ වෙනස්කම් සහ සීමාවන් අඩු වැදගත්කමක් ලබා ඇත. පළමුව, ප්රමිතිකරණය වැඩි දියුණු කර ඇත. ප්‍රධාන බ්‍රව්සර් සංවර්ධකයින් (ඇපල්, ගූගල්, මයික්‍රොසොෆ්ට් සහ මොසිල්ලා) සංවර්ධනය කිරීමට එක්ව ක්‍රියා කරයි වෙබ් ප්රමිති රාමුව තුළ Web Hypertext Application Technology Working Group.
බ්‍රව්සර් තවමත් වැදගත් ක්‍රම කිහිපයකින් එකිනෙකට වෙනස් වුවද, වෙළෙන්දන්ට අවම වශයෙන් පොදු දත්ත සමුදායක් සෙවීමට සහ නිර්මාණය කිරීමට මාධ්‍යයක් තිබේ. ස්ථිර යුද්ධය එක්ව. ඒ අනුව, බ්‍රව්සර් API නව හැකියාවන් ලබා ඇත. උදා, Fetch API jQuery වෙතින් Ajax ශ්‍රිත ප්‍රතිස්ථාපනය කිරීමේ හැකියාව ඇත:

// 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 භාවිතා කරමින්.

දෙවන හේතුව නම් බ්‍රව්සර් පෙරට වඩා වේගයෙන් යාවත්කාලීන වීමයි. ඒවායින් බොහොමයක් භාවිතා කරයි "සදාහරිත" අලුත් කිරීමේ උපාය, Apple Safari හැර. පරිශීලක සහභාගීත්වයකින් තොරව ඒවා පසුබිමේ යාවත්කාලීන කළ හැකි අතර OS යාවත්කාලීන කිරීම්වලට සම්බන්ධ නොවේ.

මෙයින් අදහස් කරන්නේ නව බ්‍රව්සර් විශේෂාංග සහ දෝෂ නිවැරදි කිරීම් වඩා වේගයෙන් බෙදා හරින අතර සංවර්ධකයින්ට එය තෙක් බලා සිටීමට අවශ්‍ය නොවන බවයි මට භාවිතා කළ හැකිද? පිළිගත හැකි මට්ටමකට ළඟා වනු ඇත. jQuery හෝ polyfills බාගත නොකර ඔවුන්ට විශ්වාසයෙන් නව විශේෂාංග සහ API භාවිත කළ හැක.

තුන්වන හේතුව තමයි Internet Explorer සම්පුර්ණයෙන්ම අදාල නොවන තත්වයකට ලඟා වීම. IE දිගු කලක් තිස්සේ ලොව පුරා වෙබ් සංවර්ධනයට බාධාවක් වී ඇත. එහි දෝෂ පුළුල්ව පැතිර ගිය අතර, 2000 ගණන්වල IE ආධිපත්‍යය දැරූ අතර සදාහරිත යාවත්කාලීන උපාය මාර්ගයක් භාවිතා නොකළ නිසා, පැරණි අනුවාද තවමත් පොදු වේ.

2016 දී මයික්‍රොසොෆ්ට් IE ඉවත් කිරීම වේගවත් කළේය. සහාය දීම නතර කිරීම දහවන සහ පෙර අනුවාද, IE 11 වෙත සහය සීමා කිරීම. සහ වැඩි වැඩියෙන්, වෙබ් සංවර්ධකයින්ට IE ගැළපුම නොසලකා හැරීමේ සුඛෝපභෝගීත්වය ඇත.

jQuery පවා IE 8 සහ ඊට පහළින් සහය දීම නැවැත්තුවා 2.0 වන අනුවාදය, 2013 දී ප්‍රකාශයට පත් කරන ලදී. සමහර අවස්ථාවල IE සහාය තවමත් අවශ්‍ය වුවද, උදාහරණයක් ලෙස, පැරණි වෙබ් අඩවි වල, මෙම තත්වයන් අඩු හා අඩු වාර ගණනක් පැන නගී.

නව රාමු

jQuery පැමිණීමෙන් පසු, නවීන නායකයින් ඇතුළු බොහෝ රාමු නිර්මාණය වී ඇත React, ෙකෝණික и Vue. ඔවුන්ට jQuery වලට වඩා වැදගත් වාසි දෙකක් ඇත.

පළමුව, ඔවුන් පරිශීලක අතුරුමුහුණත සංරචක වලට වෙන් කිරීම පහසු කරයි. රාමු නිර්මාණය කර ඇත්තේ පිටු විදැහුම්කරණය සහ යාවත්කාලීන කිරීම හැසිරවීමටය. තවද jQuery සාමාන්‍යයෙන් යාවත්කාලීන කිරීම සඳහා පමණක් භාවිතා කරයි, ආරම්භක පිටුව සේවාදායකයට ලබා දීමේ කාර්යය ඉතිරි කරයි.

අනෙක් අතට, ප්‍රතික්‍රියා, කෝණික සහ Vue සංරචක ඔබට HTML, කේතය සහ CSS පවා තදින් සම්බන්ධ කිරීමට ඉඩ සලසයි. අපි කේත පදනම බොහෝ ස්වයං අන්තර්ගත කාර්යයන් සහ පන්ති වලට බෙදනවා සේම, අතුරු මුහුණත නැවත භාවිතා කළ හැකි සංරචක වලට බෙදීමේ හැකියාව සංකීර්ණ අඩවි තැනීම සහ නඩත්තු කිරීම පහසු කරයි.

දෙවන වාසිය නම්, වඩාත් මෑතකාලීන රාමු ප්‍රකාශන සුසමාදර්ශයකට අනුගත වන අතර, සංවර්ධකයා අතුරු මුහුණත කෙබඳු විය යුතුද යන්න විස්තර කරන අතර අපේක්ෂිත දේ සාක්ෂාත් කර ගැනීම සඳහා අවශ්‍ය සියලු වෙනස්කම් කිරීමට එය රාමුවට තබයි. මෙම ප්‍රවේශය jQuery කේතය සංලක්ෂිත අනිවාර්ය ප්‍රවේශයට පටහැනි වේ.

jQuery වලදී, ඔබ යම් වෙනසක් කිරීමට පියවර පැහැදිලිව ලියා ඇත. ප්‍රකාශන රාමුවක් තුළ ඔබ පවසන්නේ, "මෙම දත්ත වලට අනුව, අතුරු මුහුණත මේ ආකාරයට විය යුතුය." මෙමගින් දෝෂ රහිත කේතය ලිවීම වඩාත් පහසු කළ හැක.

සංවර්ධකයින් වෙබ් අඩවි සංවර්ධනය සඳහා නව ප්‍රවේශයන් අනුගමනය කර ඇත, එම නිසා jQuery හි ජනප්‍රියතාවය අඩු වී ඇත.

jQuery භාවිතා කළ යුත්තේ කවදාද?

ඉතින් කවදද විය යුතුය jQuery භාවිතා කරන්නේද?

ව්යාපෘතියේ සංකීර්ණත්වය වැඩි වුවහොත්, සංකීර්ණත්වය අර්ථවත් ලෙස කළමනාකරණය කිරීමට ඔබට ඉඩ සලසන වෙනත් පුස්තකාලයක් හෝ රාමුවක් සමඟ ආරම්භ කිරීම වඩා හොඳය. උදාහරණයක් ලෙස, අතුරු මුහුණත සංරචක වලට බෙදන්න. එවැනි වෙබ් අඩවිවල jQuery භාවිතා කිරීම මුලින්ම හොඳ පෙනුමක් ඇති නමුත්, එය ඉක්මනින් ස්පැගටි කේතයට තුඩු දෙනු ඇත, එහිදී පිටුවේ කුමන කොටස බලපාන්නේ දැයි ඔබට විශ්වාස නැත.

මම එවැනි තත්වයක සිටිමි, ඕනෑම වෙනසක් කිරීමට උත්සාහ කරන විට, එය දුෂ්කර කාර්යයක් ලෙස දැනේ. jQuery තේරීම්කාරක සේවාදායකය විසින් ජනනය කරන ලද HTML ව්‍යුහය මත රඳා පවතින බැවින් ඔබ කිසිවක් නොබිඳිනු ඇති බවට ඔබට සහතික විය නොහැක.

පරිමාණයේ අනෙක් කෙළවරේ අන්තර්ක්‍රියාකාරීත්වය හෝ ගතික අන්තර්ගතයන් අවශ්‍ය වන සරල අඩවි වේ. මෙම අවස්ථා වලදී මම jQuery වෙත පෙරනිමියෙන් නොසිටිමි, මන්ද ඔබට ස්වදේශීය API සමඟ කළ හැකි තවත් බොහෝ දේ ඇත.

මට වඩා බලවත් දෙයක් අවශ්‍ය වුවද, මම විශේෂිත පුස්තකාලයක් සොයමි, උදා. අක්ෂ Ajax සඳහා හෝ Animate.css සජීවිකරණ සඳහා. කුඩා ක්‍රියාකාරීත්වයක් සඳහා සියලුම jQuery පූරණය කිරීමට වඩා මෙය පහසු වනු ඇත.

මම හිතන්නේ jQuery භාවිතා කිරීමේ හොඳම තාර්කිකත්වය වන්නේ එය වෙබ් අඩවියක ඉදිරිපස කොටස සඳහා පුළුල් ක්‍රියාකාරීත්වයක් ලබා දීමයි. විවිධ ස්වදේශීය API හෝ විශේෂිත පුස්තකාල ඉගෙන ගන්නවා වෙනුවට, ඔබට jQuery ලියකියවිලි කියවා ක්ෂණිකව ඵලදායි විය හැක.

අත්‍යවශ්‍ය ප්‍රවේශය හොඳින් පරිමාණය නොකෙරේ, නමුත් අනෙකුත් පුස්තකාලවල ප්‍රකාශන ප්‍රවේශයට වඩා ඉගෙනීම පහසුය. පැහැදිලිව සීමිත හැකියාවන් සහිත වෙබ් අඩවියක් සඳහා, jQuery භාවිතා කිරීම සහ සන්සුන්ව වැඩ කිරීම වඩා හොඳය: පුස්තකාලය සංකීර්ණ එකලස් කිරීම හෝ සම්පාදනය කිරීම අවශ්ය නොවේ.

මීට අමතරව, ඔබේ වෙබ් අඩවිය කාලයත් සමඟ සංකීර්ණ නොවන බව ඔබට විශ්වාස නම්, සහ ඔබ ස්වදේශීය ක්‍රියාකාරීත්වය ගැන තැකීමක් නොකරන්නේ නම්, නිසැකවම jQuery වලට වඩා වැඩි කේතයක් ලිවීමට අවශ්‍ය වේ නම් jQuery හොඳයි.

ඔබට IE හි පැරණි අනුවාද සඳහා සහය දැක්වීමට අවශ්‍ය නම් ඔබට මෙම පුස්තකාලයද භාවිතා කළ හැක. එවිට IE වඩාත් ජනප්‍රිය බ්‍රව්සරය වූ දිනවල මෙන් jQuery ඔබට සේවය කරනු ඇත.

අනාගතය ගැන සොයා බලන්න

jQuery ඉක්මනින් අතුරුදහන් නොවේ. ඇය ක්රියාකාරීව සංවර්ධනය වෙමින් පවතී, සහ බොහෝ සංවර්ධකයින් ස්වදේශීය ක්‍රම තිබේ නම් පවා එහි API භාවිතා කිරීමට කැමැත්තක් දක්වයි. පුස්තකාලය ඕනෑම බ්‍රවුසරයක වැඩ කරන වෙබ් අඩවි නිර්මාණය කිරීමට සංවර්ධකයින්ගේ සම්පූර්ණ පරම්පරාවකට උදව් කර ඇත. නව පුස්තකාල, රාමු සහ සුසමාදර්ශ මගින් එය බොහෝ ආකාරවලින් ප්‍රතිස්ථාපනය කර ඇතත්, නවීන වෙබ් නිර්මාණය කිරීමේදී jQuery විශාල වශයෙන් ධනාත්මක කාර්යභාරයක් ඉටු කර ඇත.

jQuery හි ක්‍රියාකාරීත්වය සැලකිය යුතු ලෙස වෙනස් නොවන්නේ නම්, ඉදිරි වසර කිහිපය තුළ පුස්තකාලයේ භාවිතය සෙමෙන් නමුත් ක්‍රමයෙන් පහත වැටීමට ඉඩ ඇත. නව වෙබ් අඩවි ආරම්භයේ සිටම වඩාත් නවීන රාමු භාවිතා කරමින් ගොඩ නැගීමට නැඹුරු වන අතර jQuery සඳහා සුදුසු භාවිත අවස්ථා එන්න එන්නම දුර්ලභ වෙමින් පවතී.

සමහර අය වෙබ් සංවර්ධන මෙවලම් යල් පැන ගිය වේගයට කැමති නැත, නමුත් මට එය වේගවත් ප්‍රගතියක් පෙන්නුම් කරයි. jQuery අපිට ගොඩක් දේවල් හොඳට කරන්න ඉඩ දීලා තියෙනවා. ඇගේ අනුප්‍රාප්තිකයන්ට ද එය එසේම වේ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න