jQuery Tarixi və Mirası

jQuery Tarixi və Mirası
jQuery - bu ən məşhurdur dünyada JavaScript kitabxanası. Veb inkişaf icması onu 2000-ci illərin sonlarında yaratdı, nəticədə jQuery-dən istifadə edərək zəngin saytlar, plaginlər və çərçivələr ekosistemi yarandı.

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 (Con Resiq) 2005-ci ildə kitabxananın ilk versiyasını yaratdı və 2006-cı ildə nəşr edilmişdir-m, BarCampNYC adlı tədbirdə. Aktiv jQuery rəsmi saytı müəllif yazırdı:

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 Sizzle.

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 bu erkən jQuery mənbə kodu və jQuery.browser-i axtarın. Budur bir nümunə:

// 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 Bu gün saytların 74%-i jQuery-dən istifadə edir.

jQuery inkişafı üzərində nəzarət də daha rəsmiləşib. 2011-ci ildə komanda jQuery Board yaratdı. Və 2012-ci ildə jQuery Board jQuery Fonduna çevrildi.

2015-ci ildə jQuery Fondu Dojo Fondu ilə birləşdi. JS Fondu yaratmaq, sonra Node.js Fondu ilə birləşdi 2019-m yaratmaq OpenJS FondujQuery'nin biri olduğu "sıçrayış layihələri. »

Dəyişən şərtlər

Ancaq son illərdə jQuery populyarlığını itirdi. GitHub kitabxananı saytımın ön hissəsindən sildim. Bootstrap v5 jQuery-dən qurtulunçünki onundur"müntəzəm JavaScript üçün ən böyük müştəri asılılığı"(hazırda ölçüsü 30 KB, kiçildilmiş və qablaşdırılıb). Veb inkişafındakı bir neçə tendensiya jQuery-nin vacib bir vasitə kimi mövqeyini zəiflətdi.

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 veb standartları daxilində Veb Hipermətn Tətbiqi Texnologiyası İşçi Qrupu.
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. daimi müharibə birlikdə. Müvafiq olaraq, brauzer API-ləri yeni imkanlar qazanmışdır. Məsələn, API gətirin jQuery-dən Ajax funksiyalarını əvəz edə bilir:

// 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 querySelector и querySelectorAll dublikat jQuery seçiciləri:

// jQuery
const fooDivs = $('.foo div');

// native
const fooDivs = document.querySelectorAll('.foo div');

İndi element siniflərini istifadə edərək manipulyasiya edə bilərsiniz sinif siyahısı:

// jQuery
$('#warning').toggleClass('visible');

// native
document.querySelector('#warning').classList.toggle('visible');

Site Sizə jQuery lazım olmaya bilər Burada jQuery kodunun yerli kodla əvəz oluna biləcəyi daha bir neçə vəziyyət var. Bəzi tərtibatçılar həmişə jQuery-dən sadiq qalırlar, çünki onlar sadəcə yeni API-lər haqqında bilmirlər, lakin biləndə kitabxanadan daha az istifadə etməyə başlayırlar.

Doğma funksiyalardan istifadə səhifə performansını yaxşılaşdıra bilər. Çox jQuery-dən animasiya effektləri indi həyata keçirə bilərsiniz çox daha təsirli olur CSS istifadə edərək.

İkinci səbəb brauzerlərin əvvəlkindən çox daha sürətli yenilənməsidir. Onların əksəriyyəti istifadə edir “həmişəyaşıl” yenilənmə strategiyası, Apple Safari istisna olmaqla. Onlar istifadəçinin iştirakı olmadan arxa planda yenilənə bilər və OS yeniləmələri ilə əlaqələndirilmir.

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. İstifadə edə bilərəmmi? məqbul səviyyəyə çatacaq. Onlar jQuery və ya polyfills yükləmədən yeni funksiyalar və API-lərdən inamla istifadə edə bilərlə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, dəstəyi dayandırır onuncu və əvvəlki versiyalar, IE 11 dəstəyi ilə məhdudlaşır. Və getdikcə veb tərtibatçıları IE uyğunluğuna məhəl qoymamaq dəbdəbəsinə sahib olurlar.

Hətta jQuery IE 8 və daha aşağı versiyaları dəstəkləməyi dayandırdı versiya 2.0, 2013-cü ildə nəşr edilmişdir. Bəzi hallarda IE dəstəyi hələ də tələb olunsa da, məsələn, köhnə saytlarda bu hallar daha az və daha az baş verir.

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ı Reaksiya, Bucaq и Vue. Onların jQuery ilə müqayisədə iki mühüm üstünlüyü var.

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. axios Ajax üçün və ya Animate.css animasiyalar üçün. Bu, kiçik bir funksionallıq üçün bütün jQuery-ni yükləməkdən daha asan olacaq.

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 fəal inkişaf edir, və bir çox tərtibatçı yerli metodlar mövcud olsa belə, onun API-dən istifadə etməyi üstün tutur. Kitabxana bütün nəsil tərtibatçılara istənilən brauzerdə işləyən veb-saytlar yaratmağa kömək etdi. Bir çox cəhətdən yeni kitabxanalar, çərçivələr və paradiqmalarla əvəz olunsa da, jQuery müasir internetin yaradılmasında çox müsbət rol oynamışdır.

Ə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

Добавить комментарий