jQuery Moolelo a me ka Hooilina

jQuery Moolelo a me ka Hooilina
jQuery - ʻo kēia ka mea kaulana loa ma ka honua he waihona JavaScript. Ua hoʻokumu ke kaiāulu hoʻomohala pūnaewele iā ia i ka hopena o 2000s, ka hopena i kahi kaiaola waiwai o nā pūnaewele, plugins, a me nā frameworks e hoʻohana ana i ka jQuery ma lalo o ka puʻupuʻu.

Akā i nā makahiki i hala iho nei, ua pau kona kūlana ma ke ʻano he mea hana mua no ka hoʻomohala pūnaewele. E nānā kākou i ke kumu i kaulana ai ʻo jQuery a no ke aha i hāʻule ai i waho o ke ʻano, a i nā hihia he mea pono e hoʻohana ʻia e hana i nā pūnaewele hou.

He moʻolelo pōkole o jQuery

John Resig (ʻO John Resig) i hana i ka mana mua o ka waihona ma 2005, a paʻi ʻia i ka makahiki 2006-m, ma kahi hanana i kapa ʻia ʻo BarCampNYC. Ma ka jQuery pūnaewele kūhelu ua kākau ka mea kākau:

ʻO ka jQuery kahi waihona Javascript e pili ana i ka motto: Pono ka Javascript e leʻaleʻa i ke code. Lawe ʻo jQuery i nā hana maʻamau, hana hou, wehe i nā hōʻailona pono ʻole, a hoʻopōkole, nani, a maʻemaʻe.

ʻElua mau pono nui i ka jQuery. ʻO ka mua he API kūpono no ka hoʻoponopono ʻana i nā ʻaoʻao pūnaewele. ʻO ka mea kūikawā, hāʻawi ia i nā ala ikaika no ke koho ʻana i nā mea. ʻAʻole hiki iā ʻoe ke koho wale ma ka ID a i ʻole ka papa, ʻae ʻo jQuery iā ʻoe e kākau i nā ʻōlelo paʻakikī, no ka laʻana, e koho i nā mea e pili ana i kā lākou pilina me nā mea ʻē aʻe:

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

I ka wā lōʻihi, ua hoʻololi ʻia ke ʻano koho i hale waihona puke ʻokoʻa ʻUanū.

ʻO ka lua o ka pono o ka waihona ʻo ia ka wehe ʻana i nā ʻokoʻa ma waena o nā polokalamu kele pūnaewele. I kēlā mau makahiki, ua paʻakikī ke kākau i nā code e hiki ke hana pono i nā polokalamu kele pūnaewele.

ʻO ka nele o ka standardization ʻo ia ka mea e pono ai nā mea hoʻomohala e helu i nā ʻokoʻa he nui ma waena o nā polokalamu kele pūnaewele a me nā hihia pili. E nānā i kēia kumu kumu kumu jQuery a huli iā jQuery.browser. Eia kekahi laʻana:

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

A mahalo iā jQuery, hiki i nā mea hoʻomohala ke hoʻololi i nā hopohopo e pili ana i kēia mau pilikia āpau ma luna o nā poʻohiwi o ka hui e hoʻomohala ana i ka waihona.

Ma hope mai, ua maʻalahi ka jQuery i ka hoʻokō ʻana i nā ʻenehana paʻakikī e like me nā animations a me Ajax. Ua lilo ka waihona i mea hilinaʻi maʻamau no nā pūnaewele. A i kēia lā ua mana ia i ka hapa nui o ka Pūnaewele. Manaʻoʻo W3Techs i kēlā 74% o nā pūnaewele i kēia lā e hoʻohana i ka jQuery.

ʻO ka hoʻomalu ʻana i ka hoʻomohala ʻana i ka jQuery ua lilo i mea hoʻomaʻamaʻa. I ka makahiki 2011 ka hui hana ʻia ka Papa jQuery. A i ka 2012 jQuery Board hoʻololi ʻia i jQuery Foundation.

I ka makahiki 2015, ua hui ka jQuery Foundation me ka Dojo Foundation, e hana i ka JS Foundation, a laila hui pū me ka Node.js Foundation i 2019-m e hana ʻO OpenJS Foundation, i loko o ka jQuery kekahi o nā "nā papahana holomua. "

Hoʻololi i nā kūlana

Eia naʻe, i nā makahiki i hala iho nei ʻo jQuery lilo kona kaulana. GitHub wehe i ka waihona mai ka mua o kaʻu pūnaewele. Bootstrap v5 e wehe i ka jQueryno ka mea, nona "hilinaʻi nui loa o ka mea kūʻai aku no ka JavaScript maʻamau"(i kēia manawa he 30 KB ka nui, liʻiliʻi a paʻa). Ua hoʻonāwaliwali kekahi mau ʻano o ka hoʻomohala pūnaewele i ke kūlana o jQuery ma ke ʻano he mea pono.

Nā Kūpono Pūnaewele

No kekahi mau kumu, ua emi mai ka mea nui o nā ʻokoʻa a me nā palena o ka polokalamu kele pūnaewele. ʻO ka mea mua, ua hoʻomaikaʻi ka standardization. Ke hana pū nei nā mea hoʻomohala pūnaewele nui (Apple, Google, Microsoft a me Mozilla) e hoʻomohala paena pūnaewele i loko o ke kahua Pūʻulu hana ʻenehana no ka hoʻohana ʻana i ka pūnaewele Hypertext.
ʻOiai ʻokoʻa ka poʻe mākaʻikaʻi mai kekahi i kekahi ma nā ʻano koʻikoʻi, loaʻa i nā mea kūʻai aku kahi ala e ʻimi ai a hana i kahi waihona maʻamau ma kahi o kaua mau hui pu. No laila, ua loaʻa i nā API polokalamu nā mana hou. E laʻa, Kii API hiki ke hoʻololi i nā hana Ajax mai 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);
    });

Nā Palapala querySelector и querySelectorAll nā mea koho jQuery lua:

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

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

I kēia manawa hiki iā ʻoe ke hoʻohana i nā papa element papa papa:

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

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

Aia ma ka pūnaewele ʻAʻole pono ʻoe i ka jQuery Eia kekahi mau hiʻohiʻona e hiki ke hoʻololi i ka code jQuery me ka code maoli. Hoʻopili mau kekahi mau mea hoʻomohala me ka jQuery no ka mea ʻaʻole lākou ʻike e pili ana i nā API hou, akā ke hana lākou, hoʻomaka lākou e hoʻohana pinepine i ka waihona.

Hiki i ka hoʻohana ʻana i nā hiʻohiʻona maoli ke hoʻomaikaʻi i ka hana ʻaoʻao. Nui nā hopena animation mai jQuery i kēia manawa hiki iā ʻoe ke hoʻokō ʻoi aku ka maikaʻi hoʻohana CSS.

ʻO ke kumu ʻelua, ʻoi aku ka wikiwiki o nā polokalamu kele pūnaewele ma mua. Hoʻohana ka hapa nui o lākou "evergreen" hoʻolālā hou, koe wale nō ʻo Apple Safari. Hiki iā lākou ke hoʻonui i ka hope me ka ʻole o ka mea hoʻohana a ʻaʻole pili i nā hoʻonui OS.

ʻO ia hoʻi, ʻoi aku ka wikiwiki o ka hāʻawi ʻana i nā hiʻohiʻona hou a me nā hoʻoponopono bug, a ʻaʻole pono nā mea hoʻomohala e kali a hiki i ka Hiki iaʻu ke hoʻohana e hiki i kahi pae ʻae ʻia. Hiki iā lākou ke hoʻohana i nā hiʻohiʻona hou a me nā API me ka ʻole e hoʻoiho i ka jQuery a i ʻole polyfills.

ʻO ke kumu ʻekolu ke hoʻokokoke nei ʻo Internet Explorer i kahi kūlana pili ʻole. Ua lōʻihi ka pōʻino o IE i ka hoʻomohala pūnaewele a puni ka honua. Ua laha loa kona mau pepeke, a no ka mea, ua lanakila ʻo IE i nā makahiki 2000 a ʻaʻole i hoʻohana i kahi hoʻolālā hoʻolālā evergreen, ua maʻamau nā mana kahiko.

Ma 2016, ua wikiwiki ʻo Microsoft i ka wehe ʻana o IE, ka pau ana o ke kokua ana ʻumi a me nā mana ma mua, e kaupalena ana i ke kākoʻo iā IE 11. A ʻoi aku ka nui o nā mea hoʻomohala pūnaewele i ka nani o ka nānā ʻole ʻana i ka pili ʻana o IE.

ʻOiai ʻo jQuery i kāpae i ke kākoʻo ʻana iā IE 8 a ma lalo e hoʻomaka ana mai mana 2.0, i paʻi ʻia i ka makahiki 2013. A ʻoiai i kekahi mau manawa e koi mau ʻia ke kākoʻo IE, no ka laʻana, ma nā pūnaewele kahiko, ʻoi aku ka liʻiliʻi o kēia mau kūlana.

Nā papa hana hou

Mai ka hiki ʻana mai o jQuery, ua hana ʻia nā frameworks he nui, me nā alakaʻi o kēia wā pane koke, Angular и ʻIke. Loaʻa iā lākou ʻelua mau mea koʻikoʻi ma mua o jQuery.

ʻO ka mea mua, maʻalahi lākou e hoʻokaʻawale i ka mea hoʻohana i nā ʻāpana. Hoʻolālā ʻia nā Frameworks no ka hoʻoponopono ʻana i ka ʻaoʻao a me ka hoʻonui ʻana. A hoʻohana pinepine ʻia ka jQuery no ka hoʻonui ʻana, e waiho ana i ka hana o ka hāʻawi ʻana i ka ʻaoʻao mua i ke kikowaena.

Ma ka ʻaoʻao ʻē aʻe, ʻae ʻo React, Angular a me Vue iā ʻoe e hoʻopaʻa paʻa i ka HTML, code a me CSS. E like me kā mākou puʻunaue ʻana i ke kumu code i nā hana a me nā papa he nui, ʻo ka hiki ke hoʻokaʻawale i ka interface i nā mea hoʻohana hou e maʻalahi ke kūkulu a mālama i nā pūnaewele paʻakikī.

ʻO ka lua o ka pōmaikaʻi, ʻo ia ka pili ʻana o nā frameworks hou i kahi paradigm declarative, kahi e wehewehe ai ka mea hoʻomohala i ke ʻano o ka interface a waiho ʻia i ka framework e hana i nā loli kūpono a pau e hoʻokō ai i ka mea i makemake ʻia. Kū'ē kēia ala i ke ala koi e hōʻike ana i ka code jQuery.

Ma jQuery, kākau ʻoe i lalo i nā ʻanuʻu e hana i nā loli. A ma kahi hoʻolaha hoʻolaha e ʻōlelo ʻoe, "E like me kēia ʻikepili, e like ke ʻano o ka interface." Hiki i kēia ke maʻalahi ke kākau ʻana i nā code bug-free.

Ua hoʻohana nā mea hoʻomohala i nā ala hou i ka hoʻomohala pūnaewele, ʻo ia ke kumu i emi ai ka kaulana o jQuery.

I ka manawa hea e hoʻohana ai i ka jQuery?

No laila i ka manawa pono e hoʻohana i ka jQuery?

Inā piʻi ka paʻakikī o ka papahana, a laila ʻoi aku ka maikaʻi o ka hoʻomaka ʻana me kahi waihona a i ʻole ka papa hana e hiki ai iā ʻoe ke mālama pono i ka paʻakikī. No ka laʻana, e hoʻokaʻawale i ke kikowaena i nā ʻāpana. Maikaʻi paha ka hoʻohana ʻana i ka jQuery ma ia mau pūnaewele i ka wā mua, akā e alakaʻi koke ia i ka code spaghetti kahi āu e maopopo ʻole ai ka ʻāpana e pili ana i kahi ʻāpana o ka ʻaoʻao.

Aia wau i loko o ia kūlana, i ka wā e hoʻāʻo ai e hoʻololi, manaʻo ia he hana paʻakikī. ʻAʻole hiki iā ʻoe ke maopopo ʻaʻole ʻoe e uhaʻi i kekahi mea no ka mea ua hilinaʻi nā mea koho jQuery i ka hoʻolālā HTML i hana ʻia e ke kikowaena.

Ma ka ʻaoʻao ʻē aʻe o ka pālākiō he mau pūnaewele maʻalahi e koi wale i kahi ʻano o ka launa pū ʻana a i ʻole ka ʻike hoʻoikaika. ʻAʻole wau e paʻa i ka jQuery i kēia mau hihia, no ka mea he nui aku nā mea āu e hiki ai ke hana me nā API maoli.

ʻOiai inā makemake au i kahi mea ikaika, e ʻimi au i kahi waihona puke kūikawā, e laʻa. axios no Ajax a i ʻole Animate.css no nā mea hoʻonani. E maʻalahi kēia ma mua o ka hoʻouka ʻana i nā jQuery āpau no kahi hana liʻiliʻi.

Manaʻo wau ʻo ke kumu maikaʻi loa no ka hoʻohana ʻana i ka jQuery ʻo ia ka hāʻawi ʻana i nā hana piha no ka hope mua o kahi pūnaewele. Ma kahi o ke aʻo ʻana i nā API maoli a i ʻole nā ​​hale waihona puke kūikawā, hiki iā ʻoe ke heluhelu i ka palapala jQuery wale nō a lilo koke i huahana.

ʻAʻole maikaʻi ke ʻano koʻikoʻi, akā ʻoi aku ka maʻalahi o ke aʻo ʻana ma mua o ke ʻano declarative o nā hale waihona puke ʻē aʻe. No kahi paena me nā mana liʻiliʻi liʻiliʻi, ʻoi aku ka maikaʻi o ka hoʻohana ʻana i ka jQuery a hana mālie: ʻaʻole koi ka waihona i ka hui paʻakikī a i ʻole ka hui ʻana.

Eia hou, maikaʻi ka jQuery inā hilinaʻi ʻoe ʻaʻole e paʻakikī kāu pūnaewele i ka manawa, a inā ʻaʻole ʻoe e noʻonoʻo e pili ana i ka hana maoli, pono ʻoe e kākau i nā code hou aʻe ma mua o jQuery.

Hiki iā ʻoe ke hoʻohana i kēia waihona inā pono ʻoe e kākoʻo i nā mana kahiko o IE. A laila e lawelawe ʻo jQuery iā ʻoe e like me ia i nā lā i lilo ʻo IE i ka polokalamu kaulana loa.

E nānā ana i ka wā e hiki mai ana

ʻAʻole e nalowale ka jQuery i kekahi manawa koke. ʻO ia e ulu ikaika ana, a makemake nui nā mea hoʻomohala e hoʻohana i kāna API, ʻoiai inā loaʻa nā ala maoli. Ua kōkua ka waihona i ka hanauna holoʻokoʻa o nā mea hoʻomohala e hana i nā pūnaewele e hana ana ma kekahi polokalamu kele pūnaewele. ʻOiai ua hoʻololi ʻia ʻo ia ma nā ʻano he nui e nā hale waihona puke hou, frameworks, a me paradigms, ua hoʻokani maikaʻi ʻo jQuery i ka hana ʻana o ka pūnaewele hou.

Inā ʻaʻole e loli nui ka hana a jQuery, e hoʻomau mau ana ka hoʻohana ʻana i ka waihona i nā makahiki e hiki mai ana. Hoʻokumu ʻia nā pūnaewele hou me ka hoʻohana ʻana i nā frameworks hou mai ka hoʻomaka ʻana, a ʻo nā hihia hoʻohana kūpono no ka jQuery e maʻalahi loa.

ʻAʻole makemake kekahi poʻe i ka nui o ka lilo ʻana o nā mea hana hoʻomohala pūnaewele, akā iaʻu he hōʻike ia o ka holomua wikiwiki. Ua ʻae ʻo jQuery iā mākou e hana i nā mea he nui. Pela no na hope ona.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka