Dîrok û Mîrasiya jQuery

Dîrok û Mîrasiya jQuery
jQuery - ev ya herî populer e li cîhanê pirtûkxaneyek JavaScript. Civata pêşkeftina malperê ew di dawiya salên 2000-an de afirand, di encamê de ekosîstemek dewlemend a malper, pêvek, û çarçoweyan bi karanîna jQuery di bin kavilê de peyda kir.

Lê di van salên dawî de, statûya wê wekî amûra sereke ya ji bo pêşkeftina malperê xera bûye. Ka em binihêrin ka çima jQuery populer bû û çima ew ji modayê derket, û her weha di kîjan rewşan de hîn jî tê pêşniyar kirin ku ew bikar bînin da ku malperên nûjen çêbikin.

Kurtîyek Dîroka jQuery

John Resig (John Resig) guhertoya yekem a pirtûkxaneyê di sala 2005-an de çêkir, û di sala 2006 de hatiye weşandin-m, li bûyerek bi navê BarCampNYC. Li Malpera fermî ya jQuery nivîskar nivîsandiye:

jQuery pirtûkxaneyek Javascript e ku li ser bingeha mottoyê ye: Javascript divê ji bo kodê xweş be. jQuery peywirên hevpar, dubarekirî digire, hemî nîşaneyên nehewce ji holê radike, û wan kurt, xweşik û paqij dike.

jQuery du avantajên sereke hene. Ya yekem API-yek hêsan e ku ji bo manipulasyona rûpelên malperê ye. Bi taybetî, ew ji bo hilbijartina hêmanan rêbazên hêzdar peyda dike. Ne tenê hûn dikarin ji hêla ID an polê ve hilbijêrin, jQuery dihêle hûn bêjeyên tevlihev binivîsin, mînakî, ji bo hilbijartina hêmanan li ser bingeha têkiliyên wan bi hêmanên din re:

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

Bi demê re, mekanîzmaya hilbijartinê di pirtûkxaneyek cihêreng de pêş ket Sizzle.

Feydeya duyemîn a pirtûkxaneyê ev bû ku ew cûdahiyên di navbera gerokan de jêbirin. Di wan salan de, nivîsandina koda ku di hemî gerokan de pêbawer kar bike dijwar bû.

Kêmasiya standardkirinê tê vê wateyê ku pêşdebiran hewce dike ku gelek cûdahiyên di navbera gerok û dozên devê de hesab bikin. Binêre ev koda çavkaniya jQuery ya destpêkê û li jQuery.browser bigerin. Li vir mînakek e:

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

Û bi saya jQuery, pêşdebiran dikarin fikarên li ser van hemî xeletiyan biguhezînin ser milên tîmê ku pirtûkxaneyê pêş dixe.

Dûv re, jQuery pêkanîna teknolojiyên tevlihevtir ên wekî anîmasyon û Ajax hêsantir kir. Pirtûkxane bi bandor ji bo malperan bûye pêwendiyek standard. Û îro ew beşek mezin a Înternetê hêz dike. W3Techs bawer dike ku 74% ji malperan îro jQuery bikar tînin.

Kontrola li ser pêşkeftina jQuery jî fermîtir bûye. Di sala 2011 de tîma Lijneya jQuery çêkir. Û di 2012 jQuery Board veguherî Weqfa jQuery.

Di 2015-an de, Weqfa jQuery bi Weqfa Dojo re bû yek, ji bo afirandina JS Weqfa, ku paşê bi Weqfa Node.js re hate yek kirin 2019-m ji bo afirandina Weqfa OpenJS, ku di nav de jQuery yek ji "projeyên serketinê. "

Guhertina şert û mercên

Lêbelê, di salên dawî de jQuery populerbûna xwe winda kir. GitHub pirtûkxane ji pêşiya malpera min derxistin. Bootstrap v5 ji jQuery xilas bibinji ber ku ya wî ye"girêdayîbûna xerîdar a herî mezin ji bo JavaScript-a birêkûpêk"(niha bi mezinahî 30 KB, kêmkirî û pakkirî). Gelek meylên di pêşkeftina malperê de pozîsyona jQuery wekî amûrek bingehîn qels kiriye.

Bûrûndî

Ji ber çend sedeman, cûdahî û sînorkirinên gerokê kêmtir girîng bûne. Ya yekem, standardîzasyon çêtir bûye. Pêşdebirên gerokên sereke (Apple, Google, Microsoft û Mozilla) bi hev re dixebitin ku pêşve bibin standardên webê di çarçoveyê de Koma Xebatê ya Teknolojiya Serlêdana Hîpertekstê ya Webê.
Her çend gerok hîn jî di gelek awayên girîng de ji hev cûda dibin, firoşkaran bi kêmanî amûrek heye ku li şûna danenûsek hevbeş bigerin û biafirînin. şerê mayînde bihevra. Li gorî vê yekê, API-yên gerokê kapasîteyên nû bi dest xistin. Mînak, API bistînin ku dikare fonksiyonên Ajax ji jQuery veguherîne:

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

Rêbaz querySelector и querySelectorAll hilbijêrên jQuery dubare:

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

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

Naha hûn dikarin bi karanîna çînên hêmanan manîpule bikin classList:

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

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

Li ser malperê Dibe ku hûn Ne hewceyê jQuery nebin Li vir çend rewşên din hene ku tê de koda jQuery dikare bi koda xwemalî were guheztin. Hin pêşdebir her gav bi jQuery re disekinin ji ber ku ew bi tenê di derbarê API-yên nû de nizanin, lê gava ku ew dizanin, ew kêm caran dest bi karanîna pirtûkxaneyê dikin.

Bikaranîna taybetmendiyên xwemalî dikare performansa rûpelê baştir bike. Gelek bandorên anîmasyonê ji jQuery niha hûn dikarin bicîh bikin pir bi bandortir bikaranîna CSS.

Sedema duyemîn ev e ku gerok ji berê pir zûtir têne nûve kirin. Piraniya wan bikar tînin stratejiya nûvekirina "her kesk"., ji bilî Apple Safari. Ew dikarin bêyî tevlêbûna bikarhêner di paşîn de werin nûve kirin û bi nûvekirinên OS-ê ve ne girêdayî ne.

Ev tê vê wateyê ku taybetmendiyên geroka nû û rastkirinên xeletiyan pir zûtir têne belav kirin, û pêşdebir neçar in ku li bendê bin heya ku Ez dikarim bikar bînin dê bigihêje asteke qebûlkirinê. Ew dikarin bi pêbawerî taybetmendiyên nû û API-yên nû bêyî dakêşana jQuery an polyfills bikar bînin.

Sedema sêyemîn ev e ku Internet Explorer nêzikî rewşek bêkêmasî dibe. IE ji mêj ve bûye xetera pêşkeftina malperê li çaraliyê cîhanê. Çewtiyên wê berbelav bûn, û ji ber ku IE di salên 2000-an de serdest bû û stratejiyek nûvekirina herheyî bikar neanî, guhertoyên kevn hîn jî gelemperî ne.

Di sala 2016-an de, Microsoft lez da rakirina IE, piştgiriya xwe rawestand Guhertoyên dehemîn û berê, bi piştgirîkirina IE 11 ve sînorkirî ne. Û her ku diçe, pêşdebirên malperê xwedan luks e ku lihevhatina IE-yê paşguh bikin.

Tewra jQuery destekkirina IE 8 û jêr dest pê kir guhertoya 2.0, di sala 2013 de hate weşandin. Û her çend di hin rewşan de piştgiriya IE hîn jî hewce ye, ji bo nimûne, li ser malperên kevn, ev rewş kêm û kêm caran derdikevin.

Çarçoveyên nû

Ji ber hatina jQuery, gelek çarçove hatine afirandin, tevî serokên nûjen Bersivkirin, Angular и Vue. Li ser jQuery du avantajên girîng hene.

Pêşîn, ew veqetandina navrûya bikarhêner li pêkhateyan hêsan dikin. Çarçove têne sêwirandin ku ji bo sererastkirin û nûvekirina rûpelan bi rê ve bibin. Û jQuery bi gelemperî tenê ji bo nûvekirinê tê bikar anîn, peywira peydakirina rûpela destpêkê ji serverê re dihêle.

Ji hêla din ve, pêkhateyên React, Angular û Vue dihêlin ku hûn HTML, kod û tewra CSS-ê jî zexm bikin. Mîna ku em bingeha kodê li gelek fonksiyon û çînên xweser dabeş dikin, şiyana dabeşkirina navberê li hêmanên ji nû ve bi kar anîn çêkirin û domandina malperên tevlihev hêsantir dike.

Feydeya duyemîn ev e ku çarçoveyên nûtir bi paradîgmayek daxuyandî ve girêdayî ne, ku tê de pêşdebir diyar dike ka divê navber çawa xuya bike û wê ji çarçoweyê re dihêle ku hemî guhertinên pêwîst bike da ku bigihîje tiştê ku tê xwestin. Ev nêzîkatî berevajî nêzîkbûna mecbûrî ye ku koda jQuery diyar dike.

Di jQuery de, hûn bi eşkere gavan dinivîsin da ku hûn guhartinan bikin. Û di çarçoveyek daxuyandî de hûn dibêjin, "Li gorî vê daneyê, navbeynkar divê bi vî rengî xuya bike." Ev dikare nivîsandina koda bê xeletî pir hêsantir bike.

Pêşdebiran ji bo pêşkeftina malperê nêzîkatiyên nû pejirandine, ji ber vê yekê populerbûna jQuery kêm bûye.

Kengê jQuery bikar bînin?

Îcar gava divêt jQuery bikar bînin?

Ger tevliheviya projeyê zêde bibe, wê hingê çêtir e ku hûn bi pirtûkxaneyek an çarçoveyek din dest pê bikin ku destûrê dide we ku hûn tevliheviyê bi wate îdare bikin. Mînakî, navberê li pêkhateyan dabeş bikin. Bikaranîna jQuery li ser malperên weha dibe ku di destpêkê de xweş xuya bike, lê ew ê zû bigihîje koda spaghetti ku hûn nebawer in ka kîjan perçe bandorê li kîjan beşa rûpelê dike.

Ez di rewşek weha de bûm, dema ku ez hewl didim ku guhertinek çêbikim, wekî karekî dijwar xuya dike. Hûn nikarin pê ewle bin ku hûn ê tiştek neşkînin ji ber ku hilbijêrên jQuery bi strukturên HTML-ê ve girêdayî ye ku ji hêla serverê ve hatî çêkirin.

Di dawiya pîvanê de malperên hêsan hene ku tenê piçek înteraktîf an naveroka dînamîkî hewce dike. Ez ê di van rewşan de jî jQuery-ya xwe venekim, ji ber ku hûn dikarin bi API-yên xwemalî re pir zêde bikin.

Heta ku ez hewceyê tiştek bihêztir be jî, ez ê li pirtûkxaneyek pispor bigerim, mînakî. eksê ji bo Ajax an Animate.css ji bo anîmasyon. Ev ê ji barkirina hemî jQuery ji bo fonksiyonek piçûk hêsantir be.

Ez difikirim ku aqilê çêtirîn ji bo karanîna jQuery ev e ku ew ji bo dawiya malperek fonksiyonek berfireh peyda dike. Li şûna ku hûn cûrbecûr API-yên xwemalî an pirtûkxaneyên pispor fêr bibin, hûn dikarin tenê belgeya jQuery bixwînin û tavilê bibin hilberîner.

Nêzîkatiya imperative baş pîvaz nake, lê hînbûna wê ji nêzîkatiya ragihandinê ya pirtûkxaneyên din hêsantir e. Ji bo malperek bi kapasîteyên bi eşkereyî tixûbdar, çêtir e ku meriv jQuery bikar bîne û bi aramî bixebite: pirtûkxane pêdivî bi kombûn an berhevkirina tevlihev nake.

Wekî din, jQuery baş e heke hûn pê ewle bin ku malpera we dê bi demê re tevlihev nebe, û heke hûn bala xwe nedin fonksiyona xwemalî, ku bê guman dê ji jQuery bêtir kodê binivîsin.

Her weha hûn dikarin vê pirtûkxaneyê bikar bînin heke hûn hewce ne ku guhertoyên kevn ên IE piştgirî bikin. Dûv re jQuery dê ji we re xizmetê bike mîna ku di rojên ku IE geroka herî populer bû.

Li pêşerojê digerin

jQuery di demek nêzîk de neçe. Wê bi awayekî çalak pêşdikeve, û gelek pêşdebiran tercîh dikin ku API-ya wê bikar bînin, tevî ku rêbazên xwemalî hene. Pirtûkxane alîkariya nifşek tevahî pêşdebiran kiriye ku malperên ku li ser her gerokê dixebitin biafirînin. Her çend ew bi gelek awayan ji hêla pirtûkxane, çarçove û paradîgmayên nû ve hatî guhertin, jQuery di afirandina tevna nûjen de rolek pir erênî lîstiye.

Heya ku fonksiyona jQuery bi girîngî neguhere, îhtîmal e ku karanîna pirtûkxaneyê di çend salên pêş de hêdî lê bi domdarî kêm bibe. Malperên nû ji destpêkê ve bi karanîna çarçoveyên nûjentir têne çêkirin, û dozên karanîna guncan ji bo jQuery her ku diçe kêm dibin.

Hin kes ji rêjeya ku amûrên pêşkeftina malperê kevn dibin hez nakin, lê ji min re ew delîlek pêşkeftina bilez e. jQuery destûr daye me ku em gelek tiştan çêtir bikin. Heman tişt ji bo şûngirên wê jî derbas dibe.

Source: www.habr.com

Add a comment