jQuery -
Mutta viime vuosina sen asema verkkokehityksen tärkeimpänä työkaluna on heikentynyt. Katsotaanpa, miksi jQuery tuli suosituksi ja miksi se putosi muodista, ja myös missä tapauksissa sitä kannattaa edelleen käyttää nykyaikaisten verkkosivustojen luomiseen.
jQueryn lyhyt historia
John Resig (
jQuery on Javascript-kirjasto, joka perustuu mottoon: Javascriptin tulee olla hauskaa koodata. jQuery ottaa yleisiä, toistuvia tehtäviä, poistaa kaikki tarpeettomat merkinnät ja tekee niistä lyhyitä, tyylikkäitä ja selkeitä.
jQuerylla on kaksi tärkeintä etua. Ensimmäinen on kätevä API web-sivujen manipulointiin. Erityisesti se tarjoaa tehokkaita menetelmiä elementtien valintaan. Voit valita tunnuksen tai luokan perusteella, mutta jQuery antaa sinun kirjoittaa monimutkaisia lausekkeita esimerkiksi valitaksesi elementtejä niiden suhteiden perusteella muihin elementteihin:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Ajan myötä valintamekanismista tuli erillinen kirjasto
Kirjaston toinen etu oli se, että se tiivisti selainten väliset erot. Noina vuosina oli vaikea kirjoittaa koodia, joka toimisi luotettavasti kaikissa selaimissa.
Standardoinnin puute merkitsi sitä, että kehittäjien piti ottaa huomioon lukuisia eroja selainten ja reunatapausten välillä. Katso
// 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);
}
Ja jQueryn ansiosta kehittäjät voivat siirtää huolet kaikista näistä sudenkuopat kirjastoa kehittävän tiimin harteille.
Myöhemmin jQuery helpotti monimutkaisempien teknologioiden, kuten animaatioiden ja Ajaxin, käyttöönottoa. Kirjastosta on käytännössä tullut verkkosivustojen vakioriippuvuus. Ja nykyään se hallitsee valtavaa osaa Internetistä. W3Techs uskoo siihen
Myös jQuery-kehityksen hallinta on tullut virallisemmaksi. Vuonna 2011 joukkue
Vuonna 2015 jQuery Foundation sulautui Dojo Foundationiin,
Muuttuvat olosuhteet
Kuitenkin viime vuosina jQuery
Браузеры
Useista syistä selaineroista ja rajoituksista on tullut vähemmän tärkeitä. Ensinnäkin standardointi on parantunut. Tärkeimmät selainkehittäjät (Apple, Google, Microsoft ja Mozilla) työskentelevät yhdessä kehittääkseen
Vaikka selaimet eroavat edelleen toisistaan monella tärkeällä tavalla, myyjillä on ainakin keinot etsiä ja luoda yhteinen tietokanta sen sijaan, että
// 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);
});
menetelmät
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Voit nyt käsitellä elementtiluokkia käyttämällä
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Sivusto
Natiiviominaisuuksien käyttö parantaa sivun suorituskykyä. monet
Toinen syy on se, että selaimet päivitetään paljon nopeammin kuin ennen. Suurin osa heistä käyttää
Tämä tarkoittaa, että uudet selainominaisuudet ja virheenkorjaukset jaetaan paljon nopeammin, eikä kehittäjien tarvitse odottaa, kunnes
Kolmas syy on se, että Internet Explorer lähestyy täysin epäolennaista tilaa. IE on pitkään ollut web-kehityksen haitta kaikkialla maailmassa. Sen virheet olivat laajalle levinneitä, ja koska IE hallitsi 2000-lukua eikä käyttänyt ikivihreää päivitysstrategiaa, vanhemmat versiot ovat edelleen yleisiä.
Vuonna 2016 Microsoft vauhditti IE:n purkamista,
Jopa jQuery lakkasi tukemasta IE 8:aa ja sitä vanhempia versioita alkaen
Uudet puitteet
JQueryn tulon jälkeen on luotu monia kehyksiä, mukaan lukien nykyaikaiset johtajat
Ensinnäkin ne helpottavat käyttöliittymän erottamista osiin. Kehykset on suunniteltu käsittelemään sivujen renderöintiä ja päivitystä. Ja jQuerya käytetään yleensä vain päivittämiseen, jolloin tehtävänä on toimittaa aloitussivu palvelimelle.
Toisaalta React-, Angular- ja Vue-komponentit mahdollistavat HTML:n, koodin ja jopa CSS:n tiiviin yhdistämisen. Aivan kuten jaamme koodipohjan moniin itsenäisiin toimintoihin ja luokkiin, kyky jakaa käyttöliittymä uudelleenkäytettäviin komponentteihin helpottaa monimutkaisten sivustojen rakentamista ja ylläpitoa.
Toinen etu on, että uudemmat puitteet noudattavat deklaratiivista paradigmaa, jossa kehittäjä kuvailee, miltä käyttöliittymän tulee näyttää ja jättää viitekehyksen tehtäväksi tehdä kaikki tarvittavat muutokset halutun saavuttamiseksi. Tämä lähestymistapa on vastoin jQuery-koodille ominaista välttämätöntä lähestymistapaa.
jQueryssä kirjoitat nimenomaisesti muistiin vaiheet, joiden avulla voit tehdä muutoksia. Ja deklaratiivisessa kehyksessä sanot: "Näiden tietojen mukaan käyttöliittymän pitäisi näyttää tältä." Tämä voi tehdä virheettömän koodin kirjoittamisesta paljon helpompaa.
Kehittäjät ovat omaksuneet uusia lähestymistapoja verkkosivustojen kehittämiseen, minkä vuoksi jQueryn suosio on laskenut.
Milloin käyttää jQueryä?
Joten kun on oltava käytä jQueryä?
Jos projektin monimutkaisuus lisääntyy, on parempi aloittaa toisesta kirjastosta tai viitekehyksestä, jonka avulla voit hallita monimutkaisuutta mielekkäästi. Jaa käyttöliittymä esimerkiksi osiin. jQueryn käyttäminen tällaisilla sivustoilla saattaa aluksi näyttää hyvältä, mutta se johtaa nopeasti spagettikoodiin, jossa et ole varma, mikä fragmentti vaikuttaa mihinkin sivun osaan.
Olen ollut sellaisessa tilanteessa, että kun yritän tehdä mitään muutosta, se tuntuu vaikealta tehtävältä. Et voi olla varma, ettet riko mitään, koska jQuery-valitsimet riippuvat palvelimen luomasta HTML-rakenteesta.
Asteikon toisessa päässä ovat yksinkertaiset sivustot, jotka vaativat vain vähän interaktiivisuutta tai dynaamista sisältöä. En myöskään käyttäisi oletuksena jQueryä näissä tapauksissa, koska natiivisovellusliittymien avulla voit tehdä paljon enemmän.
Vaikka tarvitsisin jotain tehokkaampaa, etsin erikoiskirjaston, esim.
Mielestäni paras peruste jQueryn käytölle on se, että se tarjoaa kattavat toiminnot verkkosivuston käyttöliittymään. Sen sijaan, että opettelisit erilaisia natiivisovellusliittymiä tai erikoiskirjastoja, voit lukea vain jQuery-dokumentaatiota ja tulla välittömästi tuottavaksi.
Pakollinen lähestymistapa ei skaalaudu hyvin, mutta se on helpompi oppia kuin muiden kirjastojen deklaratiivinen lähestymistapa. Sivustolle, jolla on selvästi rajalliset ominaisuudet, on parempi käyttää jQueryä ja työskennellä rauhallisesti: kirjasto ei vaadi monimutkaista kokoamista tai kääntämistä.
Lisäksi jQuery on hyvä, jos olet varma, että sivustosi ei muutu monimutkaiseksi ajan myötä, etkä välitä alkuperäisistä toiminnoista, jotka vaativat varmasti enemmän koodin kirjoittamista kuin jQuery.
Voit myös käyttää tätä kirjastoa, jos tarvitset vanhempia IE-versioita. Silloin jQuery palvelee sinua samalla tavalla kuin silloin, kun IE oli suosituin selain.
etsintään
jQuery ei katoa pian. Hän
Ellei jQueryn toiminnallisuus muutu merkittävästi, on todennäköistä, että kirjaston käyttö vähenee hitaasti mutta tasaisesti seuraavien muutaman vuoden aikana. Uudet verkkosivustot rakennetaan yleensä alusta alkaen nykyaikaisemmilla kehyksillä, ja jQuerylle sopivat käyttötapaukset ovat yhä harvinaisempia.
Jotkut ihmiset eivät pidä verkkokehitystyökalujen vanhentumisnopeudesta, mutta minulle se on todiste nopeasta edistymisestä. jQuery on antanut meille mahdollisuuden tehdä monia asioita paremmin. Sama koskee hänen seuraajiaan.
Lähde: will.com