jQuery -
Lakini katika miaka ya hivi karibuni, hadhi yake kama zana kuu ya ukuzaji wa wavuti imeharibika. Hebu tuangalie kwa nini jQuery ikawa maarufu na kwa nini ilianguka nje ya mtindo, na pia katika hali gani bado inashauriwa kuitumia kuunda tovuti za kisasa.
Historia fupi ya jQuery
John Resig (
jQuery ni maktaba ya Javascript kulingana na kauli mbiu: Javascript inapaswa kufurahisha kuweka msimbo. jQuery huchukua kazi za kawaida, zinazojirudia, huondoa alama zote zisizo za lazima, na kuzifanya fupi, za kifahari na safi.
jQuery ina faida kuu mbili. Ya kwanza ni API rahisi ya kudhibiti kurasa za wavuti. Hasa, hutoa njia zenye nguvu za kuchagua vipengele. Sio tu kwamba unaweza kuchagua kwa kitambulisho au darasa, jQuery hukuruhusu kuandika misemo ngumu, kwa mfano, kuchagua vitu kulingana na uhusiano wao na vitu vingine:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Baada ya muda, utaratibu wa uteuzi ukawa maktaba tofauti
Faida ya pili ya maktaba ni kwamba iliondoa tofauti kati ya vivinjari. Katika miaka hiyo, ilikuwa vigumu kuandika msimbo ambao unaweza kufanya kazi kwa uaminifu katika vivinjari vyote.
Ukosefu wa kusawazisha ulimaanisha kuwa wasanidi programu walihitaji kuhesabu tofauti nyingi kati ya vivinjari na visa vya ukingo. Angalia
// 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);
}
Na kutokana na jQuery, wasanidi programu wanaweza kuhamisha wasiwasi kuhusu mitego hii yote kwenye mabega ya timu inayounda maktaba.
Baadaye, jQuery ilifanya iwe rahisi kutekeleza teknolojia ngumu zaidi kama vile uhuishaji na Ajax. Maktaba imekuwa tegemezi la kawaida kwa tovuti. Na leo ina nguvu sehemu kubwa ya mtandao. W3Techs inaamini hivyo
Udhibiti wa ukuzaji wa jQuery pia umerasimishwa zaidi. Mwaka 2011 timu
Mnamo 2015, Wakfu wa jQuery uliunganishwa na Wakfu wa Dojo,
Kubadilisha hali
Walakini, katika miaka ya hivi karibuni jQuery
Vivinjari
Kwa sababu kadhaa, tofauti na vikwazo vya kivinjari vimekuwa muhimu sana. Kwanza, usanifishaji umeboreshwa. Watengenezaji wakuu wa vivinjari (Apple, Google, Microsoft na Mozilla) wanafanya kazi pamoja kukuza
Ingawa vivinjari bado vinatofautiana kutoka kwa kila mmoja kwa njia kadhaa muhimu, wachuuzi angalau wana njia ya kutafuta na kuunda hifadhidata ya kawaida badala ya
// 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);
});
Njia
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Sasa unaweza kuendesha madarasa ya vipengele kwa kutumia
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
tovuti
Kutumia vipengele asili huboresha utendaji wa ukurasa. Nyingi
Sababu ya pili ni kwamba vivinjari vinasasishwa kwa kasi zaidi kuliko hapo awali. Wengi wao hutumia
Hii ina maana kwamba vipengele vipya vya kivinjari na marekebisho ya hitilafu husambazwa kwa kasi zaidi, na watengenezaji hawana budi kungoja hadi
Sababu ya tatu ni kwamba Internet Explorer inakaribia hali ya kutokuwa na umuhimu kabisa. IE kwa muda mrefu imekuwa shida ya ukuzaji wa wavuti kote ulimwenguni. Hitilafu zake zilienea, na kwa sababu IE ilitawala miaka ya 2000 na haikutumia mkakati wa usasishaji wa kijani kibichi, matoleo ya zamani bado ni ya kawaida.
Mnamo 2016, Microsoft iliharakisha uondoaji wa IE,
Hata jQuery iliacha kuunga mkono IE 8 na chini kuanzia
Mifumo mipya
Tangu ujio wa jQuery, mifumo mingi imeundwa, ikiwa ni pamoja na viongozi wa kisasa
Kwanza, hufanya iwe rahisi kutenganisha kiolesura cha mtumiaji katika vipengele. Mifumo imeundwa kushughulikia utoaji na kusasisha ukurasa. Na jQuery kawaida hutumiwa tu kwa uppdatering, na kuacha kazi ya kutoa ukurasa wa awali kwa seva.
Kwa upande mwingine, vipengele vya React, Angular na Vue hukuruhusu kuunganisha HTML, msimbo na hata CSS. Kama vile tunavyogawanya msingi wa msimbo katika vitendaji na madarasa mengi yanayojitosheleza, uwezo wa kugawanya kiolesura katika vipengele vinavyoweza kutumika tena hurahisisha kujenga na kudumisha tovuti changamano.
Faida ya pili ni kwamba mifumo ya hivi karibuni zaidi inafuata dhana ya kutangaza, ambayo msanidi anaelezea jinsi kiolesura kinapaswa kuonekana na kuiacha kwenye mfumo kufanya mabadiliko yote muhimu ili kufikia kile kinachohitajika. Njia hii ni kinyume na mbinu ya lazima ambayo ina sifa ya nambari ya jQuery.
Katika jQuery, unaandika kwa uwazi hatua za kufanya mabadiliko yoyote. Na katika mfumo wa kutangaza unasema, "Kulingana na data hii, kiolesura kinapaswa kuonekana kama hiki." Hii inaweza kufanya kuandika nambari isiyo na hitilafu iwe rahisi sana.
Watengenezaji wametumia mbinu mpya za ukuzaji tovuti, ndiyo maana umaarufu wa jQuery umepungua.
Wakati wa kutumia jQuery?
Hivyo lini lazima kutumia jQuery?
Ikiwa utata wa mradi unaongezeka, basi ni bora kuanza na maktaba nyingine au mfumo unaokuwezesha kusimamia kwa maana utata. Kwa mfano, ugawanye interface katika vipengele. Kutumia jQuery kwenye tovuti kama hizi kunaweza kuonekana kuwa sawa mwanzoni, lakini kutasababisha msimbo wa tambi haraka ambapo huna uhakika ni kipande kipi kinaathiri sehemu gani ya ukurasa.
Nimekuwa katika hali kama hiyo, wakati wa kujaribu kufanya mabadiliko yoyote, inahisi kama kazi ngumu. Huwezi kuwa na uhakika hutavunja chochote kwa sababu viteuzi vya jQuery hutegemea muundo wa HTML unaozalishwa na seva.
Kwa upande mwingine wa kipimo ni tovuti rahisi ambazo zinahitaji tu mwingiliano au maudhui yanayobadilika. Nisingechagua jQuery katika visa hivi pia, kwa sababu kuna mengi zaidi unaweza kufanya na API asili.
Hata nikihitaji kitu chenye nguvu zaidi, nitatafuta maktaba maalumu, k.m.
Nadhani sababu bora ya kutumia jQuery ni kwamba hutoa utendaji kamili kwa mwisho wa tovuti. Badala ya kujifunza aina mbalimbali za API asili au maktaba maalum, unaweza kusoma tu hati za jQuery na kuwa na tija papo hapo.
Mbinu ya lazima haina ukubwa mzuri, lakini ni rahisi kujifunza kuliko mbinu ya kutangaza ya maktaba nyingine. Kwa tovuti iliyo na uwezo mdogo wazi, ni bora kutumia jQuery na kufanya kazi kwa utulivu: maktaba hauhitaji mkusanyiko tata au mkusanyiko.
Zaidi ya hayo, jQuery ni nzuri ikiwa una uhakika kwamba tovuti yako haitakuwa ngumu kwa muda, na ikiwa haujali kuhusu utendakazi asilia, ambayo kwa hakika itahitaji kuandika msimbo zaidi kuliko jQuery.
Unaweza pia kutumia maktaba hii ikiwa unahitaji kuauni matoleo ya zamani ya IE. Kisha jQuery itakutumikia kama ilivyokuwa zamani wakati IE ilikuwa kivinjari maarufu zaidi.
Angalia katika siku zijazo
jQuery haitatoweka hivi karibuni. Yeye
Isipokuwa utendakazi wa jQuery ukibadilika sana, kuna uwezekano kwamba utumiaji wa maktaba utaendelea kupungua polepole lakini polepole katika miaka michache ijayo. Tovuti mpya zinaelekea kujengwa kwa kutumia mifumo ya kisasa zaidi tangu mwanzo, na hali zinazofaa za utumiaji wa jQuery zinazidi kuwa nadra.
Baadhi ya watu hawapendi kasi ya zana za ukuzaji wa wavuti kutotumika, lakini kwangu ni ushahidi wa maendeleo ya haraka. jQuery imeturuhusu kufanya mambo mengi vizuri zaidi. Ndivyo ilivyo kwa warithi wake.
Chanzo: mapenzi.com