jQuery -
Men på senare år har dess status som det främsta verktyget för webbutveckling urholkats. Låt oss titta på varför jQuery blev populärt och varför det gick ur mode, och även i vilka fall det fortfarande är tillrådligt att använda det för att skapa moderna webbplatser.
En kort historia om jQuery
John Resig (
jQuery är ett Javascript-bibliotek baserat på mottot: Javascript ska vara roligt att koda. jQuery tar vanliga, repetitiva uppgifter, tar bort all onödig markering och gör dem korta, eleganta och rena.
jQuery har två huvudsakliga fördelar. Det första är ett bekvämt API för att manipulera webbsidor. I synnerhet ger det kraftfulla metoder för att välja element. Inte bara kan du välja efter ID eller klass, jQuery låter dig skriva komplexa uttryck, till exempel för att välja element baserat på deras relationer med andra element:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Med tiden blev urvalsmekanismen ett separat bibliotek
Den andra fördelen med biblioteket var att det abstraherade skillnader mellan webbläsare. På de åren var det svårt att skriva kod som kunde fungera tillförlitligt i alla webbläsare.
Bristen på standardisering innebar att utvecklare behövde ta hänsyn till många skillnader mellan webbläsare och edge-fall. Ta en titt på
// 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);
}
Och tack vare jQuery kunde utvecklare flytta oron över alla dessa fallgropar på axlarna av teamet som utvecklade biblioteket.
Senare gjorde jQuery det lättare att implementera mer komplexa tekniker som animationer och Ajax. Biblioteket har i praktiken blivit ett standardberoende för webbplatser. Och idag driver den en stor del av Internet. W3Techs tror det
Kontrollen över utvecklingen av jQuery har också blivit mer formaliserad. 2011 laget
2015 slogs jQuery Foundation samman med Dojo Foundation,
Föränderliga omständigheter
Men på senare år har jQuery
Браузеры
Av flera skäl har skillnader och begränsningar i webbläsaren blivit mindre viktiga. För det första har standardiseringen förbättrats. Stora webbläsarutvecklare (Apple, Google, Microsoft och Mozilla) arbetar tillsammans för att utveckla
Även om webbläsare fortfarande skiljer sig från varandra på ett antal viktiga sätt, har leverantörer åtminstone ett sätt att söka och skapa en gemensam databas istället för
// 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);
});
metoder
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Du kan nu manipulera elementklasser med hjälp av
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Webbplatsen
Att använda inbyggda funktioner förbättrar sidans prestanda. Många
Det andra skälet är att webbläsare uppdateras mycket snabbare än tidigare. De flesta av dem använder
Detta innebär att nya webbläsarfunktioner och buggfixar distribueras mycket snabbare, och utvecklare behöver inte vänta tills
Det tredje skälet är att Internet Explorer närmar sig ett tillstånd av fullständig irrelevans. IE har länge varit banorna för webbutveckling runt om i världen. Dess buggar var utbredda, och eftersom IE dominerade 2000-talet och inte använde en vintergrön uppdateringsstrategi, är äldre versioner fortfarande vanliga.
Under 2016 påskyndade Microsoft avvecklingen av IE,
Även jQuery slutade stödja IE 8 och lägre från och med
Nya ramar
Sedan tillkomsten av jQuery har många ramverk skapats, inklusive moderna ledare
För det första gör de det enkelt att dela upp användargränssnittet i komponenter. Ramar är utformade för att hantera sidrendering och uppdatering. Och jQuery används vanligtvis bara för uppdatering, vilket lämnar uppgiften att tillhandahålla den första sidan till servern.
Å andra sidan låter React-, Angular- och Vue-komponenter dig tätt koppla HTML, kod och till och med CSS. Precis som vi delar upp kodbasen i många fristående funktioner och klasser, gör möjligheten att dela upp gränssnittet i återanvändbara komponenter det enklare att bygga och underhålla komplexa webbplatser.
Den andra fördelen är att nyare ramverk följer ett deklarativt paradigm, där utvecklaren beskriver hur gränssnittet ska se ut och överlåter till ramverket att göra alla nödvändiga ändringar för att uppnå det som önskas. Detta tillvägagångssätt strider mot det imperativa tillvägagångssättet som kännetecknar jQuery-kod.
I jQuery skriver du uttryckligen ner stegen för att göra eventuella ändringar. Och i ett deklarativt ramverk säger du, "Enligt dessa data ska gränssnittet se ut så här." Detta kan göra det mycket lättare att skriva felfri kod.
Utvecklare har anammat nya tillvägagångssätt för webbplatsutveckling, vilket är anledningen till att jQuerys popularitet har minskat.
När ska jag använda jQuery?
Så när måste vara använda jQuery?
Om komplexiteten i projektet ökar, är det bättre att börja med ett annat bibliotek eller ramverk som låter dig hantera komplexiteten på ett meningsfullt sätt. Dela till exempel upp gränssnittet i komponenter. Att använda jQuery på sådana sajter kan se bra ut till en början, men det kommer snabbt att leda till spagettikod där du inte är säker på vilket fragment som påverkar vilken del av sidan.
Jag har varit i en sådan situation, när jag försöker göra någon förändring känns det som en svår uppgift. Du kan inte vara säker på att du inte kommer att bryta något eftersom jQuery-väljare beror på HTML-strukturen som genereras av servern.
I andra änden av skalan finns enkla sajter som bara kräver lite interaktivitet eller dynamiskt innehåll. Jag skulle inte använda jQuery som standard i dessa fall heller, eftersom det finns så mycket mer du kan göra med inbyggda API:er.
Även om jag behöver något mer kraftfullt kommer jag att leta efter ett specialiserat bibliotek, t.ex.
Jag tror att det bästa skälet till att använda jQuery är att det ger omfattande funktionalitet för fronten av en webbplats. Istället för att lära dig en mängd olika inbyggda API:er eller specialiserade bibliotek kan du bara läsa jQuery-dokumentationen och bli omedelbart produktiv.
Det imperativa tillvägagångssättet skalar inte bra, men det är lättare att lära sig än andra biblioteks deklarativa tillvägagångssätt. För en webbplats med tydligt begränsade möjligheter är det bättre att använda jQuery och arbeta lugnt: biblioteket kräver ingen komplicerad montering eller kompilering.
Dessutom är jQuery bra om du är säker på att din webbplats inte kommer att bli komplicerad med tiden, och om du inte bryr dig om inbyggd funktionalitet, vilket säkert kommer att kräva att du skriver mer kod än jQuery.
Du kan också använda det här biblioteket om du behöver stödja äldre versioner av IE. Då kommer jQuery att tjäna dig som det gjorde förr i tiden då IE var den mest populära webbläsaren.
prospektering
jQuery kommer inte att försvinna någon gång snart. Hon
Om inte jQuerys funktionalitet förändras markant, är det troligt att användningen av biblioteket kommer att fortsätta att sakta men stadigt minska under de närmaste åren. Nya webbplatser tenderar att byggas med modernare ramverk från början, och lämpliga användningsfall för jQuery blir allt mer sällsynta.
Vissa människor gillar inte den hastighet med vilken webbutvecklingsverktyg blir föråldrade, men för mig är det ett bevis på snabba framsteg. jQuery har gjort det möjligt för oss att göra många saker bättre. Detsamma gäller hennes efterträdare.
Källa: will.com