j క్వెరీ -
కానీ ఇటీవలి సంవత్సరాలలో, వెబ్ అభివృద్ధికి ప్రధాన సాధనంగా దాని స్థితి క్షీణించింది. j క్వెరీ ఎందుకు జనాదరణ పొందిందో మరియు అది ఫ్యాషన్ నుండి ఎందుకు బయటపడిందో చూద్దాం మరియు ఆధునిక వెబ్సైట్లను రూపొందించడానికి ఏ సందర్భాలలో దీన్ని ఉపయోగించడం ఇంకా మంచిది.
j క్వెరీ యొక్క సంక్షిప్త చరిత్ర
జాన్ రెసిగ్ (
j క్వెరీ అనేది నినాదం ఆధారంగా ఒక జావాస్క్రిప్ట్ లైబ్రరీ: జావాస్క్రిప్ట్ కోడ్ చేయడానికి సరదాగా ఉండాలి. j క్వెరీ సాధారణ, పునరావృత విధులను తీసుకుంటుంది, అన్ని అనవసరమైన మార్కప్లను తీసివేస్తుంది మరియు వాటిని చిన్నగా, సొగసైనదిగా మరియు శుభ్రంగా చేస్తుంది.
j క్వెరీకి రెండు ప్రధాన ప్రయోజనాలు ఉన్నాయి. మొదటిది వెబ్ పేజీలను మార్చటానికి అనుకూలమైన API. ముఖ్యంగా, ఇది ఎలిమెంట్లను ఎంచుకోవడానికి శక్తివంతమైన పద్ధతులను అందిస్తుంది. మీరు ID లేదా తరగతి ద్వారా మాత్రమే ఎంచుకోవచ్చు, j క్వెరీ సంక్లిష్ట వ్యక్తీకరణలను వ్రాయడానికి మిమ్మల్ని అనుమతిస్తుంది, ఉదాహరణకు, ఇతర అంశాలతో వాటి సంబంధాల ఆధారంగా మూలకాలను ఎంచుకోవడానికి:
// 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);
}
మరియు j క్వెరీకి ధన్యవాదాలు, డెవలపర్లు ఈ అన్ని ఆపదల గురించి చింతలను లైబ్రరీని అభివృద్ధి చేస్తున్న బృందం భుజాలపైకి మార్చవచ్చు.
తరువాత, j క్వెరీ యానిమేషన్లు మరియు అజాక్స్ వంటి క్లిష్టమైన సాంకేతికతలను అమలు చేయడాన్ని సులభతరం చేసింది. లైబ్రరీ సమర్థవంతంగా వెబ్సైట్లకు ప్రామాణిక డిపెండెన్సీగా మారింది. మరియు నేడు ఇది ఇంటర్నెట్లో భారీ వాటాను కలిగి ఉంది. W3Techs నమ్ముతుంది
j క్వెరీ అభివృద్ధిపై నియంత్రణ కూడా మరింత అధికారికంగా మారింది. 2011లో జట్టు
2015లో, j క్వెరీ ఫౌండేషన్ డోజో ఫౌండేషన్తో విలీనమైంది,
మారుతున్న పరిస్థితులు
అయితే, ఇటీవలి సంవత్సరాలలో j క్వెరీ
బ్రౌజర్లు
అనేక కారణాల వల్ల, బ్రౌజర్ తేడాలు మరియు పరిమితులు తక్కువ ప్రాముఖ్యతను సంతరించుకున్నాయి. మొదట, ప్రామాణీకరణ మెరుగుపడింది. ప్రధాన బ్రౌజర్ డెవలపర్లు (ఆపిల్, గూగుల్, మైక్రోసాఫ్ట్ మరియు మొజిల్లా) అభివృద్ధి చేయడానికి కలిసి పని చేస్తున్నారు
బ్రౌజర్లు ఇప్పటికీ అనేక ముఖ్యమైన మార్గాల్లో ఒకదానికొకటి భిన్నంగా ఉన్నప్పటికీ, విక్రేతలు కనీసం ఒక సాధారణ డేటాబేస్ను శోధించడానికి మరియు సృష్టించడానికి మార్గాలను కలిగి ఉంటారు
// 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');
సైట్లో
స్థానిక లక్షణాలను ఉపయోగించడం పేజీ పనితీరును మెరుగుపరుస్తుంది. అనేక
రెండవ కారణం ఏమిటంటే, బ్రౌజర్లు మునుపటి కంటే చాలా వేగంగా నవీకరించబడతాయి. వాటిని చాలా మంది ఉపయోగిస్తున్నారు
దీని అర్థం కొత్త బ్రౌజర్ ఫీచర్లు మరియు బగ్ పరిష్కారాలు చాలా వేగంగా పంపిణీ చేయబడతాయి మరియు డెవలపర్లు వరకు వేచి ఉండాల్సిన అవసరం లేదు
మూడవ కారణం ఇంటర్నెట్ ఎక్స్ప్లోరర్ పూర్తిగా అసంబద్ధ స్థితికి చేరుకోవడం. IE చాలా కాలంగా ప్రపంచవ్యాప్తంగా వెబ్ అభివృద్ధికి నిషేధంగా ఉంది. దీని బగ్లు విస్తృతంగా వ్యాపించాయి మరియు 2000లలో IE ఆధిపత్యం చెలాయించింది మరియు సతతహరిత నవీకరణ వ్యూహాన్ని ఉపయోగించనందున, పాత సంస్కరణలు ఇప్పటికీ సాధారణం.
2016లో, మైక్రోసాఫ్ట్ IE యొక్క ఉపసంహరణను వేగవంతం చేసింది,
j క్వెరీ కూడా IE 8కి మద్దతివ్వడం ఆపివేసింది మరియు దాని కంటే తక్కువ
కొత్త ఫ్రేమ్వర్క్లు
j క్వెరీ వచ్చినప్పటి నుండి, ఆధునిక నాయకులతో సహా అనేక ఫ్రేమ్వర్క్లు సృష్టించబడ్డాయి
మొదట, వారు వినియోగదారు ఇంటర్ఫేస్ను భాగాలుగా విభజించడాన్ని సులభతరం చేస్తారు. ఫ్రేమ్వర్క్లు పేజీ రెండరింగ్ మరియు నవీకరణను నిర్వహించడానికి రూపొందించబడ్డాయి. మరియు j క్వెరీ సాధారణంగా నవీకరణ కోసం మాత్రమే ఉపయోగించబడుతుంది, సర్వర్కు ప్రారంభ పేజీని అందించే పనిని వదిలివేస్తుంది.
మరోవైపు, రియాక్ట్, యాంగ్యులర్ మరియు వ్యూ కాంపోనెంట్లు HTML, కోడ్ మరియు CSSని కూడా గట్టిగా జత చేయడానికి మిమ్మల్ని అనుమతిస్తాయి. మేము కోడ్ బేస్ను అనేక స్వీయ-నియంత్రణ విధులు మరియు తరగతులుగా విభజించినట్లే, ఇంటర్ఫేస్ను పునర్వినియోగ భాగాలుగా విభజించే సామర్థ్యం సంక్లిష్ట సైట్లను నిర్మించడం మరియు నిర్వహించడం సులభం చేస్తుంది.
రెండవ ప్రయోజనం ఏమిటంటే, ఇటీవలి ఫ్రేమ్వర్క్లు డిక్లరేటివ్ నమూనాకు కట్టుబడి ఉంటాయి, దీనిలో డెవలపర్ ఇంటర్ఫేస్ ఎలా ఉండాలో వివరిస్తాడు మరియు కోరుకున్నది సాధించడానికి అవసరమైన అన్ని మార్పులను చేయడానికి ఫ్రేమ్వర్క్కు వదిలివేస్తాడు. ఈ విధానం j క్వెరీ కోడ్ని వివరించే అత్యవసర విధానానికి విరుద్ధం.
j క్వెరీలో, మీరు ఏవైనా మార్పులు చేయడానికి దశలను స్పష్టంగా వ్రాస్తారు. మరియు డిక్లరేటివ్ ఫ్రేమ్వర్క్లో మీరు ఇలా అంటారు, “ఈ డేటా ప్రకారం, ఇంటర్ఫేస్ ఇలా ఉండాలి.” ఇది బగ్-ఫ్రీ కోడ్ రాయడం చాలా సులభం చేస్తుంది.
వెబ్సైట్ అభివృద్ధికి డెవలపర్లు కొత్త విధానాలను అవలంబించారు, అందుకే j క్వెరీ యొక్క ప్రజాదరణ తగ్గింది.
j క్వెరీని ఎప్పుడు ఉపయోగించాలి?
అయితే ఎప్పుడు ఉండాలి j క్వెరీని ఉపయోగించాలా?
ప్రాజెక్ట్ యొక్క సంక్లిష్టత పెరిగితే, సంక్లిష్టతను అర్థవంతంగా నిర్వహించడానికి మిమ్మల్ని అనుమతించే మరొక లైబ్రరీ లేదా ఫ్రేమ్వర్క్తో ప్రారంభించడం మంచిది. ఉదాహరణకు, ఇంటర్ఫేస్ను భాగాలుగా విభజించండి. అటువంటి సైట్లలో j క్వెరీని ఉపయోగించడం మొదట్లో బాగానే కనిపించవచ్చు, అయితే ఇది త్వరగా స్పఘెట్టి కోడ్కి దారి తీస్తుంది, ఇక్కడ ఏ భాగం పేజీలోని ఏ భాగాన్ని ప్రభావితం చేస్తుందో మీకు ఖచ్చితంగా తెలియదు.
నేను అలాంటి పరిస్థితిలో ఉన్నాను, ఏదైనా మార్పు చేయడానికి ప్రయత్నిస్తున్నప్పుడు, అది చాలా కష్టమైన పనిగా అనిపిస్తుంది. మీరు దేనినీ విచ్ఛిన్నం చేయరని మీరు ఖచ్చితంగా చెప్పలేరు ఎందుకంటే j క్వెరీ సెలెక్టర్లు సర్వర్ ద్వారా రూపొందించబడిన HTML నిర్మాణంపై ఆధారపడి ఉంటాయి.
స్కేల్ యొక్క మరొక చివరలో కొంచెం ఇంటరాక్టివిటీ లేదా డైనమిక్ కంటెంట్ మాత్రమే అవసరమయ్యే సాధారణ సైట్లు ఉన్నాయి. నేను ఈ సందర్భాలలో j క్వెరీని డిఫాల్ట్ చేయను, ఎందుకంటే స్థానిక APIలతో మీరు ఇంకా చాలా ఎక్కువ చేయవచ్చు.
నాకు మరింత శక్తివంతమైనది ఏదైనా అవసరం అయినప్పటికీ, నేను ప్రత్యేకమైన లైబ్రరీ కోసం చూస్తాను, ఉదా.
j క్వెరీని ఉపయోగించడానికి ఉత్తమ హేతువు ఏమిటంటే ఇది వెబ్సైట్ యొక్క ఫ్రంట్ ఎండ్ కోసం సమగ్ర కార్యాచరణను అందిస్తుంది. వివిధ రకాల స్థానిక APIలు లేదా ప్రత్యేక లైబ్రరీలను నేర్చుకునే బదులు, మీరు కేవలం j క్వెరీ డాక్యుమెంటేషన్ను చదవవచ్చు మరియు తక్షణమే ఉత్పాదకంగా మారవచ్చు.
అత్యవసర విధానం బాగా స్కేల్ చేయదు, కానీ ఇతర లైబ్రరీల డిక్లరేటివ్ విధానం కంటే నేర్చుకోవడం సులభం. స్పష్టంగా పరిమిత సామర్థ్యాలతో ఉన్న సైట్ కోసం, j క్వెరీని ఉపయోగించడం మరియు ప్రశాంతంగా పని చేయడం మంచిది: లైబ్రరీకి సంక్లిష్టమైన అసెంబ్లీ లేదా సంకలనం అవసరం లేదు.
అదనంగా, మీ సైట్ కాలక్రమేణా సంక్లిష్టంగా మారదని మీకు నమ్మకం ఉంటే మరియు స్థానిక కార్యాచరణ గురించి మీరు పట్టించుకోనట్లయితే, j క్వెరీ కంటే ఎక్కువ కోడ్ రాయడం ఖచ్చితంగా అవసరం అయితే j క్వెరీ మంచిది.
మీరు IE యొక్క పాత సంస్కరణలకు మద్దతు ఇవ్వాల్సిన అవసరం ఉన్నట్లయితే మీరు ఈ లైబ్రరీని కూడా ఉపయోగించవచ్చు. IE అత్యంత జనాదరణ పొందిన బ్రౌజర్గా ఉన్న రోజుల్లో j క్వెరీ మీకు సేవ చేస్తుంది.
భవిష్యత్తును పరిశీలించండి
j క్వెరీ ఎప్పుడైనా అదృశ్యం కాదు. ఆమె
j క్వెరీ యొక్క కార్యాచరణ గణనీయంగా మారకపోతే, లైబ్రరీ యొక్క వినియోగం తదుపరి కొన్ని సంవత్సరాలలో నెమ్మదిగా కానీ క్రమంగా తగ్గుముఖం పట్టే అవకాశం ఉంది. కొత్త వెబ్సైట్లు ప్రారంభం నుండి మరింత ఆధునిక ఫ్రేమ్వర్క్లను ఉపయోగించి నిర్మించబడతాయి మరియు j క్వెరీకి తగిన వినియోగ సందర్భాలు చాలా అరుదుగా మారుతున్నాయి.
వెబ్ డెవలప్మెంట్ సాధనాలు వాడుకలో లేని రేటును కొంతమంది ఇష్టపడరు, కానీ నాకు ఇది వేగవంతమైన పురోగతికి నిదర్శనం. j క్వెరీ మాకు చాలా మంచి పనులు చేయడానికి అనుమతించింది. ఆమె వారసుల విషయంలోనూ ఇదే పరిస్థితి.
మూలం: www.habr.com