jQuery -
Men, nan dènye ane yo, estati li kòm premye zouti pou devlopman entènèt te erode. Ann gade poukisa jQuery te vin popilè ak poukisa li te tonbe nan mòd, epi tou nan ki ka li toujou rekòmande pou sèvi ak li yo kreye sit entènèt modèn.
Yon istwa brèf nan jQuery
John Resig (
jQuery se yon bibliyotèk Javascript ki baze sou deviz: Javascript ta dwe amizan pou kode. jQuery pran travay komen, repetitif, retire tout mak ki pa nesesè yo, epi fè yo kout, elegant, ak pwòp.
jQuery gen de avantaj prensipal. Premye a se yon API pratik pou manipile paj wèb. An patikilye, li bay metòd pwisan pou chwazi eleman. Non sèlman ou ka chwazi pa ID oswa klas, jQuery pèmèt ou ekri ekspresyon konplèks, pou egzanp, chwazi eleman ki baze sou relasyon yo ak lòt eleman:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Apre yon sèten tan, mekanis seleksyon an te vin tounen yon bibliyotèk separe
Dezyèm avantaj bibliyotèk la se te ke li abstrè diferans ki genyen ant navigatè yo. Nan ane sa yo, li te difisil pou ekri kòd ki te kapab travay fiable nan tout navigateurs.
Mank normalisation te vle di ke devlopè yo te bezwen pou kont pou anpil diferans ant navigatè ak ka kwen. Pran yon gade nan
// 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);
}
Ak gras a jQuery, devlopè yo te kapab deplase enkyetid yo sou tout enkonvenyans sa yo sou zepòl yo nan ekip la devlope bibliyotèk la.
Apre sa, jQuery te fè li pi fasil pou aplike teknoloji pi konplèks tankou animasyon ak Ajax. Bibliyotèk la te vin efektivman yon depandans estanda pou sit entènèt. Ak jodi a li pouvwa yon gwo pati nan entènèt la. W3Techs kwè sa
Kontwòl sou devlopman jQuery te vin pi ofisyèlman tou. Nan 2011 ekip la
An 2015, Fondasyon jQuery te rantre ak Fondasyon Dojo,
Chanje sikonstans
Sepandan, nan dènye ane yo jQuery
Navigatè
Pou yon kantite rezon, diferans navigatè ak limit yo te vin mwens enpòtan. Premyèman, normalisation te amelyore. Gwo devlopè navigatè (Apple, Google, Microsoft ak Mozilla) ap travay ansanm pou devlope
Malgre ke navigatè toujou diferan youn ak lòt nan yon kantite fason enpòtan, machann yo omwen gen yon mwayen pou fè rechèch ak kreye yon baz done komen olye pou yo.
// 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);
});
Metòd
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Ou kapab kounye a manipile klas eleman lè l sèvi avèk
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Sou sit la
Sèvi ak karakteristik natif natal amelyore pèfòmans paj la. Anpil
Dezyèm rezon an se ke navigatè yo mete ajou anpil pi vit pase anvan. Pifò nan yo itilize
Sa vle di ke nouvo karakteristik navigatè ak korije ensèk yo distribye pi vit, ak devlopè yo pa oblije rete tann jiskaske yo
Twazyèm rezon an se ke Internet Explorer ap apwoche yon eta de total non pertinence. IE depi lontan te malè devlopman entènèt atravè mond lan. Pinèz li yo te gaye toupatou, epi paske IE te domine ane 2000 yo epi li pa t 'sèvi ak yon estrateji aktyalizasyon Evergreen, ansyen vèsyon yo toujou komen.
Nan 2016, Microsoft akselere dekomisyon an nan IE,
Menm jQuery sispann sipòte IE 8 ak pi ba a kòmanse nan
Nouvo kad
Depi avènement de jQuery, anpil kad yo te kreye, ki gen ladan lidè modèn
Premyèman, yo fè li fasil separe koòdone itilizatè a an eleman. Kad yo fèt pou okipe rann paj ak ajou. Ak jQuery anjeneral itilize sèlman pou mete ajou, kite travay la nan bay paj inisyal la nan sèvè a.
Nan lòt men an, eleman React, Angilè ak Vue pèmèt ou byen marye HTML, kòd ak menm CSS. Menm jan nou divize baz kòd la nan anpil fonksyon endepandan ak klas, kapasite nan divize koòdone a nan eleman ki kapab itilize ankò fè li pi fasil yo bati ak kenbe sit konplèks.
Dezyèm avantaj la se ke kad ki pi resan konfòme yo ak yon paradigm deklaratif, nan ki pwomotè a dekri ki sa koòdone a ta dwe sanble ak kite li nan kad la fè tout chanjman ki nesesè yo reyalize sa yo vle. Apwòch sa a kontrè ak apwòch enperatif ki karakterize kòd jQuery.
Nan jQuery, ou klèman ekri etap sa yo pou fè nenpòt chanjman. Ak nan yon fondasyon deklaratif ou di, "Dapre done sa a, koòdone a ta dwe sanble sa a." Sa ka fè ekri kòd san ensèk anpil pi fasil.
Devlopè yo te adopte nouvo apwòch nan devlopman sit entènèt, ki se poukisa popilarite jQuery a te diminye.
Ki lè pou itilize jQuery?
Se konsa, lè ta dwe itilize jQuery?
Si konpleksite nan pwojè a ogmante, Lè sa a, li pi bon kòmanse ak yon lòt bibliyotèk oswa kad ki pèmèt ou jere konpleksite. Pou egzanp, divize koòdone a an eleman. Sèvi ak jQuery sou sit sa yo ka parèt byen nan premye, men li pral byen vit mennen nan kòd espageti kote ou pa sèten ki fragman afekte ki pati nan paj la.
Mwen te nan yon sitiyasyon konsa, lè m ap eseye fè nenpòt chanjman, li santi l tankou yon travay difisil. Ou pa ka asire w ke ou pa pral kraze anyen paske seleksyon jQuery depann sou estrikti HTML ki te pwodwi pa sèvè a.
Nan lòt bout la nan echèl la se sit senp ki sèlman mande pou yon ti jan nan entèaktif oswa kontni dinamik. Mwen pa ta default nan jQuery nan ka sa yo tou, paske gen anpil plis ou ka fè ak API natif natal.
Menm si mwen bezwen yon bagay ki pi pwisan, mwen pral chèche yon bibliyotèk espesyalize, pa egzanp.
Mwen panse ke rezon ki pi bon pou itilize jQuery se ke li bay fonksyonalite konplè pou fen devan yon sit entènèt. Olye pou w aprann yon varyete API natif natal oswa bibliyotèk espesyalize, ou ka li jis dokiman jQuery a epi vin pwodiktif imedyatman.
Apwòch enperatif la pa echèl byen, men li pi fasil pou aprann pase apwòch deklaratif lòt bibliyotèk yo. Pou yon sit ki gen kapasite klèman limite, li pi bon pou itilize jQuery ak travay avèk kalm: bibliyotèk la pa mande pou asanblaj konplèks oswa konpilasyon.
Anplis de sa, jQuery bon si ou gen konfyans ke sit ou a pa pral vin konplike sou tan, epi si ou pa pran swen sou fonksyonalite natif natal, ki pral sètènman mande pou ekri plis kòd pase jQuery.
Ou ka sèvi ak bibliyotèk sa a tou si ou bezwen sipòte ansyen vèsyon IE. Lè sa a, jQuery pral sèvi ou tankou li te fè tounen nan jou yo lè IE te navigatè ki pi popilè.
Gade nan lavni an
jQuery pa pral disparèt nenpòt ki lè byento. Li
Sòf si fonksyonalite jQuery a chanje anpil, li posib ke itilizasyon bibliyotèk la ap kontinye diminye tou dousman men piti piti pandan kèk ane kap vini yo. Nouvo sit entènèt yo gen tandans yo dwe bati lè l sèvi avèk kad ki pi modèn depi nan kòmansman an, ak ka itilize apwopriye pou jQuery yo ap vin de pli zan pli ra.
Gen kèk moun ki pa renmen pousantaj nan ki zouti devlopman entènèt vin demode, men pou mwen li se prèv pwogrè rapid. jQuery te pèmèt nou fè anpil bagay pi byen. Menm bagay la tou vre pou siksesè li yo.
Sous: www.habr.com