Histori ea jQuery le Lefa

Histori ea jQuery le Lefa
jQuery - ena ke eona e tsebahalang haholo lefatšeng laebrari ea JavaScript. Sechaba sa nts'etsopele ea marang-rang se e thehile ho elella bofelong ba lilemo tsa bo-2000, e leng se ileng sa etsa hore ho be le tikoloho e ruileng ea libaka, li-plugins, le meralo e sebelisang jQuery tlasa hood.

Empa lilemong tsa morao tjena, boemo ba eona e le sesebelisoa sa mantlha sa nts'etsopele ea webo bo senyehile. Ha re shebeng hore na ke hobane'ng ha jQuery e ile ea tsebahala le hore na ke hobane'ng ha e ile ea theoha fesheneng, le hore na ke maemong afe ho ntseng ho le molemo ho e sebelisa ho theha liwebsaete tsa sejoale-joale.

Histori e Khutšoanyane ea jQuery

John Resig (John Resig) o thehile mofuta oa pele oa laebrari ka 2005, le e hatisitsoeng ka 2006-m, ketsahalong e bitsoang BarCampNYC. E butsoe jQuery webosaete ea semmuso mongoli o ngotse:

jQuery ke laebrari ea Javascript e thehiloeng ho lepetjo: Javascript e lokela ho ba monate ho khouta. jQuery e nka mesebetsi e tloaelehileng, e ipheta-phetang, e hlobola matšoao 'ohle a sa hlokahaleng,' me e etsa hore e be khuts'oane, e boreleli ebile e hloekile.

jQuery e na le melemo e 'meli ea mantlha. Ea pele ke API e loketseng bakeng sa ho qhekella maqephe a webo. Haholo-holo, e fana ka mekhoa e matla ea ho khetha likarolo. Ha se feela hore o ka khetha ka ID kapa sehlopha, jQuery e u lumella ho ngola mantsoe a rarahaneng, mohlala, ho khetha likarolo tse ipapisitseng le likamano tsa bona le likarolo tse ling:

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

Ha nako e ntse e ea, mochine oa khetho o ile oa fetoha laebrari e arohaneng Sizzle.

Molemo oa bobeli oa laebrari e ne e le hore e ne e tlosa phapang pakeng tsa li-browser. Lilemong tseo, ho ne ho le thata ho ngola khoutu e ka sebetsang ka botšepehi ho libatli tsohle.

Ho haella ha maemo ho ne ho bolela hore bahlahisi ba tlameha ho ikarabella bakeng sa liphapang tse ngata lipakeng tsa li-browser le li-edge case. Sheba khoutu ena ea pele ea mohloli oa jQuery 'me u batle jQuery.browser. Mohlala o le mong ke ona:

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

'Me ka lebaka la jQuery, bahlahisi ba ka fetisetsa matšoenyeho ka litsietsi tsena mahetleng a sehlopha se nts'etsang laeborari.

Hamorao, jQuery e ile ea nolofaletsa ho kenya ts'ebetsong mahlale a rarahaneng joalo ka lipopae le Ajax. Laebrari e se e fetohile mokhoa o tloaelehileng oa ho itšetleha ka liwebsaete. 'Me kajeno e matlafatsa karolo e kholo ea Marang-rang. W3Techs e lumela seo 74% ea libaka kajeno li sebelisa jQuery.

Taolo holim'a nts'etsopele ea jQuery le eona e se e hlophisehile haholoanyane. Ka 2011 sehlopha e thehile jQuery Board. Le ka 2012 jQuery Board e fetotsoe ho jQuery Foundation.

Ka 2015, jQuery Foundation e kopantsoe le Dojo Foundation, ho theha JS Foundation, e ileng ea kopanngoa le Node.js Foundation ho kena 2019-m ho bopa Motheo oa OpenJS, moo jQuery e neng e le e 'ngoe ea "merero ea katleho. "

Maemo a fetohang

Leha ho le joalo, lilemong tsa morao tjena jQuery e lahlehetsoe ke botumo ba eona. GitHub e tlositse laebrari ho tloha ka pele ho sebaka sa ka. Bootstrap v5 tlosa jQueryhobane ke ea hae"kholo ka ho fetisisa ea bareki bakeng sa JavaScript e tloaelehileng"(hona joale 30 KB ka boholo, e fokotsoe ebile e pakiloe). Mekhoa e mengata ea ntlafatso ea marang-rang e fokolisitse boemo ba jQuery joalo ka sesebelisoa sa bohlokoa.

Браузеры

Ka mabaka a 'maloa, liphapang le mefokolo ea sebatli li fetohile tsa bohlokoa haholo. Ntlha ea pele, ho tsitsa ho ntlafetse. Bahlahisi ba ka sehloohong ba sebatli (Apple, Google, Microsoft le Mozilla) ba sebetsa 'moho ho nts'etsapele maemo a tepo ka hara moralo Sehlopha se sebetsang sa Web Hypertext Application Technology.
Leha libatli li ntse li fapana ho tse ling ka mekhoa e mengata ea bohlokoa, barekisi bonyane ba na le mokhoa oa ho batla le ho theha database e tloaelehileng ho fapana le ntoa e sa feleng mmoho. Ka hona, li-API tsa sebatli li fumane bokhoni bo bocha. Mohl, Lata API e khona ho fetola mesebetsi ea Ajax ho tsoa ho 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);
    });

Mekhoa querySelector и querySelectorAll likopi tsa jQuery pickers:

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

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

Hona joale o ka fetola litlelase tsa element o sebelisa classList:

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

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

Sebakeng seo U kanna oa se hloke jQuery Mona ke maemo a mang a 'maloa moo khoutu ea jQuery e ka nkeloang sebaka ke khoutu ea lehae. Bahlahisi ba bang ba lula ba khomarela jQuery hobane ha ba tsebe ka li-API tse ncha, empa ha ba li tseba, ba qala ho sebelisa laeborari hangata.

Ho sebelisa likarolo tsa tlhaho ho ntlafatsa ts'ebetso ea leqephe. Tse ngata litlamorao tsa animation tse tsoang ho jQuery joale o ka kenya ts'ebetsong e sebetsang haholo sebelisa CSS.

Lebaka la bobeli ke hore libatli li nchafatsoa kapele ho feta pele. Bongata ba bona ba sebelisa "evergreen" leano la ho nchafatsa, ntle le Apple Safari. Li ka ntlafatsoa ka morao ntle le ho ameha ha basebelisi 'me ha li tlameletsoe ho liapdeite tsa OS.

Sena se bolela hore likarolo tse ncha tsa sebatli le li-bug fixes li tsamaisoa ka potlako, 'me baetsi ha baa tlameha ho ema ho fihlela Nka E Sebelisa e tla fihla boemong bo amohelehang. Ba ka sebelisa likarolo tse ncha le li-API ka kholiseho ntle le ho khoasolla jQuery kapa polyfill.

Lebaka la boraro ke hore Internet Explorer e ntse e atamela boemo ba ho hloka thuso ho hang. IE esale e le bothata ba nts'etsopele ea webo lefatšeng ka bophara. Litšitšili tsa eona li ne li atile, 'me kaha IE e ne e laola lilemo tsa bo-2000' me e sa sebelise leano la ntlafatso ea kamehla, liphetolelo tsa khale li ntse li tloaelehile.

Ka 2016, Microsoft e ile ea potlakisa ho felisoa ha IE, ho kgaotsa ho tshehetsa ea leshome le ea pejana, e fokotsa tšehetso ho IE 11. 'Me ka ho eketsehileng, baetsi ba marang-rang ba na le boiketlo ba ho hlokomoloha ho lumellana le IE.

Esita le jQuery e emisitse ho tšehetsa IE 8 le ka tlase ho qala ho tloha mofuta 2.0, e hatisitsoeng ka 2013. 'Me le hoja maemong a mang tšehetso ea IE e ntse e hlokahala, ka mohlala, libakeng tsa khale, maemo ana a hlaha hangata.

Mehaho e mecha

Ho tloha ha jQuery e qala, ho entsoe meralo e mengata, ho kenyelletsa le baetapele ba sejoale-joale Etsa joalo, Angular и Vue. Ba na le melemo e 'meli ea bohlokoa ho feta jQuery.

Ntlha ea pele, ba etsa hore ho be bonolo ho arola sebopeho sa mosebedisi ka likaroloana. Merero e etselitsoe ho sebetsana le tlhahiso ea maqephe le ntlafatso. 'Me jQuery hangata e sebelisoa feela bakeng sa ntlafatso, e siea mosebetsi oa ho fana ka leqephe la pele ho seva.

Ka lehlakoreng le leng, likarolo tsa React, Angular le Vue li u lumella ho kopanya HTML, khoutu esita le CSS. Feela joalokaha re arola motheo oa khoutu ka mesebetsi le lihlopha tse ngata tse ikemetseng, bokhoni ba ho arola sebopeho ka likarolo tse ka sebelisoang hape ho etsa hore ho be bonolo ho haha ​​le ho boloka libaka tse rarahaneng.

Molemo oa bobeli ke hore meralo ea morao-rao e khomarela paradigm e phatlalatsang, moo moqapi a hlalosang hore na sebopeho se lokela ho shebahala joang 'me a se tlohelle moralo ho etsa liphetoho tsohle tse hlokahalang ho finyella se lakatsehang. Mokhoa ona o hanana le mokhoa oa bohlokoa o khethollang khoutu ea jQuery.

Ho jQuery, o ngola ka ho hlaka mehato ea ho etsa liphetoho. 'Me ka moralo oa phatlalatso u re, "Ho latela data ena, sebopeho se lokela ho shebahala tjena." Sena se ka etsa hore ho ngola khoutu e se nang bug ho be bonolo haholo.

Bahlahisi ba amohetse mekhoa e mecha ea nts'etsopele ea sebaka sa marang-rang, ke ka lebaka leo botumo ba jQuery bo theohileng.

U ka sebelisa jQuery neng?

Joale neng e lokela ho ba sebelisa jQuery?

Haeba ho rarahana ha morero ho ntse ho eketseha, joale ho molemo ho qala ka laeborari e 'ngoe kapa moralo o u lumellang ho laola ho rarahana ka tsela e nang le moelelo. Ka mohlala, arola sebopeho ka likarolo. Ho sebelisa jQuery libakeng tse joalo ho ka 'na ha shebahala hantle qalong, empa ho tla lebisa kapele khoutu ea spaghetti moo u sa tsebeng hore na ke sekhechana sefe se amang karolo efe ea leqephe.

Ke bile boemong bo joalo, ha ke leka ho etsa phetoho leha e le efe, ho utloahala eka ke mosebetsi o boima. U ke ke ua etsa bonnete ba hore u ke ke ua senya letho hobane bakhethoa ba jQuery ba itšetlehile ka sebopeho sa HTML se hlahisoang ke seva.

Ka lehlakoreng le leng la sekala ke libaka tse bonolo tse hlokang feela ho hokahana kapa litaba tse matla. Ke ne nke ke ka ikhethela ho jQuery maemong ana, hobane ho na le ho hongata hoo u ka ho etsang ka li-API tsa matsoalloa.

Leha ke hloka ho hong ho matla ho feta, ke tla batla laeborari e khethehileng, mohlala. axios bakeng sa Ajax kapa Animate.css bakeng sa ditshwantshiso. Sena se tla ba bonolo ho feta ho kenya jQuery eohle bakeng sa ts'ebetso e nyane.

Ke nahana hore lebaka le letle la ho sebelisa jQuery ke hore e fana ka ts'ebetso e felletseng bakeng sa pheletso e ka pele ea sebaka sa marang-rang. Sebakeng sa ho ithuta mefuta e fapaneng ea li-API tsa matsoalloa kapa lilaeborari tse ikhethileng, u ka bala litokomane tsa jQuery 'me ua ba le litholoana hang hang.

Mokhoa oa bohlokoa ha o atlehe, empa ho bonolo ho ithuta ho feta mokhoa oa phatlalatso oa lilaebrari tse ling. Bakeng sa sebaka sa marang-rang se nang le bokhoni bo hlakileng bo fokolang, ho molemo ho sebelisa jQuery le ho sebetsa ka khutso: laebrari ha e hloke kopano e rarahaneng kapa ho bokella.

Ho feta moo, jQuery e ntle haeba o na le ts'epo ea hore sebaka sa hau sa marang-rang se ke ke sa rarahana ha nako e ntse e ea, 'me haeba u sa tsotelle ts'ebetso ea tlhaho, e tla hloka ho ngola khoutu e ngata ho feta jQuery.

U ka sebelisa laebrari ena haeba u hloka ho tšehetsa mefuta ea khale ea IE. Joale jQuery e tla u sebeletsa joalo ka ha e ne e etsa mehleng ea ha IE e ne e le sebatli se tsebahalang haholo.

Ho sheba bokamoso

jQuery e ke ke ea nyamela haufinyane. Eena ho ntshetsa pele ka mafolofolo, mme bahlahisi ba bangata ba khetha ho sebelisa API ea eona, leha mekhoa ea matsoalloa e le teng. Laeborari e thusitse moloko oohle oa batho ba ntlafatsang ho theha liwebsaete tse sebetsang ho sebatli sefe kapa sefe. Leha e nketsoe sebaka ka litsela tse ngata ke lilaeborari tse ncha, liforeimi le li-paradigms, jQuery e phethile karolo e ntle haholo ho thehoeng ha webo ea sejoale-joale.

Ntle le haeba ts'ebetso ea jQuery e fetoha haholo, ho ka etsahala hore ts'ebeliso ea laeborari e tla tsoela pele ho theoha butle butle butle lilemong tse 'maloa tse tlang. Liwebsaete tse ncha li atisa ho hahoa ho sebelisoa mekhoa ea morao-rao ho tloha qalong, 'me linyeoe tse loketseng tsa tšebeliso ea jQuery li ntse li eketseha ka seoelo.

Batho ba bang ha ba rate sekhahla seo lisebelisoa tsa ntlafatso ea webo li felloang ke nako, empa ho 'na ke bopaki ba tsoelo-pele e potlakileng. jQuery e re lumelletse ho etsa lintho tse ngata betere. Ho joalo le ka bahlahlami ba hae.

Source: www.habr.com

Eketsa ka tlhaloso