
jQuery â e JavaScript-it nĂ« botĂ«. Komuniteti i zhvilluesve tĂ« uebit e krijoi nĂ« fund tĂ« viteve 2000, çka çoi nĂ« krijimin e njĂ« ekosistemi tĂ« pasur faqesh, shtesash dhe framework-esh qĂ« pĂ«rdorin jQuery nĂ«n kapuç.
Por në vitet e fundit, statusi i saj si mjeti kryesor për zhvillimin e uebit është tronditur. Le të shohim se përse jQuery u bë popullore dhe përse doli nga moda, si dhe në cilat raste është ende e arsyeshme ta përdorim për krijimin e faqeve moderne.
Një histori e shkurtër e jQuery
John Resig () krijoi versionin e parë të bibliotekës në vitin 2005, dhe -në, në një ngjarje të quajtur BarCampNYC. Në autore shkruajti:
jQuery â Ă«shtĂ« njĂ« bibliotekĂ« Javascript, e cila ka si parim: Programimi nĂ« Javascript duhet tĂ« jetĂ« i kĂ«ndshĂ«m. jQuery merr detyra tĂ« shpeshta dhe tĂ« pĂ«rsĂ«ritura, heq tĂ« gjitha markup-et e panevojshme dhe i bĂ«n ato tĂ« shkurtra, elegante dhe tĂ« qarta.
Në jQuery janë dy avantazhe kryesore. E para është një API i përshtatshëm për manipulimin e faqeve web. Në veçanti, ofron metoda të fuqishme për zgjedhjen e elementeve. Nuk mund të zgjedhësh vetëm nëpërmjet ID ose klasave, jQuery lejon të shkruash shprehje komplekse, për shembull, për të zgjedhur elemente mbi bazën e marrëdhënieve të tyre me elemente të tjera:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');Me kalimin e kohës, mekanizmi i zgjedhjes u shndërrua në një bibliotekë të veçantë .
Avantazhi i dytë i bibliotekës ishte se ajo abstragoi dallimet midis shfletuesve. Në ato vite ishte e vështirë të shkruhej kod që të punonte me besueshmëri në të gjithë shfletuesit.
Mungesa e standardizimit do të thoshte që zhvilluesit duhej të merrnin parasysh shumë dallime midis shfletuesve dhe raste të veçanta. Shikoni dhe kërkoni për jQuery.browser. Ja një nga shembujt:
// 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);
}Dhe falë jQuery, zhvilluesit mund të zhvendosin brengat për të gjitha këto rreziqe në supet e ekipit që zhvillonte bibliotekën.
Më vonë, jQuery e thjeshtoi zbatimin e teknologjive më të avancuara si animacionet dhe Ajax. Biblioteka në fakt u shndërrua në një varësi standarde për faqet e internetit. Sot, ajo mbështet një pjesë të madhe të internetit. W3Techs beson se .
Kontrolli mbi zhvillimin e jQuery gjithashtu është bërë më formalisht. Në vitin 2011, ekipi . Në vitin 2012, Bordi i jQuery.
. Në vitin 2015, Fondacioni jQuery u bashkua me Fondacionin Dojo,, i cili më pas u bashkua me Fondacionin Node.js në-in për të krijuar, në kuadër të cilit jQuery ishte një nga ".»
Rrethanat në ndryshim
Megjithatë, vitet e fundit, jQuery . GitHub. Bootstrap v5 , sepse kjo është "" (për momentin me një madhësi prej 30 KB, e minifikuar dhe e paketuar). Disa tendenca në zhvillimin e web-it kanë dobësuar pozitat e jQuery si një mjet të nevojshëm.
Shfletuesit
Për disa arsye, dallimet dhe kufizimet e shfletuesve janë bërë më pak të rëndësishme. Së pari, standardizimi është përmirësuar. Zhvilluesit kryesorë të shfletuesve (Apple, Google, Microsoft dhe Mozilla) po punojnë së bashku për të zhvilluar në kuadër të.
Megjithëse shfletuesit ende ndryshojnë nga njëri-tjetri në disa pika të rëndësishme, tani ofruesit kanë të paktën një mjet për të gjetur dhe krijuar një bazë të përbashkët në vend të ndaj njëri-tjetrit. Për këtë arsye, API-të e shfletuesve kanë fituar mundësi të reja. Për shembull, mund të zëvendësojë funksionet Ajax nga 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);
});Metodat dhe në mënyrë të përsëritur mjete zgjedhjeje nga jQuery:
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');Tani mund të manipulohet klasat e elementeve me :
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');Në faqen janë listuar disa situata të tjera ku kodi i jQuery mund të zëvendësohet me kodin native. Disa zhvillues gjithmonë ndjekin jQuery, sepse thjesht nuk dinë për API-të e reja, por kur mësojnë, fillojnë të përdorin këtë bibliotekë më rrallë.
Përdorimi i mundësive native lejon të rritet performanca e faqeve. Shumë tani mund të realizohen me CSS.
Arsyeja e dytë është se shfletuesit përditësohen shumë më shpejt se më parë. Në shumicën e tyre aplikohet , përveç Apple Safari. Ata mund të përditësohen në sfond pa angazhimin e përdoruesit dhe nuk janë të lidhur me përditësimet e OS-së.
Kjo do të thotë se njësi të reja të shfletuesve dhe rregullime të gabimeve shpërndahen shumë më shpejt, dhe zhvilluesit nuk kanë nevojë të presin derisa pjesa të arrijë një nivel të pranueshëm. Ata mund të përdorin me besim veçoritë dhe API-të e reja pa shkarkuar jQuery ose polifil.
Arsyeja e tretĂ« Ă«shtĂ« se Internet Explorer po afrohet drejt gjendjes sĂ« plotĂ« tĂ« papĂ«rshtatshmĂ«risĂ«. IE ka pasur pĂ«r njĂ« kohĂ« tĂ« gjatĂ« probleme pĂ«r zhvillimin web nĂ« tĂ« gjithĂ« botĂ«n. Gabimet karakteristike tĂ« tij kanĂ« qenĂ« tĂ« pĂ«rhapura gjerĂ«sisht, dhe duke qenĂ« se IE dominoi nĂ« vitet 2000 dhe nuk pĂ«rdori strategjinĂ« âgjetheshâ tĂ« pĂ«rditĂ«simit, versionet e tij tĂ« vjetra vazhdojnĂ« tĂ« takohen shpesh.
Në vitin 2016 Microsoft përshpejtoi tërheqjen e IE nga përdorimi, versionet e dhjetëta dhe më herët, duke u kufizuar vetëm me mbështetje për IE 11. Dhe gjithnjë e më shpesh zhvilluesit e uebit mund të lejojnë vetes luxe-in e injorimit të kompatibilitetit me IE.
Edhe jQuery e ndali mbështetje për IE 8 dhe më poshtë duke filluar nga , i lëshuar në vitin 2013. Edhe pse në disa raste ende nevojitet mbështetje për IE, për shembull në faqet e vjetra, këto situata po ndodhin gjithnjë e më rrallë.
Kornizat e reja
Që nga ardhja e jQuery, janë krijuar shumë korniza, përfshirë liderët modernë , dhe . Ato kanë dy avantazhe të rëndësishme në krahasim me jQuery.
Së pari, ato lejojnë ndarjen e lehtë të ndërfaqes së përdoruesit në komponente. Kornizat janë dizajnuar për të trajtuar renditjen dhe përditësimin e faqes. Ndërsa jQuery përdoret zakonisht vetëm për përditësim, duke ngarkuar serverin me detyrën për të ofruar faqen fillestare.
Nga ana tjetër, komponentët e React, Angular dhe Vue lejojnë lidhje të ngushta midis HTML, kodit dhe madje CSS. Ashtu siç e ndajmë bazën e kodit në shumë funksione dhe klasa të vetë-mjaftueshme, ashtu dhe mundësia për të ndarë ndërfaqen në komponente të ripërdorueshme e thjeshton ndërtimin dhe mirëmbajtjen e faqeve të komplikuara.
Një nga avantazhet e tjera është se framework-ët më të rinj ndjekin paradigmën deklarative, ku zhvilluesi përshkruan se si duhet të duket interfazin, ndërsa framework-u merr përsipër të bëjë të gjitha ndryshimet e nevojshme për të arritur rezultatin e dëshiruar. Ky qasje është në kundërshtim me qasjen imperative, e cila është karakteristike për kodin jQuery.
Në jQuery, ju specifikoni hapat për të bërë ndonjë ndryshim. Ndërsa në një framework deklarativ, ju thoni: "Sipas këtyre të dhënave, interfazin duhet ta jetë kështu." Kjo mund ta lehtësojë ndjeshëm shkrimin e kodit pa defekte.
Zhvilluesit kanë miratuar qasje të reja për zhvillimin e faqeve, duke sjellë një rënie në popullaritetin e jQuery.
Kur të përdorni jQuery?
Por kur duhet të përdorni jQuery?
Nëse kompleksiteti i projektit po rritet, është më mirë të filloni me një bibliotekë ose kornizë tjetër që lejon menaxhimin e kuptueshëm të kompleksitetit. Për shembull, ndarjen e ndërfaqes në komponente. Përdorimi i jQuery në këto faqe në fillim mund të duket i pranueshëm, por kjo shpejt do të çojë në shfaqjen e kodit spaghetti, kur nuk do të jeni të sigurt se cili fragment ndikon në cilën pjesë të faqes.
Kam qenë në një situatë të tillë, kur përpiqesha të bëja ndonjë ndryshim, ndjeja se po merresha me një detyrë të vështirë. Nuk mund të jesh i sigurt se nuk do të dëmtohet asgjë, sepse selektorët e jQuery varen nga struktura HTML që krijohet nga serveri.
Në anën tjetër të shkallës janë faqet e thjeshta, të cilave u nevojitet vetëm pak ndërveprimi ose përmbajtje dinamike. Në raste të tilla, nuk do të përdorja as jQuery si dyshim, sepse me API-të native mund të bëj shumë më tepër.
Madje edhe nëse kam nevojë për diçka më të fuqishme, do të kërkoj një bibliotekë të specializuar, siç është për Ajax apo për animacione. Kjo do të ishte më e thjeshtë se sa të ngarkoja tërë jQuery për një funksionalitet të vogël.
Mendoj se justifikimi më i mirë për përdorimin e jQuery është se ofron funksionalitet të plotë për punën me frontendin e sitit. Në vend që të studioni një gamë të gjerë API-ve native ose biblioteka të specializuara, ju mund të lexoni vetëm dokumentacionin e jQuery dhe menjëherë të bëheni produktiv.
Qasja imperativ është e vështirë për t'u shkallëzuar, por është më e lehtë për t'u mësuar sesa qasja deklarative e biblioteka të tjera. Për një sit me kapacitete të dukshme të kufizuara, është më e mirë të përdorni jQuery dhe të punoni me qetësi: biblioteca nuk kërkon një ndërtim ose kompilim të komplikuar.
Përveç kësaj, jQuery është e mirë në ato raste kur jeni të sigurt se siti nuk do të komplikohet me kalimin e kohës, dhe nëse nuk shqetësoheni për funksionalitetin native, i cili ndonjëherë do të kërkonte të shkruani më shumë kod sesa jQuery.
Gjithashtu, mund ta përdorni këtë bibliotekë nëse duhet të mbështesni versionet e vjetra të IE. Atëherë jQuery do t'ju shërbejë si në ato kohëra kur IE ishte shfletuesi më i njohur.
Pamja në të ardhmen
jQuery nuk do të zhduket së shpejti. Ajo , dhe shumë zhvillues preferojnë të përdorin API-në e saj, edhe nëse metodat native janë të disponueshme. Biblioteka ndihmoi një brez të tërë zhvilluesish të krijojnë faqe që funksionojnë në çdo shfletues. Dhe megjithëse në shumë aspekte është zëvendësuar nga biblioteka, framework-et dhe paradigmave të reja, jQuery ka luajtur një rol të madh pozitiv në ndërtimin e web-it modern.
Nëse funksionaliteti i jQuery nuk do të ndryshojë ndjeshëm, është shumë e mundur që në vitet e ardhshme përdorimi i bibliotekës do të vazhdojë të ulet ngadalë, por me siguri. Powered by framework-et më moderne, shfaqja e skenarëve të përshtatshëm për përdorimin e jQuery po zakonisht bëhet gjithnjë e më e rrallë.
Dikujt nuk i pëlqen intensiteti i ndërrimeve të mjeteve për zhvillimin e web-it, por për mua kjo është një dëshmi e përparimit të shpejtë. jQuery na lejoj një shumëllojshmëri për të bërë më mirë. E njëjta është e vërtetë edhe për pasardhësit e saj.
Burimi: habr.com
