jQuery -
Iżda f'dawn l-aħħar snin, l-istatus tagħha bħala l-għodda ewlenija għall-iżvilupp tal-web tnaqqar. Ejja nħarsu lejn għaliex jQuery sar popolari u għaliex waqa 'tal-moda, u wkoll f'liema każijiet għadu rakkomandabbli li tużah biex toħloq websajts moderni.
Storja qasira ta 'jQuery
John Resig (
jQuery hija librerija Javascript ibbażata fuq il-motto: Javascript għandu jkun divertenti għall-kodiċi. jQuery jieħu kompiti komuni u ripetittivi, ineħħi l-markup bla bżonn kollu, u jagħmilhom qosra, eleganti u nodfa.
jQuery għandu żewġ vantaġġi ewlenin. L-ewwel hija API konvenjenti għall-manipulazzjoni tal-paġni tal-web. B'mod partikolari, jipprovdi metodi b'saħħithom għall-għażla ta 'elementi. Mhux biss tista' tagħżel b'ID jew klassi, jQuery jippermettilek tikteb espressjonijiet kumplessi, pereżempju, biex tagħżel elementi bbażati fuq ir-relazzjonijiet tagħhom ma' elementi oħra:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Maż-żmien, il-mekkaniżmu tal-għażla sar librerija separata
It-tieni vantaġġ tal-librerija kien li estratt id-differenzi bejn il-browsers. F'dawk is-snin, kien diffiċli li tikteb kodiċi li jista 'jaħdem b'mod affidabbli fil-browsers kollha.
In-nuqqas ta 'standardizzazzjoni fisser li l-iżviluppaturi kellhom bżonn jagħtu kont ta' bosta differenzi bejn il-browsers u l-każijiet edge. Agħti ħarsa lejn
// 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);
}
U grazzi għal jQuery, l-iżviluppaturi jistgħu jaqilbu l-inkwiet dwar dawn in-nases kollha fuq l-ispallejn tat-tim li qed jiżviluppa l-librerija.
Aktar tard, jQuery għamilha aktar faċli biex jiġu implimentati teknoloġiji aktar kumplessi bħal animazzjonijiet u Ajax. Il-librerija effettivament saret dipendenza standard għall-websajts. U llum hija s-setgħa ta' sehem kbir mill-Internet. W3Techs jemmen li
Il-kontroll fuq l-iżvilupp jQuery sar ukoll aktar formalizzat. Fl-2011 it-tim
Fl-2015, il-Fondazzjoni jQuery ingħaqdet mal-Fondazzjoni Dojo,
Ċirkostanzi li jinbidlu
Madankollu, fis-snin riċenti jQuery
Browsers
Għal numru ta' raġunijiet, id-differenzi u l-limitazzjonijiet fil-browser saru inqas importanti. L-ewwel, l-istandardizzazzjoni tjiebet. Żviluppaturi ewlenin tal-browser (Apple, Google, Microsoft u Mozilla) qed jaħdmu flimkien biex jiżviluppaw
Għalkemm il-browsers għadhom differenti minn xulxin f'numru ta' modi importanti, il-bejjiegħa tal-inqas għandhom mezz biex ifittxu u joħolqu database komuni minflok
// 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);
});
Metodi
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Issa tista 'timmanipula klassijiet ta' elementi bl-użu
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Is-sit
L-użu ta 'karatteristiċi indiġeni jtejjeb il-prestazzjoni tal-paġna. Ħafna
It-tieni raġuni hija li l-browsers jiġu aġġornati ħafna aktar malajr minn qabel. Ħafna minnhom jużaw
Dan ifisser li l-karatteristiċi ġodda tal-brawżer u l-bug fixes jitqassmu ħafna aktar malajr, u l-iżviluppaturi m'għandhomx għalfejn jistennew sal-
It-tielet raġuni hija li l-Internet Explorer qed joqrob lejn stat ta 'irrilevanza sħiħa. IE ilu żmien twil il-bane tal-iżvilupp tal-web madwar id-dinja. Il-bugs tiegħu kienu mifruxa, u minħabba li IE iddominaw is-snin 2000 u ma użax strateġija ta 'aġġornament Evergreen, verżjonijiet anzjani għadhom komuni.
Fl-2016, Microsoft aċċellerat id-dekummissjonar tal-IE,
Anke jQuery waqaf jappoġġja IE 8 u taħt li jibda minn
Oqfsa ġodda
Mill-miġja ta 'jQuery, inħolqu ħafna oqfsa, inklużi mexxejja moderni
L-ewwel, jagħmluha faċli biex tissepara l-interface tal-utent f'komponenti. L-oqfsa huma ddisinjati biex jimmaniġġjaw l-għoti u l-aġġornament tal-paġna. U jQuery normalment jintuża biss għall-aġġornament, u jħalli l-kompitu li jipprovdi l-paġna inizjali lis-server.
Min-naħa l-oħra, il-komponenti React, Angular u Vue jippermettulek tgħaqqad sewwa HTML, kodiċi u anke CSS. Hekk kif naqsmu l-bażi tal-kodiċi f'ħafna funzjonijiet u klassijiet awtonomi, l-abbiltà li taqsam l-interface f'komponenti li jistgħu jerġgħu jintużaw tagħmilha aktar faċli biex jinbnew u jinżammu siti kumplessi.
It-tieni vantaġġ huwa li l-oqfsa aktar reċenti jaderixxu ma 'paradigma dikjarattiva, li fiha l-iżviluppatur jiddeskrivi kif għandha tidher l-interface u tħalli f'idejn il-qafas biex jagħmel il-bidliet kollha meħtieġa biex jinkiseb dak li hu mixtieq. Dan l-approċċ huwa kuntrarju għall-approċċ imperattiv li jikkaratterizza l-kodiċi jQuery.
F'jQuery, tikteb b'mod espliċitu l-passi biex tagħmel xi bidliet. U f'qafas dikjarattiv tgħid, "Skond din id-dejta, l-interface għandha tidher bħal din." Dan jista 'jagħmel il-kitba ta' kodiċi mingħajr bug ħafna aktar faċli.
L-iżviluppaturi adottaw approċċi ġodda għall-iżvilupp tal-websajt, u huwa għalhekk li l-popolarità ta 'jQuery naqset.
Meta tuża jQuery?
Allura meta għandu jkun tuża jQuery?
Jekk il-kumplessità tal-proġett tiżdied, allura huwa aħjar li tibda b'librerija jew qafas ieħor li jippermettilek timmaniġġja l-kumplessità b'mod sinifikanti. Per eżempju, jaqsam l-interface f'komponenti. L-użu ta' jQuery fuq siti bħal dawn jista' jidher tajjeb għall-ewwel, iżda malajr iwassal għal kodiċi tal-ispagetti fejn m'intix ċert liema framment jaffettwa liema parti tal-paġna.
Jien kont f'sitwazzjoni bħal din, meta nipprova nagħmel xi bidla, inħoss biċċa xogħol diffiċli. Ma tistax tkun ċert li mhux se tkisser xejn minħabba li s-seletturi jQuery jiddependu fuq l-istruttura HTML ġġenerata mis-server.
Fit-tarf l-ieħor tal-iskala hemm siti sempliċi li jeħtieġu biss ftit interattività jew kontenut dinamiku. F'dawn il-każijiet lanqas nixtieq nagħmel jQuery, għax hemm ħafna aktar li tista 'tagħmel b'APIs indiġeni.
Anke jekk għandi bżonn xi ħaġa aktar qawwija, infittex librerija speċjalizzata, eż.
Naħseb li l-aħjar raġuni għall-użu ta 'jQuery hija li tipprovdi funzjonalità komprensiva għall-parti ta' quddiem ta 'websajt. Minflok titgħallem varjetà ta 'APIs indiġeni jew libreriji speċjalizzati, tista' taqra biss id-dokumentazzjoni jQuery u ssir produttiv istantanjament.
L-approċċ imperattiv ma jiskalax tajjeb, iżda huwa aktar faċli li titgħallem mill-approċċ dikjarattiv ta 'libreriji oħra. Għal sit b'kapaċitajiet limitati b'mod ċar, huwa aħjar li tuża jQuery u taħdem bil-kalma: il-librerija ma teħtieġx assemblaġġ kumpless jew kumpilazzjoni.
Barra minn hekk, jQuery huwa tajjeb jekk inti kunfidenti li s-sit tiegħek mhux se jikkumplika ruħek maż-żmien, u jekk ma jimpurtakx mill-funzjonalità nattiva, li ċertament teħtieġ li tikteb aktar kodiċi minn jQuery.
Tista 'wkoll tuża din il-librerija jekk għandek bżonn tappoġġja verżjonijiet eqdem ta' IE. Imbagħad jQuery se jservik bħalma għamel lura fil-jiem meta IE kien l-aktar browser popolari.
prospettar
jQuery mhux sejjer dalwaqt. Hi
Sakemm il-funzjonalità ta' jQuery ma tinbidelx b'mod sinifikanti, huwa probabbli li l-użu tal-librerija se jkompli jonqos bil-mod iżda b'mod kostanti matul il-ftit snin li ġejjin. Websajts ġodda għandhom it-tendenza li jinbnew bl-użu ta 'oqfsa aktar moderni mill-bidu, u każijiet ta' użu adattati għal jQuery qed isiru dejjem aktar rari.
Xi nies ma jħobbux ir-rata li biha l-għodod tal-iżvilupp tal-web isiru obsoleti, iżda għalija hija evidenza ta 'progress mgħaġġel. jQuery ippermettilna nagħmlu ħafna affarijiet aħjar. L-istess jgħodd għas-suċċessuri tagħha.
Sors: www.habr.com