jQuery -
Ancaq son illərdə veb inkişafı üçün əsas vasitə kimi statusu itirildi. Gəlin nəzər salaq ki, jQuery niyə populyarlaşıb və niyə dəbdən düşüb, həmçinin hansı hallarda müasir veb-saytlar yaratmaq üçün hələ də ondan istifadə etmək məsləhətdir.
jQuery-nin Qısa Tarixi
Con Resiq (
jQuery devizinə əsaslanan Javascript kitabxanasıdır: Javascript kodlaşdırmaq əyləncəli olmalıdır. jQuery ümumi, təkrarlanan tapşırıqları yerinə yetirir, bütün lazımsız işarələri silir və onları qısa, zərif və təmiz edir.
jQuery-nin iki əsas üstünlüyü var. Birincisi, veb səhifələri manipulyasiya etmək üçün əlverişli API-dir. Xüsusilə, elementləri seçmək üçün güclü üsullar təqdim edir. Siz nəinki ID və ya sinifə görə seçə bilərsiniz, jQuery sizə mürəkkəb ifadələr yazmağa, məsələn, elementləri onların digər elementlərlə əlaqələri əsasında seçmək imkanı verir:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Zaman keçdikcə seçim mexanizmi ayrı bir kitabxanaya çevrildi
Kitabxananın ikinci üstünlüyü o idi ki, o, brauzerlər arasında fərqləri mücərrədləşdirirdi. Həmin illərdə bütün brauzerlərdə etibarlı işləyə bilən kod yazmaq çətin idi.
Standartlaşdırmanın olmaması o demək idi ki, tərtibatçılar brauzerlər və kənar vəziyyətlər arasında çoxsaylı fərqləri nəzərə almalı idilər. Bir nəzər sal
// 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);
}
Və jQuery sayəsində tərtibatçılar bütün bu tələlərlə bağlı narahatlıqları kitabxananı inkişaf etdirən komandanın çiyinlərinə ata bildilər.
Daha sonra jQuery animasiya və Ajax kimi daha mürəkkəb texnologiyaların tətbiqini asanlaşdırdı. Kitabxana effektiv şəkildə veb-saytlar üçün standart asılılığa çevrilmişdir. Və bu gün İnternetin böyük bir hissəsini gücləndirir. W3Techs buna inanır
jQuery inkişafı üzərində nəzarət də daha rəsmiləşib. 2011-ci ildə komanda
2015-ci ildə jQuery Fondu Dojo Fondu ilə birləşdi.
Dəyişən şərtlər
Ancaq son illərdə jQuery
Brauzerlər
Bir sıra səbəblərə görə brauzer fərqləri və məhdudiyyətləri daha az əhəmiyyət kəsb edir. Birincisi, standartlaşdırma təkmilləşdirilmişdir. Əsas brauzer tərtibatçıları (Apple, Google, Microsoft və Mozilla) inkişaf etdirmək üçün birlikdə işləyirlər
Brauzerlər hələ də bir-birindən bir sıra mühüm cəhətlərə görə fərqlənsələr də, satıcılar ən azı axtarış etmək və ümumi verilənlər bazası yaratmaq üçün vasitələrə malikdirlə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);
});
Metodlar
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
İndi element siniflərini istifadə edərək manipulyasiya edə bilərsiniz
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Site
Doğma funksiyalardan istifadə səhifə performansını yaxşılaşdıra bilər. Çox
İkinci səbəb brauzerlərin əvvəlkindən çox daha sürətli yenilənməsidir. Onların əksəriyyəti istifadə edir
Bu o deməkdir ki, yeni brauzer funksiyaları və səhvlərin düzəldilməsi daha sürətli paylanır və tərtibatçılar yenilənənə qədər gözləməli deyillər.
Üçüncü səbəb odur ki, Internet Explorer tam əhəmiyyətsiz vəziyyətə yaxınlaşır. IE uzun müddətdir ki, bütün dünyada veb inkişafının bəlası olmuşdur. Onun səhvləri geniş yayılmışdı və IE 2000-ci illərdə üstünlük təşkil etdiyi və həmişəyaşıl yeniləmə strategiyasından istifadə etmədiyi üçün köhnə versiyalar hələ də geniş yayılmışdır.
2016-cı ildə Microsoft IE-nin istismardan çıxarılmasını sürətləndirdi,
Hətta jQuery IE 8 və daha aşağı versiyaları dəstəkləməyi dayandırdı
Yeni çərçivələr
JQuery-nin meydana çıxmasından bəri, müasir liderlər də daxil olmaqla bir çox çərçivə yaradıldı
Birincisi, onlar istifadəçi interfeysini komponentlərə ayırmağı asanlaşdırır. Çərçivələr səhifənin göstərilməsini və yenilənməsini idarə etmək üçün nəzərdə tutulmuşdur. Və jQuery adətən serverə ilkin səhifəni təqdim etmək vəzifəsini buraxaraq yalnız yeniləmə üçün istifadə olunur.
Digər tərəfdən, React, Angular və Vue komponentləri HTML, kodu və hətta CSS-i sıx birləşdirməyə imkan verir. Kod bazasını bir çox müstəqil funksiyalara və siniflərə ayırdığımız kimi, interfeysi təkrar istifadə edilə bilən komponentlərə bölmək bacarığı mürəkkəb saytların qurulmasını və saxlanmasını asanlaşdırır.
İkinci üstünlük ondan ibarətdir ki, daha yeni çərçivələr deklarativ paradiqmaya riayət edir, burada tərtibatçı interfeysin necə görünməli olduğunu təsvir edir və arzu olunana nail olmaq üçün bütün lazımi dəyişiklikləri etmək üçün onu çərçivəyə buraxır. Bu yanaşma jQuery kodunu xarakterizə edən imperativ yanaşmaya ziddir.
jQuery-də hər hansı bir dəyişiklik etmək üçün addımları açıq şəkildə yazırsınız. Və deklarativ çərçivədə deyirsiniz: "Bu məlumatlara görə, interfeys belə görünməlidir." Bu, səhvsiz kodu yazmağı çox asanlaşdıra bilər.
Tərtibatçılar vebsaytların hazırlanmasında yeni yanaşmalar qəbul etdilər, bu səbəbdən jQuery-nin populyarlığı azalıb.
jQuery-dən nə vaxt istifadə etməli?
Beləliklə, nə vaxt lazımdır jQuery istifadə edirsiniz?
Layihənin mürəkkəbliyi artırsa, mürəkkəbliyi mənalı şəkildə idarə etməyə imkan verən başqa bir kitabxana və ya çərçivə ilə başlamaq daha yaxşıdır. Məsələn, interfeysi komponentlərə bölün. Bu cür saytlarda jQuery-dən istifadə ilk baxışda yaxşı görünə bilər, lakin bu, tez bir zamanda spagetti koduna gətirib çıxaracaq, hansı fraqmentin səhifənin hansı hissəsinə təsir etdiyindən əmin deyilsiniz.
Mən belə bir vəziyyətdə olmuşam, hər hansı bir dəyişiklik etmək istəyəndə çətin bir iş kimi hiss olunur. Siz heç nəyi pozmayacağınıza əmin ola bilməzsiniz, çünki jQuery seçiciləri server tərəfindən yaradılan HTML strukturundan asılıdır.
Ölçənin digər ucunda yalnız bir az interaktivlik və ya dinamik məzmun tələb edən sadə saytlar var. Mən də bu hallarda jQuery-ni defolt etməzdim, çünki yerli API-lərlə edə biləcəyiniz daha çox şey var.
Daha güclü bir şeyə ehtiyacım olsa belə, xüsusi bir kitabxana axtaracağam, məsələn.
Düşünürəm ki, jQuery-dən istifadə etməyin ən yaxşı səbəbi vebsaytın ön hissəsi üçün hərtərəfli funksionallıq təmin etməsidir. Müxtəlif yerli API və ya ixtisaslaşmış kitabxanaları öyrənmək əvəzinə, siz sadəcə jQuery sənədlərini oxuya və dərhal məhsuldar ola bilərsiniz.
İmperativ yanaşma yaxşı miqyasda deyil, lakin onu öyrənmək digər kitabxanaların deklarativ yanaşmasından daha asandır. Açıqca məhdud imkanları olan bir sayt üçün jQuery-dən istifadə etmək və sakit işləmək daha yaxşıdır: kitabxana mürəkkəb montaj və ya tərtib tələb etmir.
Əlavə olaraq, əgər saytınızın zaman keçdikcə mürəkkəbləşməyəcəyinə əminsinizsə və yerli funksionallığa əhəmiyyət vermirsinizsə, jQuery yaxşıdır ki, bu, əlbəttə ki, jQuery-dən daha çox kod yazmağı tələb edəcək.
IE-nin köhnə versiyalarını dəstəkləmək lazımdırsa, bu kitabxanadan da istifadə edə bilərsiniz. Sonra jQuery sizə IE-nin ən populyar brauzer olduğu günlərdə olduğu kimi xidmət göstərəcək.
prospection
jQuery tezliklə yox olmayacaq. O
Əgər jQuery-nin funksionallığı əhəmiyyətli dərəcədə dəyişməsə, çox güman ki, növbəti bir neçə il ərzində kitabxanadan istifadə yavaş-yavaş, lakin davamlı şəkildə azalmağa davam edəcək. Yeni veb-saytlar əvvəldən daha müasir çərçivələrdən istifadə etməklə tikilir və jQuery üçün uyğun istifadə halları getdikcə nadir hala gəlir.
Bəzi insanlar veb inkişaf vasitələrinin köhnəlmə sürətini bəyənmir, amma mənim üçün bu, sürətli inkişafın sübutudur. jQuery bizə bir çox şeyi daha yaxşı etməyə imkan verdi. Eyni şey onun davamçıları üçün də keçərlidir.
Mənbə: www.habr.com