jQuery -
Ond yn ystod y blynyddoedd diwethaf, mae ei statws fel y prif offeryn ar gyfer datblygu gwe wedi erydu. Gadewch i ni edrych ar pam y daeth jQuery yn boblogaidd a pham y daeth allan o ffasiwn, a hefyd ym mha achosion mae'n dal yn syniad da ei ddefnyddio i greu gwefannau modern.
Hanes Byr o jQuery
John Resig (
Mae jQuery yn llyfrgell Javascript sy'n seiliedig ar yr arwyddair: Dylai javascript fod yn hwyl i'w godio. Mae jQuery yn cymryd tasgau cyffredin, ailadroddus, yn dileu'r holl farcio diangen, ac yn eu gwneud yn fyr, yn gain ac yn lân.
Mae gan jQuery ddwy brif fantais. Mae'r cyntaf yn API cyfleus ar gyfer trin tudalennau gwe. Yn benodol, mae'n darparu dulliau pwerus ar gyfer dewis elfennau. Nid yn unig y gallwch chi ddewis yn ôl ID neu ddosbarth, mae jQuery yn caniatáu ichi ysgrifennu ymadroddion cymhleth, er enghraifft, i ddewis elfennau yn seiliedig ar eu perthynas ag elfennau eraill:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Dros amser, daeth y mecanwaith dethol yn llyfrgell ar wahân
Ail fantais y llyfrgell oedd ei bod yn tynnu gwahaniaethau rhwng porwyr. Yn y blynyddoedd hynny, roedd yn anodd ysgrifennu cod a allai weithio'n ddibynadwy ym mhob porwr.
Roedd y diffyg safoni yn golygu bod angen i ddatblygwyr roi cyfrif am wahaniaethau niferus rhwng porwyr ac achosion ymyl. Cymerwch olwg ar
// 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);
}
A diolch i jQuery, gallai datblygwyr symud y pryderon am yr holl beryglon hyn i ysgwyddau'r tîm sy'n datblygu'r llyfrgell.
Yn ddiweddarach, gwnaeth jQuery hi'n haws gweithredu technolegau mwy cymhleth fel animeiddiadau ac Ajax. Mae'r llyfrgell i bob pwrpas wedi dod yn ddibyniaeth safonol ar gyfer gwefannau. A heddiw mae'n pweru cyfran enfawr o'r Rhyngrwyd. Mae W3Techs yn credu hynny
Mae rheolaeth dros ddatblygiad jQuery hefyd wedi dod yn fwy ffurfiol. Yn 2011 y tîm
Yn 2015, unodd Sefydliad jQuery â Sefydliad Dojo,
Amgylchiadau newidiol
Fodd bynnag, yn y blynyddoedd diwethaf jQuery
Porwyr
Am nifer o resymau, mae gwahaniaethau a chyfyngiadau porwr wedi dod yn llai pwysig. Yn gyntaf, mae safoni wedi gwella. Mae datblygwyr porwr mawr (Apple, Google, Microsoft a Mozilla) yn cydweithio i ddatblygu
Er bod porwyr yn dal i fod yn wahanol i'w gilydd mewn nifer o ffyrdd pwysig, mae gan werthwyr o leiaf fodd i chwilio a chreu cronfa ddata gyffredin yn lle
// 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);
});
Dulliau
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Gallwch nawr drin dosbarthiadau elfen gan ddefnyddio
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Mae'r safle
Mae defnyddio nodweddion brodorol yn gwella perfformiad tudalen. llawer
Yr ail reswm yw bod porwyr yn cael eu diweddaru'n gynt o lawer nag o'r blaen. Mae'r rhan fwyaf ohonynt yn defnyddio
Mae hyn yn golygu bod nodweddion porwr newydd ac atgyweiriadau nam yn cael eu dosbarthu'n llawer cyflymach, ac nid oes rhaid i ddatblygwyr aros tan y
Y trydydd rheswm yw bod Internet Explorer yn agosáu at gyflwr o amherthnasedd llwyr. Mae IE wedi bod yn y bae o ddatblygiad gwe ledled y byd ers amser maith. Roedd ei fygiau'n gyffredin, ac oherwydd bod IE yn dominyddu'r 2000au ac nad oedd yn defnyddio strategaeth ddiweddaru fythwyrdd, mae fersiynau hŷn yn dal yn gyffredin.
Yn 2016, cyflymodd Microsoft y broses o ddatgomisiynu IE,
Rhoddodd hyd yn oed jQuery y gorau i gefnogi IE 8 ac is gan ddechrau o
Fframweithiau newydd
Ers dyfodiad jQuery, mae llawer o fframweithiau wedi'u creu, gan gynnwys arweinwyr modern
Yn gyntaf, maen nhw'n ei gwneud hi'n hawdd gwahanu'r rhyngwyneb defnyddiwr yn gydrannau. Mae fframweithiau wedi'u cynllunio i ymdrin â rendro a diweddaru tudalennau. Ac fel arfer dim ond ar gyfer diweddaru y defnyddir jQuery, gan adael y dasg o ddarparu'r dudalen gychwynnol i'r gweinydd.
Ar y llaw arall, mae cydrannau React, Angular a Vue yn caniatáu ichi gyplu HTML, cod a hyd yn oed CSS yn dynn. Yn union wrth i ni rannu'r sylfaen cod yn nifer o swyddogaethau a dosbarthiadau hunangynhwysol, mae'r gallu i rannu'r rhyngwyneb yn gydrannau y gellir eu hailddefnyddio yn ei gwneud hi'n haws adeiladu a chynnal safleoedd cymhleth.
Yr ail fantais yw bod fframweithiau mwy diweddar yn cadw at batrwm datganiadol, lle mae'r datblygwr yn disgrifio sut olwg ddylai fod ar y rhyngwyneb ac yn ei adael i'r fframwaith wneud yr holl newidiadau angenrheidiol i gyflawni'r hyn a ddymunir. Mae'r dull hwn yn groes i'r dull hanfodol sy'n nodweddu cod jQuery.
Yn jQuery, rydych chi'n ysgrifennu'n benodol y camau i wneud unrhyw newidiadau. Ac mewn fframwaith datganiadol rydych chi'n dweud, "Yn ôl y data hwn, dylai'r rhyngwyneb edrych fel hyn." Gall hyn ei gwneud hi'n llawer haws ysgrifennu cod heb fygiau.
Mae datblygwyr wedi mabwysiadu dulliau newydd o ddatblygu gwefannau, a dyna pam mae poblogrwydd jQuery wedi lleihau.
Pryd i ddefnyddio jQuery?
Felly pryd rhaid iddynt fod yn defnyddio jQuery?
Os yw cymhlethdod y prosiect yn cynyddu, yna mae'n well dechrau gyda llyfrgell neu fframwaith arall sy'n eich galluogi i reoli cymhlethdod yn ystyrlon. Er enghraifft, rhannwch y rhyngwyneb yn gydrannau. Efallai y bydd defnyddio jQuery ar wefannau o'r fath yn edrych yn iawn ar y dechrau, ond bydd yn arwain yn gyflym at god sbageti lle nad ydych chi'n siŵr pa ddarn sy'n effeithio ar ba ran o'r dudalen.
Rwyf wedi bod yn y fath sefyllfa, wrth geisio gwneud unrhyw newid, mae'n teimlo fel tasg anodd. Ni allwch fod yn siŵr na fyddwch yn torri unrhyw beth oherwydd mae dewiswyr jQuery yn dibynnu ar y strwythur HTML a gynhyrchir gan y gweinydd.
Ar ben arall y raddfa mae gwefannau syml sydd ond angen ychydig o ryngweithio neu gynnwys deinamig. Ni fyddwn yn rhagosod jQuery yn yr achosion hyn ychwaith, oherwydd mae cymaint mwy y gallwch chi ei wneud gydag APIs brodorol.
Hyd yn oed os bydd angen rhywbeth mwy pwerus arnaf, byddaf yn chwilio am lyfrgell arbenigol, e.e.
Rwy'n meddwl mai'r rhesymeg orau dros ddefnyddio jQuery yw ei fod yn darparu ymarferoldeb cynhwysfawr ar gyfer pen blaen gwefan. Yn lle dysgu amrywiaeth o APIs brodorol neu lyfrgelloedd arbenigol, gallwch ddarllen y ddogfennaeth jQuery yn unig a dod yn gynhyrchiol ar unwaith.
Nid yw'r ymagwedd orfodol yn graddio'n dda, ond mae'n haws ei dysgu na dull datganiadol llyfrgelloedd eraill. Ar gyfer safle sydd â galluoedd cyfyngedig yn amlwg, mae'n well defnyddio jQuery a gweithio'n dawel: nid oes angen cydosod na chrynhoad cymhleth yn y llyfrgell.
Yn ogystal, mae jQuery yn dda os ydych chi'n hyderus na fydd eich gwefan yn mynd yn gymhleth dros amser, ac os nad oes ots gennych am ymarferoldeb brodorol, a fydd yn sicr yn gofyn am ysgrifennu mwy o god na jQuery.
Gallwch hefyd ddefnyddio'r llyfrgell hon os oes angen i chi gefnogi fersiynau hŷn o IE. Yna bydd jQuery yn eich gwasanaethu fel y gwnaeth yn ôl yn y dyddiau pan oedd IE y porwr mwyaf poblogaidd.
Edrych i'r dyfodol
Ni fydd jQuery yn diflannu unrhyw bryd yn fuan. hi
Oni bai bod ymarferoldeb jQuery yn newid yn sylweddol, mae'n debygol y bydd y defnydd o'r llyfrgell yn parhau i ostwng yn araf ond yn raddol dros y blynyddoedd nesaf. Mae gwefannau newydd yn tueddu i gael eu hadeiladu gan ddefnyddio fframweithiau mwy modern o'r dechrau, ac mae achosion defnydd addas ar gyfer jQuery yn dod yn fwyfwy prin.
Nid yw rhai pobl yn hoffi'r gyfradd y mae offer datblygu gwe yn dod yn anarferedig, ond i mi mae'n dystiolaeth o gynnydd cyflym. Mae jQuery wedi ein galluogi i wneud llawer o bethau'n well. Mae'r un peth yn wir am ei holynwyr.
Ffynhonnell: hab.com