Mbiri ya jQuery ndi Cholowa

Mbiri ya jQuery ndi Cholowa
jQuery - ichi ndi chodziwika kwambiri padziko lonse lapansi laibulale ya JavaScript. Gulu lachitukuko cha intaneti lidapanga kumapeto kwa zaka za m'ma 2000, zomwe zidapangitsa kuti pakhale malo olemera amasamba, mapulagini, ndi ma frameworks pogwiritsa ntchito jQuery pansi pa hood.

Koma m'zaka zaposachedwa, udindo wake ngati chida choyambirira chapaintaneti wasokonekera. Tiyeni tiwone chifukwa chake jQuery idakhala yotchuka komanso chifukwa chake idasiya mafashoni, komanso momwe angapangirebe mawebusayiti amakono.

Mbiri Yachidule ya jQuery

John Resig (John Resig) adapanga buku loyamba la library mu 2005, ndi lofalitsidwa mu 2006-m, pamwambo wotchedwa BarCampNYC. Yambani jQuery tsamba lovomerezeka wolemba analemba kuti:

jQuery ndi laibulale ya Javascript yotengera mawu akuti: Javascript iyenera kukhala yosangalatsa kuyilemba. jQuery imatenga ntchito wamba, zobwerezabwereza, imachotsa zolembedwa zonse zosafunikira, ndikuzipanga zazifupi, zokongola, komanso zoyera.

jQuery ili ndi maubwino awiri akulu. Yoyamba ndi API yabwino yosinthira masamba. Makamaka, imapereka njira zamphamvu zopangira zinthu. Osamangosankha ndi ID kapena kalasi, jQuery imakupatsani mwayi kuti mulembe mawu ovuta, mwachitsanzo, kusankha zinthu potengera maubwenzi awo ndi zinthu zina:

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

M'kupita kwa nthawi, makina osankhidwa adakhala laibulale yosiyana Sizzle.

Ubwino wachiwiri wa laibulaleyi ndikuti umachotsa kusiyana pakati pa asakatuli. M'zaka zimenezo, zinali zovuta kulemba code yomwe ingagwire ntchito modalirika m'masakatuli onse.

Kusakhazikika kumatanthawuza kuti opanga amayenera kuwerengera kusiyana kwakukulu pakati pa asakatuli ndi milandu yam'mphepete. Yang'anani pa kachidindo koyambirira ka jQuery ndi kusaka jQuery.browser. Nachi chitsanzo chimodzi:

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

Ndipo chifukwa cha jQuery, opanga amatha kusamutsa nkhawa za misampha yonseyi pamapewa a gulu lomwe likupanga laibulale.

Pambuyo pake, jQuery idapangitsa kuti ikhale yosavuta kugwiritsa ntchito matekinoloje ovuta kwambiri monga makanema ojambula pamanja ndi Ajax. Laibulale yakhala yodalirika yodalirika yamawebusayiti. Ndipo masiku ano imapatsa mphamvu gawo lalikulu la intaneti. W3Techs amakhulupirira zimenezo 74% yamasamba masiku ano amagwiritsa ntchito jQuery.

Kuwongolera pakukula kwa jQuery kwakhazikikanso. Mu 2011 timu adapanga jQuery Board. Ndipo mu 2012 jQuery Board idasinthidwa kukhala jQuery Foundation.

Mu 2015, jQuery Foundation idaphatikizidwa ndi Dojo Foundation, kupanga JS Foundation, zomwe zidaphatikizidwa ndi Node.js Foundation kukhala 2019-m kupanga Maziko a OpenJS, momwe jQuery inali imodzi mwa "ntchito zopambana. "

Kusintha kwa zinthu

Komabe, m'zaka zaposachedwa jQuery inataya kutchuka kwake. GitHub adachotsa laibulale kutsogolo kwa tsamba langa. Tsitsani Bootstrap v5 Chotsani jQuerychifukwa ndi wake"kudalira kwambiri kasitomala pa JavaScript yokhazikika"(pakadali 30 KB kukula kwake, minified ndi odzaza). Zochitika zingapo pakukula kwa intaneti zafooketsa udindo wa jQuery ngati chida chofunikira.

Osakatula

Pazifukwa zingapo, kusiyana kwa msakatuli ndi zolepheretsa zakhala zosafunika kwenikweni. Choyamba, standardization yapita patsogolo. Madivelopa akuluakulu asakatuli (Apple, Google, Microsoft ndi Mozilla) akugwira ntchito limodzi kuti apange miyezo yapaintaneti mkati Web Hypertext Application Technology Working Group.
Ngakhale asakatuli amasiyanabe wina ndi mnzake m'njira zingapo zofunika, mavenda ali ndi njira yofufuzira ndikupanga nkhokwe wamba m'malo mwake. nkhondo yosatha pamodzi. Chifukwa chake, ma API a msakatuli apeza maluso atsopano. Mwachitsanzo, Tengani API yokhoza kusintha ntchito za Ajax kuchokera ku jQuery:

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

Njira querySelector ΠΈ querySelectorAll osankha obwereza a jQuery:

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

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

Tsopano mutha kusintha makalasi azinthu pogwiritsa ntchito classList:

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

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

Pamalo Simungafune jQuery Nazi zina zingapo zomwe jQuery code ingasinthidwe ndi code yachibadwidwe. Madivelopa ena nthawi zonse amakhala ndi jQuery chifukwa samadziwa za ma API atsopano, koma akatero, amayamba kugwiritsa ntchito laibulale nthawi zambiri.

Kugwiritsa ntchito zinthu zachilengedwe kumathandizira kuti tsamba liziyenda bwino. Ambiri makanema ojambula zotsatira kuchokera jQuery tsopano mutha kukhazikitsa zogwira mtima kwambiri pogwiritsa ntchito CSS.

Chifukwa chachiwiri ndikuti asakatuli amasinthidwa mwachangu kwambiri kuposa kale. Ambiri a iwo amagwiritsa ntchito "evergreen" njira yokonzanso, kupatula Apple Safari. Zitha kusinthidwa kumbuyo popanda kukhudzidwa ndi ogwiritsa ntchito ndipo sizimangiriridwa ndi zosintha za OS.

Izi zikutanthauza kuti mawonekedwe atsopano a msakatuli ndi kukonza zolakwika zimagawidwa mwachangu kwambiri, ndipo opanga sayenera kudikirira mpaka Ndingagwiritse Ntchito idzafika pamlingo wovomerezeka. Atha kugwiritsa ntchito molimba mtima zatsopano ndi ma API popanda kutsitsa jQuery kapena polyfills.

Chifukwa chachitatu ndi chakuti Internet Explorer ikuyandikira mkhalidwe wosafunikira kwenikweni. IE yakhala ikuyambitsa chitukuko cha intaneti padziko lonse lapansi. Nsikidzi zake zinali zofala, ndipo chifukwa IE inkalamulira zaka za m'ma 2000 ndipo sanagwiritse ntchito njira yosinthira zobiriwira, mitundu yakale idakali yofala.

Mu 2016, Microsoft idafulumizitsa kuchotsedwa kwa IE, kusiya kuthandizira matembenuzidwe khumi ndi oyambirira, kuchepetsa thandizo ku IE 11. Ndipo mochulukirachulukira, opanga mawebusayiti amakhala ndi mwayi wonyalanyaza kuyanjana kwa IE.

Ngakhale jQuery inasiya kuthandizira IE 8 ndi pansi kuyambira Mtundu 2.0, lofalitsidwa mu 2013. Ndipo ngakhale nthawi zina thandizo la IE limafunikirabe, mwachitsanzo, pamasamba akale, izi zimachitika mocheperako.

Zomangamanga zatsopano

Chiyambireni kukhazikitsidwa kwa jQuery, zida zambiri zapangidwa, kuphatikiza atsogoleri amakono Chitani, Angular ΠΈ Vue. Ali ndi maubwino awiri ofunikira pa jQuery.

Choyamba, zimakhala zosavuta kupatutsa mawonekedwe a wosuta kukhala zigawo. Frameworks adapangidwa kuti azigwira ntchito popereka masamba ndikusintha. Ndipo jQuery nthawi zambiri imagwiritsidwa ntchito pokonzanso, kusiya ntchito yopereka tsamba loyamba ku seva.

Kumbali ina, React, Angular ndi Vue zigawo zimakupatsani mwayi wophatikiza HTML, code komanso CSS. Monga momwe timagawira maziko a kachidindo muzochita zambiri zodzipangira okha ndi makalasi, kutha kugawanitsa mawonekedwe mu zigawo zomwe zingagwiritsidwe ntchito kumapangitsa kuti zikhale zosavuta kumanga ndi kusunga malo ovuta.

Ubwino wachiwiri ndikuti mawonekedwe aposachedwa kwambiri amatsatira paradigm yolengeza, momwe wopangayo amafotokozera momwe mawonekedwewo ayenera kuwonekera ndikusiya ku dongosolo kuti asinthe zonse zofunika kuti akwaniritse zomwe akufuna. Njira iyi ndi yosiyana ndi njira yofunikira yomwe imadziwika ndi jQuery code.

Mu jQuery, mumalemba mwatsatanetsatane masitepe kuti musinthe. Ndipo munjira yolengeza mumati, "Malinga ndi izi, mawonekedwe akuyenera kuwoneka chonchi." Izi zitha kupangitsa kulemba ma code opanda cholakwika kukhala kosavuta.

Madivelopa atengera njira zatsopano zopangira webusayiti, ndichifukwa chake kutchuka kwa jQuery kwatsika.

Nthawi yogwiritsira ntchito jQuery?

Ndiye liti ayenera kukhala kugwiritsa ntchito jQuery?

Ngati zovuta za polojekitiyo zikuwonjezeka, ndiye kuti ndi bwino kuyamba ndi laibulale ina kapena chimango chomwe chimakupatsani mwayi wowongolera zovuta. Mwachitsanzo, gawani mawonekedwe mu zigawo. Kugwiritsa ntchito jQuery pamasamba otere kungawoneke bwino poyamba, koma kumatsogolera ku code ya spaghetti komwe simukutsimikiza kuti ndi gawo liti latsambalo.

Ndakhala mumkhalidwe wotero, pamene ndikuyesera kupanga kusintha kulikonse, zimamveka ngati ntchito yovuta. Simungakhale otsimikiza kuti simudzaphwanya chilichonse chifukwa osankhidwa a jQuery amadalira mawonekedwe a HTML opangidwa ndi seva.

Kumapeto ena a sikelo ndi malo osavuta omwe amangofuna kuyanjana pang'ono kapena zinthu zamphamvu. Sindikadakhala jQuery muzochitika izi mwina, chifukwa pali zambiri zomwe mungachite ndi ma API achilengedwe.

Ngakhale nditafuna china champhamvu kwambiri, ndidzayang'ana laibulale yapadera, mwachitsanzo. axios kwa Ajax kapena Animate.css kwa makanema ojambula. Izi zitha kukhala zosavuta kuposa kutsitsa jQuery yonse kuti igwire ntchito yaying'ono.

Ndikuganiza kuti chifukwa chabwino chogwiritsira ntchito jQuery ndikuti imapereka magwiridwe antchito kumapeto kwa tsamba lawebusayiti. M'malo mophunzira ma API osiyanasiyana kapena malaibulale apadera, mutha kuwerenga zolemba za jQuery ndikukhala opindulitsa nthawi yomweyo.

Njira yofunikira siyikula bwino, koma ndiyosavuta kuphunzira kuposa njira yofotokozera yamalaibulale ena. Kwa malo omwe ali ndi mphamvu zochepa, ndi bwino kugwiritsa ntchito jQuery ndikugwira ntchito modekha: laibulale safuna kusonkhanitsa zovuta kapena kusonkhanitsa.

Kuphatikiza apo, jQuery ndiyabwino ngati muli ndi chidaliro kuti tsamba lanu silikhala lovuta pakapita nthawi, ndipo ngati simusamala za magwiridwe antchito, zomwe zimafunikira kulemba ma code ambiri kuposa jQuery.

Mukhozanso kugwiritsa ntchito laibulaleyi ngati mukufuna kuthandizira ma IE akale. Kenako jQuery idzakutumikirani monga idachitira m'masiku omwe IE anali msakatuli wotchuka kwambiri.

Onani m'tsogolo

jQuery sichizimiririka posachedwa. Iye akukula mwachangu, ndipo opanga ambiri amakonda kugwiritsa ntchito API yake, ngakhale njira zachibadwidwe zilipo. Laibulale yathandiza m'badwo wonse wa omanga kupanga mawebusayiti omwe amagwira ntchito pa msakatuli aliyense. Ngakhale kuti yasinthidwa m'njira zambiri ndi malaibulale atsopano, zomanga, ndi ma paradigms, jQuery yathandiza kwambiri popanga ukonde wamakono.

Pokhapokha ngati magwiridwe antchito a jQuery asintha kwambiri, ndizotheka kuti kugwiritsa ntchito laibulale kupitilirabe pang'onopang'ono koma pang'onopang'ono pazaka zingapo zikubwerazi. Mawebusayiti atsopano amamangidwa pogwiritsa ntchito zida zamakono kuyambira pachiyambi, ndipo njira zoyenera zogwiritsira ntchito jQuery zikuchulukirachulukira.

Anthu ena sakonda momwe zida zopangira ukonde zimagwirira ntchito, koma kwa ine ndikuwonetsa kupita patsogolo mwachangu. jQuery yatilola kuchita zinthu zambiri bwino. N'chimodzimodzinso ndi omutsatira ake.

Source: www.habr.com

Kuwonjezera ndemanga