jQuery -
නමුත් මෑත වසරවලදී, වෙබ් සංවර්ධනය සඳහා ප්රමුඛතම මෙවලම ලෙස එහි තත්ත්වය ඛාදනය වී ඇත. jQuery ජනප්රිය වූයේ ඇයි සහ එය විලාසිතාවෙන් ඉවත් වූයේ ඇයිද යන්න සහ නවීන වෙබ් අඩවි නිර්මාණය කිරීම සඳහා එය භාවිතා කිරීම තවමත් සුදුසු වන්නේ කුමන අවස්ථා වලදීද යන්න බලමු.
jQuery හි කෙටි ඉතිහාසයක්
ජෝන් රෙසිග් (
jQuery යනු ආදර්ශ පාඨය මත පදනම් වූ Javascript පුස්තකාලයකි: Javascript කේතයට විනෝදජනක විය යුතුය. jQuery පොදු, පුනරාවර්තන කාර්යයන් ගනී, අනවශ්ය සලකුණු ඉවත් කර, ඒවා කෙටි, අලංකාර සහ පිරිසිදු කරයි.
jQuery හි ප්රධාන වාසි දෙකක් ඇත. පළමුවැන්න වෙබ් පිටු හැසිරවීම සඳහා පහසු API වේ. විශේෂයෙන්ම, එය මූලද්රව්ය තෝරා ගැනීම සඳහා ප්රබල ක්රම සපයයි. ඔබට හැඳුනුම්පත හෝ පන්තිය අනුව තෝරා ගැනීමට පමණක් නොව, jQuery ඔබට සංකීර්ණ ප්රකාශන ලිවීමට ඉඩ සලසයි, උදාහරණයක් ලෙස, අනෙකුත් මූලද්රව්ය සමඟ ඇති සම්බන්ධතා මත පදනම්ව මූලද්රව්ය තෝරා ගැනීමට:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
කාලයාගේ ඇවෑමෙන්, තේරීමේ යාන්ත්රණය වෙනම පුස්තකාලයක් බවට පත් විය
පුස්තකාලයේ දෙවන වාසිය වූයේ එය බ්රව්සර් අතර වෙනස්කම් වියුක්ත කිරීමයි. එම වසරවලදී, සියලුම බ්රව්සර්වල විශ්වාසදායක ලෙස ක්රියා කළ හැකි කේතයක් ලිවීම දුෂ්කර විය.
ප්රමිතිකරණයේ ඌනතාවයෙන් අදහස් වන්නේ සංවර්ධකයින්ට බ්රව්සර් සහ එජ් කේස් අතර ඇති බොහෝ වෙනස්කම් සඳහා ගිණුම් ගත කිරීමට අවශ්ය බවයි. පොඩ්ඩක් බලන්න
// 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 එය විශ්වාස කරයි
jQuery සංවර්ධනය පිළිබඳ පාලනය ද වඩාත් විධිමත් වී ඇත. 2011 දී කණ්ඩායම
2015 දී, jQuery පදනම Dojo පදනම සමඟ ඒකාබද්ධ විය,
තත්වයන් වෙනස් කිරීම
කෙසේ වෙතත්, මෑත වසරවලදී 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);
});
ක්රම
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
ඔබට දැන් භාවිතා කරමින් මූලද්රව්ය පන්ති හැසිරවිය හැක
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
අඩවියේ
ස්වදේශීය විශේෂාංග භාවිතා කිරීම පිටු ක්රියාකාරිත්වය වැඩි දියුණු කරයි. බොහෝ
දෙවන හේතුව නම් බ්රව්සර් පෙරට වඩා වේගයෙන් යාවත්කාලීන වීමයි. ඒවායින් බොහොමයක් භාවිතා කරයි
මෙයින් අදහස් කරන්නේ නව බ්රව්සර් විශේෂාංග සහ දෝෂ නිවැරදි කිරීම් වඩා වේගයෙන් බෙදා හරින අතර සංවර්ධකයින්ට එය තෙක් බලා සිටීමට අවශ්ය නොවන බවයි
තුන්වන හේතුව තමයි Internet Explorer සම්පුර්ණයෙන්ම අදාල නොවන තත්වයකට ලඟා වීම. IE දිගු කලක් තිස්සේ ලොව පුරා වෙබ් සංවර්ධනයට බාධාවක් වී ඇත. එහි දෝෂ පුළුල්ව පැතිර ගිය අතර, 2000 ගණන්වල IE ආධිපත්යය දැරූ අතර සදාහරිත යාවත්කාලීන උපාය මාර්ගයක් භාවිතා නොකළ නිසා, පැරණි අනුවාද තවමත් පොදු වේ.
2016 දී මයික්රොසොෆ්ට් IE ඉවත් කිරීම වේගවත් කළේය.
jQuery පවා IE 8 සහ ඊට පහළින් සහය දීම නැවැත්තුවා
නව රාමු
jQuery පැමිණීමෙන් පසු, නවීන නායකයින් ඇතුළු බොහෝ රාමු නිර්මාණය වී ඇත
පළමුව, ඔවුන් පරිශීලක අතුරුමුහුණත සංරචක වලට වෙන් කිරීම පහසු කරයි. රාමු නිර්මාණය කර ඇත්තේ පිටු විදැහුම්කරණය සහ යාවත්කාලීන කිරීම හැසිරවීමටය. තවද jQuery සාමාන්යයෙන් යාවත්කාලීන කිරීම සඳහා පමණක් භාවිතා කරයි, ආරම්භක පිටුව සේවාදායකයට ලබා දීමේ කාර්යය ඉතිරි කරයි.
අනෙක් අතට, ප්රතික්රියා, කෝණික සහ Vue සංරචක ඔබට HTML, කේතය සහ CSS පවා තදින් සම්බන්ධ කිරීමට ඉඩ සලසයි. අපි කේත පදනම බොහෝ ස්වයං අන්තර්ගත කාර්යයන් සහ පන්ති වලට බෙදනවා සේම, අතුරු මුහුණත නැවත භාවිතා කළ හැකි සංරචක වලට බෙදීමේ හැකියාව සංකීර්ණ අඩවි තැනීම සහ නඩත්තු කිරීම පහසු කරයි.
දෙවන වාසිය නම්, වඩාත් මෑතකාලීන රාමු ප්රකාශන සුසමාදර්ශයකට අනුගත වන අතර, සංවර්ධකයා අතුරු මුහුණත කෙබඳු විය යුතුද යන්න විස්තර කරන අතර අපේක්ෂිත දේ සාක්ෂාත් කර ගැනීම සඳහා අවශ්ය සියලු වෙනස්කම් කිරීමට එය රාමුවට තබයි. මෙම ප්රවේශය jQuery කේතය සංලක්ෂිත අනිවාර්ය ප්රවේශයට පටහැනි වේ.
jQuery වලදී, ඔබ යම් වෙනසක් කිරීමට පියවර පැහැදිලිව ලියා ඇත. ප්රකාශන රාමුවක් තුළ ඔබ පවසන්නේ, "මෙම දත්ත වලට අනුව, අතුරු මුහුණත මේ ආකාරයට විය යුතුය." මෙමගින් දෝෂ රහිත කේතය ලිවීම වඩාත් පහසු කළ හැක.
සංවර්ධකයින් වෙබ් අඩවි සංවර්ධනය සඳහා නව ප්රවේශයන් අනුගමනය කර ඇත, එම නිසා jQuery හි ජනප්රියතාවය අඩු වී ඇත.
jQuery භාවිතා කළ යුත්තේ කවදාද?
ඉතින් කවදද විය යුතුය jQuery භාවිතා කරන්නේද?
ව්යාපෘතියේ සංකීර්ණත්වය වැඩි වුවහොත්, සංකීර්ණත්වය අර්ථවත් ලෙස කළමනාකරණය කිරීමට ඔබට ඉඩ සලසන වෙනත් පුස්තකාලයක් හෝ රාමුවක් සමඟ ආරම්භ කිරීම වඩා හොඳය. උදාහරණයක් ලෙස, අතුරු මුහුණත සංරචක වලට බෙදන්න. එවැනි වෙබ් අඩවිවල jQuery භාවිතා කිරීම මුලින්ම හොඳ පෙනුමක් ඇති නමුත්, එය ඉක්මනින් ස්පැගටි කේතයට තුඩු දෙනු ඇත, එහිදී පිටුවේ කුමන කොටස බලපාන්නේ දැයි ඔබට විශ්වාස නැත.
මම එවැනි තත්වයක සිටිමි, ඕනෑම වෙනසක් කිරීමට උත්සාහ කරන විට, එය දුෂ්කර කාර්යයක් ලෙස දැනේ. jQuery තේරීම්කාරක සේවාදායකය විසින් ජනනය කරන ලද HTML ව්යුහය මත රඳා පවතින බැවින් ඔබ කිසිවක් නොබිඳිනු ඇති බවට ඔබට සහතික විය නොහැක.
පරිමාණයේ අනෙක් කෙළවරේ අන්තර්ක්රියාකාරීත්වය හෝ ගතික අන්තර්ගතයන් අවශ්ය වන සරල අඩවි වේ. මෙම අවස්ථා වලදී මම jQuery වෙත පෙරනිමියෙන් නොසිටිමි, මන්ද ඔබට ස්වදේශීය API සමඟ කළ හැකි තවත් බොහෝ දේ ඇත.
මට වඩා බලවත් දෙයක් අවශ්ය වුවද, මම විශේෂිත පුස්තකාලයක් සොයමි, උදා.
මම හිතන්නේ jQuery භාවිතා කිරීමේ හොඳම තාර්කිකත්වය වන්නේ එය වෙබ් අඩවියක ඉදිරිපස කොටස සඳහා පුළුල් ක්රියාකාරීත්වයක් ලබා දීමයි. විවිධ ස්වදේශීය API හෝ විශේෂිත පුස්තකාල ඉගෙන ගන්නවා වෙනුවට, ඔබට jQuery ලියකියවිලි කියවා ක්ෂණිකව ඵලදායි විය හැක.
අත්යවශ්ය ප්රවේශය හොඳින් පරිමාණය නොකෙරේ, නමුත් අනෙකුත් පුස්තකාලවල ප්රකාශන ප්රවේශයට වඩා ඉගෙනීම පහසුය. පැහැදිලිව සීමිත හැකියාවන් සහිත වෙබ් අඩවියක් සඳහා, jQuery භාවිතා කිරීම සහ සන්සුන්ව වැඩ කිරීම වඩා හොඳය: පුස්තකාලය සංකීර්ණ එකලස් කිරීම හෝ සම්පාදනය කිරීම අවශ්ය නොවේ.
මීට අමතරව, ඔබේ වෙබ් අඩවිය කාලයත් සමඟ සංකීර්ණ නොවන බව ඔබට විශ්වාස නම්, සහ ඔබ ස්වදේශීය ක්රියාකාරීත්වය ගැන තැකීමක් නොකරන්නේ නම්, නිසැකවම jQuery වලට වඩා වැඩි කේතයක් ලිවීමට අවශ්ය වේ නම් jQuery හොඳයි.
ඔබට IE හි පැරණි අනුවාද සඳහා සහය දැක්වීමට අවශ්ය නම් ඔබට මෙම පුස්තකාලයද භාවිතා කළ හැක. එවිට IE වඩාත් ජනප්රිය බ්රව්සරය වූ දිනවල මෙන් jQuery ඔබට සේවය කරනු ඇත.
අනාගතය ගැන සොයා බලන්න
jQuery ඉක්මනින් අතුරුදහන් නොවේ. ඇය
jQuery හි ක්රියාකාරීත්වය සැලකිය යුතු ලෙස වෙනස් නොවන්නේ නම්, ඉදිරි වසර කිහිපය තුළ පුස්තකාලයේ භාවිතය සෙමෙන් නමුත් ක්රමයෙන් පහත වැටීමට ඉඩ ඇත. නව වෙබ් අඩවි ආරම්භයේ සිටම වඩාත් නවීන රාමු භාවිතා කරමින් ගොඩ නැගීමට නැඹුරු වන අතර jQuery සඳහා සුදුසු භාවිත අවස්ථා එන්න එන්නම දුර්ලභ වෙමින් පවතී.
සමහර අය වෙබ් සංවර්ධන මෙවලම් යල් පැන ගිය වේගයට කැමති නැත, නමුත් මට එය වේගවත් ප්රගතියක් පෙන්නුම් කරයි. jQuery අපිට ගොඩක් දේවල් හොඳට කරන්න ඉඩ දීලා තියෙනවා. ඇගේ අනුප්රාප්තිකයන්ට ද එය එසේම වේ.
මූලාශ්රය: www.habr.com