jQuery Nhoroondo uye Nhaka

jQuery Nhoroondo uye Nhaka
jQuery - iyi ndiyo inonyanya kufarirwa munyika yeJavaScript raibhurari. Nharaunda yekuvandudza webhu yakaigadzira mukupera kwema2000s, zvichikonzera hupfumi hwemasayiti, plugins, uye masisitimu vachishandisa jQuery pasi pehodhi.

Asi mumakore achangopfuura, chimiro chayo sechishandiso chekutanga chekuvandudza webhu chaparara. Ngatitarisei kuti sei jQuery yakave yakakurumbira uye nei yakadonha mufashoni, uye zvakare mune zvipi zviitiko zvichiri kukurudzirwa kuishandisa kugadzira mawebhusaiti emazuva ano.

Nhoroondo Pfupi yejQuery

John Resig (John Resig) yakagadzira yekutanga vhezheni yeraibhurari muna 2005, uye yakabudiswa muna 2006-m, pachiitiko chinonzi BarCampNYC. On jQuery yepamutemo webhusaiti munyori akanyora kuti:

jQuery iJavascript raibhurari yakavakirwa pane motto: Javascript inofanirwa kunakidza kukodha. jQuery inotora akajairwa, anodzokorodza mabasa, anobvisa ese asina kufanira markup, uye anoita mapfupi, akanaka, uye akachena.

jQuery ine mabhenefiti maviri makuru. Yekutanga iAPI iri nyore yekushandura mapeji ewebhu. Kunyanya, inopa nzira dzine simba dzekusarudza zvinhu. Kwete chete iwe unogona kusarudza neID kana kirasi, jQuery inokutendera kuti unyore mazwi akaomarara, semuenzaniso, kusarudza zvinhu zvinoenderana nehukama hwavo nezvimwe zvinhu:

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

Nokufamba kwenguva, sarudzo yekusarudza yakava raibhurari yakaparadzana Sizzle.

Mukana wechipiri weraibhurari yaive yekuti yaibvisa misiyano pakati pemabhurawuza. Mumakore iwayo, zvakanga zvakaoma kunyora kodhi yaigona kushanda zvakavimbika mumabhurawuza ese.

Kushaikwa kwekumisikidzwa kwaireva kuti vanogadzira vaifanira kuzvidavirira kune misiyano yakawanda pakati pebrowser uye edge kesi. Tarisa uone iyi yekutanga jQuery source code uye tsvaga jQuery.browser. Heino muenzaniso mumwe:

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

Uye nekuda kwejQuery, vanogadzira vanogona kuendesa kushushikana pamusoro pezvipingaidzo izvi zvese pamapfudzi echikwata chiri kugadzira raibhurari.

Gare gare, jQuery yakaita kuti zvive nyore kushandisa matekinoroji akaomarara senge mifananidzo uye Ajax. Iyo raibhurari yakave yakanyatso kutsamira kune mawebhusaiti. Uye nhasi inopa simba chikamu chikuru cheInternet. W3Techs inotenda izvozvo 74% yemasaiti nhasi anoshandisa jQuery.

Kudzora pamusoro pejQuery budiriro yakave yakawedzera kurongeka. Muna 2011 chikwata yakagadzirwa jQuery Board. Uye muna 2012 jQuery Board yakashandurwa kuita jQuery Foundation.

Muna 2015, jQuery Foundation yakabatanidzwa neDojo Foundation, kugadzira JS Foundation, iyo yakazobatanidzwa neNode.js Foundation kupinda 2019-m kugadzira OpenJS Nheyo, mukati ma jQuery yaive imwe ye "mapurojekiti ekubudirira. "

Kuchinja mamiriro ezvinhu

Nekudaro, mumakore achangopfuura jQuery yakarasikirwa nemukurumbira wayo. GitHub yakabvisa raibhurari kubva kumberi kwesaiti yangu. Bootstrap v5 bvisa jQuerynekuti ndeyake"hukuru hwekutsamira kwemutengi kune yakajairwa JavaScript"(ikozvino 30 KB muhukuru, minified uye yakazara). Maitiro akati wandei mukuvandudza webhu anetesa chinzvimbo chejQuery sechinhu chakakosha chishandiso.

Bhurawuza

Nezvikonzero zvakati wandei, misiyano yebrowser uye zvipimo zvave zvisinganyanyi kukosha. Kutanga, kuenzanisa kwakagadziridzwa. Vagadziri vakuru vebrowser (Apple, Google, Microsoft neMozilla) vari kushanda pamwechete kugadzira web standards mukati Webhu Hypertext Chikumbiro Tekinoroji Inoshanda Boka.
Kunyangwe mabhurawuza achiri akasiyana kubva kune akakosha nzira dzakati wandei, vatengesi vangangoita nzira yekutsvaga nekugadzira yakajairwa dhatabhesi pane hondo yechigarire pamwe chete. Saizvozvo, browser APIs vakawana hunyanzvi hutsva. Eg, Fetch API inokwanisa kutsiva Ajax mabasa kubva kujQuery:

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

Nzira querySelector ΠΈ querySelectorAll duplicate jQuery pickers:

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

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

Iwe unogona ikozvino kushandura element makirasi uchishandisa classList:

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

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

Panzvimbo Iwe Unogona Kusada jQuery Heano mamwe mashoma mamiriro umo jQuery kodhi inogona kutsiviwa nekodhi kodhi. Vamwe vanogadzira vanogara vakanamatira jQuery nekuti havangoziva nezve maAPI matsva, asi kana vadaro, vanotanga kushandisa raibhurari kazhinji.

Kushandisa zvimiro zvemuno kunonatsiridza kuita kwepeji. Vazhinji animation mhedzisiro kubva kujQuery zvino unogona kuita zvakanyanya kushanda kushandisa CSS.

Chikonzero chechipiri ndechekuti mabhurawuza anogadziridzwa nekukurumidza kupfuura kare. Vazhinji vavo vanoshandisa "evergreen" nzira yekuvandudza, kunze kweApple Safari. Ivo vanogona kuvandudzwa kumashure pasina kubatanidzwa kwevashandisi uye havana kusungirirwa kune OS updates.

Izvi zvinoreva kuti mitsva yebrowser maficha uye bug kugadzirisa zvinogoverwa nekukurumidza, uye vanogadzira havafanirwe kumirira kusvika Ndingashandisa ichasvika pamwero unogamuchirika. Ivo vanogona kushandisa nechivimbo maficha matsva uye maAPI pasina kurodha pasi jQuery kana polyfills.

Chikonzero chechitatu ndechekuti Internet Explorer yave kusvika kumamiriro ekusakosha zvachose. IE yagara iri dambudziko rekuvandudzwa kwewebhu pasi rose. Zvipembenene zvaro zvaive zvakapararira, uye nekuti IE yakatonga ma2000s uye isingashandise yakasvibira yekuvandudza zano, shanduro dzekare dzichiri dzakajairika.

Muna 2016, Microsoft yakamhanyisa kubviswa kweIE, kurega kutsigira yechigumi neshanduro dzekutanga, kudzikamisa rutsigiro kuIE 11. Uye nekuwedzera, vanogadzira webhu vane humbozha hwekuregeredza kuenderana kweIE.

Kunyangwe jQuery yakamira kutsigira IE 8 uye pazasi kutanga kubva mhando 2.0, rakabudiswa muna 2013. Uye kunyangwe mune dzimwe nguva IE rutsigiro ruchiri kudikanwa, semuenzaniso, pane ekare masaiti, aya mamiriro anomuka zvishoma uye zvishoma kazhinji.

Mafuremu matsva

Kubva pakatanga jQuery, akawanda masisitimu akagadzirwa, kusanganisira vatungamiriri vemazuva ano Taura, Angular ΠΈ Vue. Vane mabhenefiti maviri akakosha pamusoro pejQuery.

Kutanga, ivo vanoita kuti zvive nyore kuparadzanisa mushandisi interface muzvikamu. Maframeworks akagadzirirwa kubata peji kupa uye kugadzirisa. Uye jQuery inowanzoshandiswa chete kugadzirisa, ichisiya basa rekupa peji rekutanga kune server.

Kune rimwe divi, React, Angular uye Vue zvikamu zvinokutendera kuti unyatso kuroora HTML, kodhi uye kunyange CSS. Sezvatinogovanisa nheyo yekodhi mumabasa akawanda ega uye makirasi, kukwanisa kupatsanura chimiro muzvikamu zvinogona kushandiswa zvakare kunoita kuti zvive nyore kuvaka nekuchengetedza nzvimbo dzakaoma.

Chakanakira chechipiri ndechekuti mamwe maficha achangoburwa anoomerera kune inozivisa paradigm, umo mugadziri anotsanangura kuti iyo interface inofanirwa kutaridzika sei uye inoisiya kune iyo sisitimu kuita shanduko dzese dzinodiwa kuti uwane izvo zvinoshuvirwa. Iyi nzira inopesana neiyo yakakosha nzira inoratidza jQuery kodhi.

MujQuery, unonyora zvakajeka pasi matanho ekuita chero shanduko. Uye mune yekuzivisa sisitimu iwe unoti, "Maererano nedata iri, iyo interface inofanirwa kutaridzika seizvi." Izvi zvinogona kuita kuti kunyora-isina kodhi kodhi kuve nyore.

Vagadziri vatora nzira nyowani dzekuvandudza webhusaiti, ndosaka mukurumbira wejQuery wadzikira.

Nguva yekushandisa jQuery?

Saka rinhi ndinofanira kushandisa jQuery?

Kana kuomarara kwepurojekiti kuchiwedzera, saka zviri nani kutanga neimwe raibhurari kana chimiro chinokutendera kuti utore zvine musoro kuomarara. Semuenzaniso, patsanura iyo interface muzvikamu. Kushandisa jQuery pamasaiti akadaro kunogona kutaridzika zvakanaka pakutanga, asi zvinokurumidza kutungamira kune spaghetti kodhi kwausina chokwadi kuti chimedu chinokanganisa chikamu chipi chepeji.

Ndanga ndiri mumamiriro ezvinhu akadaro, pakuedza kuita chero shanduko, inonzwa sebasa rakaoma. Iwe haugone kuve nechokwadi kuti hausi kuzopwanya chero chinhu nekuti jQuery vanosarudza vanotsamira pane HTML chimiro chakagadzirwa neserver.

Kune rumwe rutivi rwechiyero inzvimbo dzakareruka dzinongoda zvishoma zvekudyidzana kana zvine simba zvemukati. Ini handingaite default kujQuery mune idzi kesi zvakare, nekuti pane zvakawanda zvakawanda zvaunogona kuita nemako APIs.

Kunyangwe ndikada chimwe chinhu chine simba, ndichatsvaga raibhurari yehunyanzvi, semuenzaniso. axios yeAjax kana Anion.css zvemaanimation. Izvi zvichave nyore pane kurodha ese jQuery kune diki mashandiro.

Ini ndinofunga chakanakisa chikonzero chekushandisa jQuery ndechekuti inopa yakazara mashandiro kune kumberi kwewebhusaiti. Panzvimbo pekudzidza akasiyana siyana ekuzvarwa maAPI kana maraibhurari ehunyanzvi, unogona kuverenga chete zvinyorwa zvejQuery uye wobva waita kugadzirwa.

Nzira yekukosha haina kukura zvakanaka, asi zviri nyore kudzidza pane nzira yekuzivisa yemamwe maraibhurari. Kune saiti ine hunyanzvi hushoma, zviri nani kushandisa jQuery uye kushanda zvakadzikama: raibhurari haidi kuungana kwakaoma kana kuunganidzwa.

Pamusoro pezvo, jQuery yakanaka kana uine chivimbo chekuti saiti yako haizoomese nekufamba kwenguva, uye kana iwe usina hanya nezve mashandiro ekuzvarwa, izvo zvinoda kunyora kodhi yakawanda kupfuura jQuery.

Unogonawo kushandisa raibhurari iyi kana uchida kutsigira shanduro dzekare dzeIE. Ipapo jQuery ichakushandira sezvayaiita kare mumazuva apo IE yaive yakanyanya kufarirwa browser.

Tarira mune ramangwana

jQuery haizonyangarika chero nguva munguva pfupi. Iye kushingaira kukura, uye vazhinji vanogadzira vanosarudza kushandisa API yayo, kunyangwe nzira dzekuzvarwa dziripo. Raibhurari yakabatsira chizvarwa chese chevagadziri kugadzira mawebhusaiti anoshanda pane chero browser. Kunyangwe yakatsiviwa nenzira dzakawanda nemaraibhurari matsva, marongero, uye paradigms, jQuery yakaita basa rakanaka mukugadzirwa kwewebhu yemazuva ano.

Kunze kwekunge mashandiro ejQuery achinja zvakanyanya, zvingangoita kuti kushandiswa kweraibhurari kucharamba kuchidzika asi zvishoma nezvishoma mumakore mashoma anotevera. Mawebhusaiti matsva anowanzo kuvakwa achishandisa mamwe emazuva ano masisitimu kubva pakutanga, uye akakodzera mashandisirwo ejQuery ari kuramba achishomeka.

Vamwe vanhu havafarire mwero wekuti maturusi ekuvandudza webhu apera basa, asi kwandiri humbowo hwekufambira mberi nekukurumidza. jQuery yakatibvumira kuita zvinhu zvakawanda zviri nani. Zvimwe chetezvo ndezvechokwadi kuvatsivi vake.

Source: www.habr.com

Voeg