jQuery -
Apan sa bag-ohay nga mga tuig, ang kahimtang niini ingon ang panguna nga himan alang sa pagpalambo sa web nadaot. Atong tan-awon kung ngano nga ang jQuery nahimong popular ug ngano nga kini nawala sa uso, ug usab sa unsang mga kaso nga girekomenda nga gamiton kini aron makahimo mga modernong website.
Usa ka Mubo nga Kasaysayan sa jQuery
John Resig (
Ang jQuery usa ka librarya sa Javascript nga gibase sa motto: Ang Javascript kinahanglan nga makalingaw sa pag-code. Gikuha sa jQuery ang kasagaran, balik-balik nga mga buluhaton, gitangtang ang tanan nga wala kinahanglana nga marka, ug gihimo kini nga mubo, elegante, ug limpyo.
Ang jQuery adunay duha ka nag-unang bentaha. Ang una usa ka kombenyente nga API alang sa pagmaniobra sa mga panid sa web. Sa partikular, naghatag kini kusog nga mga pamaagi sa pagpili sa mga elemento. Dili lamang ikaw makapili pinaagi sa ID o klase, ang jQuery nagtugot kanimo sa pagsulat sa komplikadong mga ekspresyon, pananglitan, sa pagpili sa mga elemento base sa ilang mga relasyon sa ubang mga elemento:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Sa paglabay sa panahon, ang mekanismo sa pagpili nahimong lahi nga librarya
Ang ikaduha nga bentaha sa librarya mao nga kini nagkuha sa mga kalainan tali sa mga browser. Niadtong mga tuiga, lisud ang pagsulat sa code nga magamit nga kasaligan sa tanan nga mga browser.
Ang kakulang sa standardisasyon nagpasabut nga ang mga developer kinahanglan nga mag-asoy sa daghang mga kalainan tali sa mga browser ug mga kaso sa sulud. Tan-awa ang
// 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);
}
Ug salamat sa jQuery, mahimo’g ibalhin sa mga developer ang mga kabalaka bahin sa tanan nga mga pitfalls sa mga abaga sa team nga nagpalambo sa librarya.
Sa ulahi, gipasayon sa jQuery ang pagpatuman sa mas komplikado nga mga teknolohiya sama sa mga animation ug Ajax. Ang library epektibo nga nahimong usa ka standard dependency alang sa mga website. Ug karon kini adunay gahum sa usa ka dako nga bahin sa Internet. Ang W3Techs nagtuo niana
Ang pagkontrol sa pagpalambo sa jQuery nahimo usab nga mas pormal. Sa 2011 ang team
Sa 2015, ang jQuery Foundation naghiusa sa Dojo Foundation,
Nagbag-o nga mga kahimtang
Apan, sa bag-ohay nga mga tuig jQuery
Mga browser
Alang sa daghang mga hinungdan, ang mga kalainan sa browser ug mga limitasyon nahimong dili kaayo hinungdanon. Una, ang standardisasyon miuswag. Ang mga dagkong browser developers (Apple, Google, Microsoft ug Mozilla) nagtinabangay sa pagpalambo
Bisan kung ang mga browser lahi gihapon sa usag usa sa daghang hinungdanon nga mga paagi, ang mga tigbaligya labing menos adunay paagi sa pagpangita ug paghimo usa ka sagad nga database imbis nga
// 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);
});
Mga pamaagi
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Mahimo nimong mamanipula ang mga klase sa elemento gamit ang
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Sa site
Ang paggamit sa lumad nga mga bahin makapauswag sa performance sa panid. Daghan
Ang ikaduha nga hinungdan mao nga ang mga browser labi ka paspas nga na-update kaysa kaniadto. Kadaghanan kanila naggamit
Kini nagpasabot nga ang bag-ong mga feature sa browser ug mga pag-ayo sa bug mas paspas nga gipang-apud-apod, ug ang mga developers dili na kinahanglang maghulat hangtud sa
Ang ikatulo nga rason mao nga ang Internet Explorer nagkaduol sa usa ka kahimtang nga hingpit nga walay kalabotan. Ang IE dugay nang nahimong bane sa web development sa tibuok kalibutan. Ang mga bug niini kaylap, ug tungod kay ang IE nagdominar sa 2000s ug wala mogamit sa usa ka evergreen update nga estratehiya, ang mga daan nga bersyon komon gihapon.
Sa 2016, gipadali sa Microsoft ang pag-decommissioning sa IE,
Bisan ang jQuery mihunong sa pagsuporta sa IE 8 ug sa ubos sugod sa
Bag-ong mga frameworks
Sukad sa pag-abut sa jQuery, daghang mga balangkas ang nahimo, lakip ang mga modernong lider
Una, gipasayon nila ang pagbulag sa user interface ngadto sa mga component. Ang mga balangkas gidisenyo aron pagdumala sa paghubad ug pag-update sa panid. Ug ang jQuery kasagaran gigamit lamang alang sa pag-update, gibiyaan ang tahas sa paghatag sa inisyal nga panid sa server.
Sa pikas bahin, ang React, Angular ug Vue nga mga sangkap nagtugot kanimo sa hugot nga paghiusa sa HTML, code ug bisan CSS. Sama nga atong gibahin ang code base ngadto sa daghang mga kaugalingon nga mga gimbuhaton ug mga klase, ang abilidad sa pagbahin sa interface ngadto sa magamit pag-usab nga mga sangkap makapasayon sa pagtukod ug pagmentinar sa komplikadong mga site.
Ang ikaduha nga bentaha mao nga ang mas bag-o nga mga frameworks nagsunod sa usa ka deklaratibo nga paradigm, diin ang developer naghulagway kung unsa ang hitsura sa interface ug gibilin kini sa framework aron mahimo ang tanan nga kinahanglan nga mga pagbag-o aron makab-ot ang gitinguha. Kini nga pamaagi sukwahi sa imperative nga pamaagi nga nagpaila sa jQuery code.
Sa jQuery, klaro nimong isulat ang mga lakang aron mahimo ang bisan unsang mga pagbag-o. Ug sa usa ka deklaratibo nga balangkas moingon ka, "Sumala sa kini nga datos, ang interface kinahanglan nga ingon niini." Kini makahimo sa pagsulat sa bug-free code nga mas sayon.
Gisagop sa mga developer ang mga bag-ong pamaagi sa pag-uswag sa website, mao nga ang pagkapopular sa jQuery mikunhod.
Kanus-a gamiton ang jQuery?
Busa kanus-a kinahanglan gamita ang jQuery?
Kung ang pagkakomplikado sa proyekto nagdugang, nan mas maayo nga magsugod sa lain nga librarya o balangkas nga nagtugot kanimo sa makahuluganon nga pagdumala sa pagkakomplikado. Pananglitan, bahina ang interface sa mga sangkap. Ang paggamit sa jQuery sa ingon nga mga site mahimo’g maayo tan-awon sa una, apan kini dali nga motultol sa spaghetti code diin dili ka sigurado kung unsang tipik ang makaapekto kung unsang bahin sa panid.
Naa ko sa ingon nga sitwasyon, kung naningkamot sa paghimo sa bisan unsang pagbag-o, ingon og lisud nga buluhaton. Dili ka makasiguro nga dili nimo mabuak ang bisan unsang butang tungod kay ang mga tigpili sa jQuery nagdepende sa istruktura sa HTML nga gihimo sa server.
Sa pikas tumoy sa sukod mao ang yano nga mga site nga nanginahanglan lang gamay nga interaktibidad o dinamikong sulud. Dili usab ako mag-default sa jQuery sa kini nga mga kaso, tungod kay daghan pa ang mahimo nimo sa mga lumad nga API.
Bisan kung kinahanglan nako ang usa ka butang nga labi ka kusgan, mangita ako usa ka espesyal nga librarya, pananglitan.
Sa akong hunahuna ang labing maayo nga katarungan sa paggamit sa jQuery mao nga kini naghatag komprehensibo nga gamit alang sa atubangan nga tumoy sa usa ka website. Imbis nga magkat-on og lain-laing lumad nga API o espesyal nga mga librarya, mahimo nimong basahon ang jQuery nga dokumentasyon ug mahimong produktibo dayon.
Ang imperative approach dili maayo ang sukod, apan mas sayon nga makat-on kay sa deklaratibo nga pamaagi sa ubang mga librarya. Alang sa usa ka site nga adunay klaro nga limitado nga mga kapabilidad, mas maayo nga gamiton ang jQuery ug magtrabaho nga kalmado: ang librarya wala magkinahanglan og komplikado nga asembliya o paghugpong.
Dugang pa, ang jQuery maayo kung masaligon ka nga ang imong site dili mahimong komplikado sa paglabay sa panahon, ug kung dili nimo igsapayan ang lumad nga gamit, nga siguradong magkinahanglan pagsulat labi pa nga code kaysa sa jQuery.
Mahimo usab nimo gamiton kini nga librarya kung kinahanglan nimo nga suportahan ang mga daan nga bersyon sa IE. Unya ang jQuery mag-alagad kanimo sama sa gibuhat kaniadto sa mga adlaw nga ang IE mao ang labing inila nga browser.
Tan-awa ang umaabut
Ang jQuery dili mawala sa dili madugay. Siya
Gawas kung ang pagpaandar sa jQuery mabag-o kaayo, lagmit nga ang paggamit sa librarya magpadayon sa hinay apan makanunayon nga pagkunhod sa sunod nga mga tuig. Ang mga bag-ong website lagmit nga matukod gamit ang labi ka moderno nga mga balangkas gikan sa sinugdanan, ug ang angay nga mga kaso sa paggamit alang sa jQuery nahimong labi ka talagsaon.
Ang ubang mga tawo dili ganahan sa rate sa web development tools nahimong obsolete, apan alang kanako kini mao ang ebidensya sa paspas nga pag-uswag. Gitugotan kami sa jQuery sa pagbuhat sa daghang mga butang nga labi ka maayo. Tinuod usab kini alang sa iyang mga manununod.
Source: www.habr.com