jQuery -
Но, во последниве години, нејзиниот статус како главна алатка за веб-развој е еродиран. Ајде да погледнеме зошто jQuery стана популарен и зошто испадна од мода, а исто така и во кои случаи сè уште е препорачливо да се користи за создавање модерни веб-страници.
Кратка историја на jQuery
Џон Ресиг (
jQuery е Javascript библиотека базирана на мотото: Javascript треба да биде забавно за кодирање. jQuery презема вообичаени, повторувачки задачи, ги отстранува сите непотребни ознаки и ги прави кратки, елегантни и чисти.
jQuery има две главни предности. Првиот е удобен API за манипулирање со веб-страници. Особено, обезбедува моќни методи за избор на елементи. Не само што можете да изберете по ID или класа, jQuery ви овозможува да пишувате сложени изрази, на пример, да изберете елементи врз основа на нивните односи со други елементи:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Со текот на времето, механизмот за избор стана посебна библиотека
Втората предност на библиотеката беше тоа што ги апстрахираше разликите помеѓу прелистувачите. Во тие години, беше тешко да се напише код кој може да работи сигурно во сите прелистувачи.
Недостатокот на стандардизација значеше дека програмерите треба да ги земат предвид бројните разлики помеѓу прелистувачите и рабовите. Погледни
// 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);
}
И благодарение на jQuery, програмерите би можеле да ги префрлат грижите за сите овие стапици на рамениците на тимот што ја развива библиотеката.
Подоцна, jQuery го олесни имплементирањето на посложени технологии како што се анимациите и Ajax. Библиотеката ефективно стана стандардна зависност за веб-локациите. И денес напојува огромен дел од Интернетот. W3Techs верува во тоа
Контролата над развојот на jQuery, исто така, стана поформализирана. Во 2011 година тимот
Во 2015 година, Фондацијата jQuery се спои со Фондацијата Доџо,
Промена на околностите
Сепак, во последниве години jQuery
Браузеры
Поради повеќе причини, разликите и ограничувањата на прелистувачите станаа помалку важни. Прво, стандардизацијата е подобрена. Големите развивачи на прелистувачи (Apple, Google, Microsoft и Mozilla) работат заедно за да се развијат
Иако прелистувачите сè уште се разликуваат еден од друг на голем број важни начини, продавачите барем имаат средства да пребаруваат и да создадат заедничка база на податоци наместо
// 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);
});
Методи
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Сега можете да манипулирате со класи на елементи користејќи
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
На сајтот
Користењето на природните функции ги подобрува перформансите на страницата. Многумина
Втората причина е што прелистувачите се ажурираат многу побрзо од порано. Повеќето од нив користат
Ова значи дека новите функции на прелистувачот и поправките на грешки се дистрибуираат многу побрзо, а програмерите не мора да чекаат додека
Третата причина е тоа што Internet Explorer се приближува до состојба на целосна ирелевантност. IE одамна е зло за развој на веб ширум светот. Неговите грешки беа широко распространети и бидејќи IE доминираше во 2000-тите и не користеше стратегија за зимзелени ажурирања, постарите верзии сè уште се вообичаени.
Во 2016 година, Мајкрософт го забрза деактивирањето на IE,
Дури и jQuery престана да поддржува IE 8 и подолу почнувајќи од
Нови рамки
Од појавата на jQuery, создадени се многу рамки, вклучително и модерни лидери
Прво, тие го олеснуваат одделувањето на корисничкиот интерфејс во компоненти. Рамките се дизајнирани да се справуваат со прикажување и ажурирање на страницата. И jQuery обично се користи само за ажурирање, оставајќи ја задачата да ја обезбеди почетната страница на серверот.
Од друга страна, компонентите React, Angular и Vue ви дозволуваат цврсто да ги споите HTML, кодот, па дури и CSS. Исто како што ја делиме базата на кодови на многу сопствени функции и класи, способноста да се подели интерфејсот на компоненти за повеќекратна употреба го олеснува градењето и одржувањето на сложени локации.
Втората предност е што поновите рамки се придржуваат до декларативната парадигма, во која развивачот опишува како треба да изгледа интерфејсот и остава на рамката да ги направи сите потребни промени за да го постигне посакуваното. Овој пристап е спротивен на императивниот пристап што го карактеризира jQuery кодот.
Во jQuery, вие експлицитно ги запишувате чекорите за да направите какви било промени. И во декларативна рамка велите: „Според овие податоци, интерфејсот треба да изгледа вака“. Ова може многу да го олесни пишувањето код без грешки.
Програмерите усвоија нови пристапи за развој на веб-страници, поради што популарноста на jQuery е намалена.
Кога да се користи jQuery?
Па кога мора да биде користи jQuery?
Ако се зголеми сложеноста на проектот, тогаш подобро е да започнете со друга библиотека или рамка што ви овозможува значајно да управувате со сложеноста. На пример, поделете го интерфејсот на компоненти. Користењето jQuery на такви страници на почетокот може да изгледа добро, но брзо ќе доведе до код за шпагети каде што не сте сигурни кој фрагмент влијае на кој дел од страницата.
Сум бил во таква ситуација, кога се обидувам да направам каква било промена се чувствувам како тешка задача. Не можете да бидете сигурни дека нема да скршите ништо бидејќи избирачите на jQuery зависат од структурата на HTML генерирана од серверот.
На другиот крај на скалата се едноставни сајтови за кои е потребна само малку интерактивност или динамична содржина. И во овие случаи не би поставил стандардно jQuery, бидејќи има многу повеќе што можете да направите со домашните API.
И да ми треба нешто помоќно, ќе барам специјализирана библиотека, на пр.
Мислам дека најдоброто образложение за користење на jQuery е тоа што обезбедува сеопфатна функционалност за предниот дел на веб-локацијата. Наместо да учите различни природни API или специјализирани библиотеки, можете да ја читате само документацијата за jQuery и да станете инстантно продуктивни.
Императивниот пристап не се размери добро, но е полесен за учење отколку декларативниот пристап на другите библиотеки. За локација со јасно ограничени можности, подобро е да се користи jQuery и да се работи мирно: библиотеката не бара сложено склопување или компилација.
Дополнително, jQuery е добар ако сте уверени дека вашиот сајт нема да стане комплициран со текот на времето и ако не се грижите за мајчин функционалност, што секако ќе бара пишување повеќе код од jQuery.
Можете исто така да ја користите оваа библиотека ако треба да поддржувате постари верзии на IE. Тогаш jQuery ќе ви служи како во времето кога IE беше најпопуларниот прелистувач.
Ветување
jQuery нема да исчезне наскоро. Таа
Освен ако функционалноста на jQuery не се промени значително, веројатно е дека користењето на библиотеката ќе продолжи полека, но постојано да опаѓа во текот на следните неколку години. Новите веб-локации имаат тенденција да се градат со користење на посовремени рамки од самиот почеток, а соодветните случаи за употреба за jQuery стануваат сè поретки.
Некои луѓе не ја сакаат брзината со која алатките за развој на веб застаруваат, но за мене тоа е доказ за брз напредок. jQuery ни овозможи да направиме многу работи подобро. Истото важи и за нејзините наследници.
Извор: www.habr.com