Imbali yejQuery kunye neLifa

Imbali yejQuery kunye neLifa
jQuery - le yeyona idumileyo kwihlabathi ilayibrari yeJavaScript. Uluntu lophuhliso lwewebhu lwadala ngasekupheleni kweminyaka yee-2000, okubangele ubutyebi bendalo beendawo, iiplagi, kunye nezicwangciso kusetyenziswa i-jQuery phantsi kwe-hood.

Kodwa kwiminyaka yakutshanje, imeko yayo njengesixhobo sokuqala sophuhliso lwewebhu iye yaphela. Makhe sijonge ukuba kutheni i-jQuery yaduma kwaye kwakutheni ukuze iyeke kwifashoni, kwaye kweziphi iimeko kusacetyiswa ukuba uyisebenzise ukwenza iiwebhusayithi zale mihla.

Imbali emfutshane yejQuery

UJohn Resig (UJohn Resig) wenze inguqulelo yokuqala yethala leencwadi ngo-2005, kwaye yapapashwa ngo-2006-m, kwisiganeko esibizwa BarCampNYC. Vula Iwebhusayithi esemthethweni ye-jQuery umbhali wabhala:

I-jQuery yilayibrari yeJavascript esekelwe kwimotto: iJavascript kufuneka ibe mnandi kwikhowudi. I-jQuery ithatha imisebenzi eqhelekileyo, ephindaphindwayo, ihluba lonke uphawu olungeyomfuneko, kwaye iyenze ibemfutshane, ibe ntle, kwaye icoceke.

I-jQuery ineenzuzo ezimbini eziphambili. Eyokuqala yi-API efanelekileyo yokwenza amaphepha ewebhu. Ngokukodwa, ibonelela ngeendlela ezinamandla zokukhetha izinto. Ayinakukhetha kuphela ngesazisi okanye udidi, ijQuery ikuvumela ukuba ubhale iintetho ezintsonkothileyo, umzekelo, ukukhetha izinto ezisekwe kubudlelwane bazo nezinye izinto:

// Select every item within the list of people within the contacts element
$('#contacts ul.people li');

Ekuhambeni kwexesha, indlela yokukhetha yaba lithala leencwadi elahlukileyo Sizzle.

Inzuzo yesibini yethala leencwadi yayikukuba ikhuphe umahluko phakathi kwabakhangeli. Ngaloo minyaka, kwakunzima ukubhala ikhowudi enokusebenza ngokuthembekileyo kuzo zonke iiphequluli.

Ukunqongophala komgangatho kuthetha ukuba abaphuhlisi kufuneka baphendule ngeeyantlukwano ezininzi phakathi kwezikhangeli kunye neemeko zomda. Jonga le khowudi yemvelaphi yejQuery kwangoko kwaye ukhangele i-jQuery.browser. Nanku umzekelo omnye:

// 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);
}

Kwaye ngenxa ye-jQuery, abaphuhlisi banokutshintsha amaxhala malunga nayo yonke le migibe emagxeni eqela eliphuhlisa ithala leencwadi.

Kamva, i-jQuery yenza ukuba kube lula ukuphumeza ubugcisa obuntsonkothileyo obufana noopopayi kunye ne-Ajax. Ithala leencwadi liye laba ngumgangatho oxhomekeke kwiiwebhusayithi. Kwaye namhlanje inika amandla isabelo esikhulu se-Intanethi. I-W3Techs ikholelwa ukuba Iipesenti ezingama-74 zeesayithi namhlanje zisebenzisa i-jQuery.

Ulawulo phezu kophuhliso lwe-jQuery nalo luye lwenziwa ngokusesikweni ngakumbi. Ngo-2011 iqela yakha iBhodi yejQuery. Kwaye ngo-2012 jQuery Board iguqulwe yaba yi-jQuery Foundation.

Ngo-2015, i-jQuery Foundation yadityaniswa ne-Dojo Foundation, ukwenza iJS Foundation, eyathi ke yadityaniswa neNode.js Foundation ibe 2019-m ukuyila Isiseko seOpenJS, apho ijQuery yayiyenye ye β€œiiprojekthi zempumelelo. "

Ukutshintsha kweemeko

Nangona kunjalo, kwiminyaka yakutshanje jQuery yaphulukana nokuthandwa kwayo. GitHub ikhuphe ithala leencwadi kumphambili wendawo yam. I-Bootstrap v5 lahla i-jQueryngokuba yeyakhe"ukuxhomekeka komxhasi omkhulu kwiJavaScript eqhelekileyo"(okwangoku yi-30 KB ngobukhulu, icutshiwe kwaye ipakishwe). Iindlela ezininzi kuphuhliso lwewebhu zenze buthathaka isikhundla se-jQuery njengesixhobo esibalulekileyo.

Abakhangeli

Ngenxa yezizathu ezininzi, ukungafani kwesiphequluli kunye nokulinganiselwa kuye kwabaluleka kakhulu. Okokuqala, umgangatho uphucukile. Abaphuhlisi abakhulu (i-Apple, iGoogle, iMicrosoft kunye neMozilla) basebenza kunye ukuphuhlisa imigangatho yewebhu ngaphakathi kwesakhelo IQela eliSebenzayo leTekhnoloji yeSicelo seWeb Hypertext.
Nangona iibrowsers zisahluka enye kwenye ngeendlela ezininzi ezibalulekileyo, abathengisi ubuncinane banendlela yokukhangela kunye nokudala isiseko sedatha esiqhelekileyo endaweni imfazwe esisigxina kunye. Ngokufanelekileyo, ii-APIs zesikhangeli zifumene amandla amatsha. Umzekelo, Landa i-API ekwaziyo ukutshintsha imisebenzi yeAjax kwijQuery:

// 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);
    });

Iindlela querySelector ΠΈ querySelectorAll impinda yabakhethi be-jQuery:

// jQuery
const fooDivs = $('.foo div');

// native
const fooDivs = document.querySelectorAll('.foo div');

Ngoku ungakhohlisa iiklasi zento usebenzisa Uluhlu lweklasi:

// jQuery
$('#warning').toggleClass('visible');

// native
document.querySelector('#warning').classList.toggle('visible');

Kwisiza Usenokungayidingi i-jQuery Nazi ezinye iimeko ezimbalwa apho ikhowudi ye-jQuery inokutshintshwa ngekhowudi yemveli. Abanye abaphuhlisi bahlala benamathela kwi-jQuery kuba bengazi malunga nee-APIs ezintsha, kodwa xa besenza njalo, baqala ukusebenzisa ithala leencwadi rhoqo.

Ukusebenzisa iimpawu zomthonyama kuphucula ukusebenza kwephepha. Abaninzi iziphumo zoopopayi kwijQuery ngoku ungaphumeza esebenzayo ngakumbi usebenzisa iCSS.

Isizathu sesibini kukuba iibhrawuza zihlaziywa ngokukhawuleza kunangaphambili. Uninzi lwabo lusebenzisa "evergreen" isicwangciso sohlaziyo, ngaphandle kwe-Apple Safari. Ziyakwazi ukuhlaziywa ngasemva ngaphandle kokubandakanyeka komsebenzisi kwaye azibophelwanga kuhlaziyo lwe-OS.

Oku kuthetha ukuba iimpawu ezintsha zebrawuza kunye nolungiso lwebug lusasazwa ngokukhawuleza, kwaye abaphuhlisi akufuneki balinde de Ndingayisebenzisa iya kufikelela kwinqanaba elamkelekileyo. Bangasebenzisa ngokuzithemba iimpawu ezintsha kunye nee-API ngaphandle kokukhuphela i-jQuery okanye i-polyfills.

Isizathu sesithathu kukuba i-Internet Explorer isondela kwisimo sokungabalulekanga ngokupheleleyo. I-IE kudala iyinto yophuhliso lwewebhu kwihlabathi liphela. Iibhugi zayo bezixhaphakile, kwaye ngenxa yokuba i-IE ibilawula ngeminyaka yoo-2000 kwaye ayizange isebenzise isicwangciso sohlaziyo esihlala siluhlaza, iinguqulelo ezindala zisaxhaphakile.

Ngo-2016, iMicrosoft yakhawulezisa ukupheliswa kwe-IE, ukuyeka ukuxhasa iinguqulelo zeshumi kunye nezangaphambili, ukunciphisa inkxaso kwi-IE 11. Kwaye ngokunyukayo, abaphuhlisi bewebhu banobunewunewu bokungahoyi ukuhambelana kwe-IE.

Nkqu jQuery wayeka ukuxhasa IE 8 nangaphantsi ukuqala ukusuka Inguqulelo 2.0, eyapapashwa ngowama-2013. Kwaye nangona kwezinye iimeko inkxaso ye-IE isafuneka, umzekelo, kwiindawo ezindala, ezi meko zivela ngaphantsi nangaphantsi rhoqo.

Izikhokelo ezitsha

Ukusukela ekufikeni kwe-jQuery, izikhokelo ezininzi zenziwe, kubandakanywa neenkokheli zanamhlanje usabela, emboxo ΠΈ Vue. Baneenzuzo ezimbini ezibalulekileyo ngaphezu kwe-jQuery.

Okokuqala, benza kube lula ukwahlula ujongano lomsebenzisi kumacandelo. Iiframework ziyilelwe ukuphatha unikezelo lwephepha kunye nohlaziyo. Kwaye i-jQuery iqhele ukusetyenziswa kuphela kuhlaziyo, ishiya umsebenzi wokubonelela ngephepha lokuqala kumncedisi.

Kwelinye icala, i-React, i-Angular kunye ne-Vue izinto zikuvumela ukuba udibanise ngokuqinileyo i-HTML, ikhowudi kunye ne-CSS. Kanye njengoko sihlula isiseko sekhowudi kwimisebenzi emininzi yokuzimela kunye neeklasi, ukukwazi ukwahlula i-interface ibe ngamacandelo asebenzisekayo kwenza kube lula ukwakha nokugcina iziza ezinzima.

Inzuzo yesibini kukuba izikhokelo zamva nje zihambelana ne-declarative paradigm, apho umphuhlisi echaza ukuba i-interface kufuneka ibonakale njani kwaye ayishiye kwisakhelo ukwenza zonke iinguqu eziyimfuneko ukufezekisa oko kufunwayo. Le ndlela ichasene nendlela yokunyanzelisa ebonisa ikhowudi ye-jQuery.

Kwi-jQuery, ubhala ngokucacileyo phantsi amanyathelo okwenza naluphi na utshintsho. Kwaye kwisakhelo esibhengezayo uthi, "Ngokolu datha, ujongano kufuneka lujongeke ngolu hlobo." Oku kunokwenza ukubhala ikhowudi engena-bug kube lula kakhulu.

Abaphuhlisi baye bamkela iindlela ezintsha zophuhliso lwewebhusayithi, yiyo loo nto ukuthandwa kwe-jQuery kwehlile.

Uyisebenzisa nini ijQuery?

Ngoko nini kufanele sebenzisa i-jQuery?

Ukuba ubunzima beprojekthi buyanda, ke kungcono ukuqala ngelinye ithala leencwadi okanye isakhelo esikuvumela ukuba ulawule ngokunentsingiselo ubunzima. Ngokomzekelo, yahlula i-interface ibe ngamacandelo. Ukusebenzisa i-jQuery kwiindawo ezinjalo kunokubonakala kulungile ekuqaleni, kodwa kuya kukhokelela ngokukhawuleza kwikhowudi ye-spaghetti apho ungaqinisekanga ukuba yeyiphi iqhekeza elichaphazela ukuba yeyiphi inxalenye yephepha.

Ndikhe ndakwimeko enjalo, xa ndizama ukwenza naluphi na utshintsho, kuvakala ngathi ngumsebenzi onzima. Awunakuqiniseka ukuba awuyi kwaphula nantoni na kuba abakhethi be-jQuery baxhomekeke kulwakhiwo lwe-HTML olwenziwe ngumncedisi.

Kwelinye icala lesikali ziisayithi ezilula ezifuna kuphela intwana yonxibelelwano okanye umxholo onamandla. Andizukusilela kwi-jQuery kwezi meko nokuba, kuba kuninzi kakhulu onokukwenza ngee-APIs zomthonyama.

Nokuba ndifuna into enamandla ngakumbi, ndiya kukhangela ithala leencwadi elikhethekileyo, umz. axios for Ajax okanye I-animate.css ukwenzela oopopayi. Oku kuya kuba lula kunokulayisha yonke i-jQuery kumsebenzi omncinci.

Ndicinga ukuba eyona ngqiqo ilungileyo yokusebenzisa i-jQuery kukuba ibonelela ngokusebenza okubanzi kwisiphelo sangaphambili sewebhusayithi. Endaweni yokufunda iintlobo ngeentlobo zee-APIs okanye amathala eencwadi akhethekileyo, unokufunda nje uxwebhu lwejQuery kwaye ube nemveliso ngoko nangoko.

Indlela yokunyanzelisa ayihambelani kakuhle, kodwa kulula ukuyifunda kunendlela yokubhengeza yamanye amathala eencwadi. Kwisiza esinamandla anqongopheleyo ngokucacileyo, kungcono ukusebenzisa i-jQuery kwaye usebenze ngokuzolileyo: ithala leencwadi alifuni ukudityaniswa okuntsonkothileyo okanye ukuhlanganiswa.

Ukongeza, i-jQuery ilungile ukuba uqinisekile ukuba indawo yakho ayizukuba nzima ngokuhamba kwexesha, kwaye ukuba awukhathali malunga nokusebenza kwemveli, okuya kufuna ukuba kubhalwe ikhowudi engaphezulu kune-jQuery.

Unokusebenzisa eli thala leencwadi ukuba ufuna ukuxhasa iinguqulelo ezindala ze-IE. Emva koko i-jQuery iya kukusebenzela njengoko yenza emva kweentsuku xa i-IE yayiyeyona mkhangeli idumileyo.

Jonga kwikamva

I-jQuery ayisayi kunyamalala nanini na kungekudala. Yena ukuphuhlisa ngokukhutheleyo, kunye nabaphuhlisi abaninzi bakhetha ukusebenzisa i-API yayo, nokuba iindlela zomthonyama ziyafumaneka. Ithala leencwadi lincede isizukulwana sonke sabaphuhlisi benze iiwebhusayithi ezisebenza kuyo nayiphi na ibhrawuza. Nangona ithathelwe indawo ngeendlela ezininzi ngamathala eencwadi amatsha, izikhokelo, kunye neeparadigms, ijQuery idlale indima entle kakhulu ekudalweni kwewebhu yanamhlanje.

Ngaphandle kokuba usetyenziso lwejQuery lutshintsha kakhulu, kusenokwenzeka ukuba ukusetyenziswa kwethala leencwadi kuya kuqhubeka ukuhla kancinci kodwa ngokuthe ngcembe kule minyaka imbalwa izayo. Iiwebhusayithi ezitsha zikholisa ukwakhiwa kusetyenziswa izikhokelo zale mihla ukusuka ekuqaleni, kwaye iimeko ezifanelekileyo zokusebenzisa i-jQuery ziya zinqabile.

Abanye abantu abayithandi isantya apho izixhobo zophuhliso lwewebhu ziphelelwa lixesha, kodwa kum bubungqina benkqubela phambili ekhawulezayo. I-jQuery isivumele ukuba senze izinto ezininzi ngcono. Kunjalo ke nakwabo baza kungena ezihlangwini zakhe.

umthombo: www.habr.com

Yongeza izimvo