jQuery -
Tetapi dalam beberapa tahun kebelakangan ini, statusnya sebagai alat utama untuk pembangunan web telah terhakis. Mari kita lihat mengapa jQuery menjadi popular dan mengapa ia ketinggalan dalam fesyen, dan juga dalam kes apakah ia masih dinasihatkan untuk menggunakannya untuk mencipta tapak web moden.
Sejarah Ringkas jQuery
John Resig (
jQuery ialah perpustakaan Javascript berdasarkan moto: Javascript sepatutnya menyeronokkan untuk dikodkan. jQuery mengambil tugas biasa, berulang, membuang semua markup yang tidak perlu, dan menjadikannya pendek, elegan dan bersih.
jQuery mempunyai dua kelebihan utama. Yang pertama ialah API yang mudah untuk memanipulasi halaman web. Khususnya, ia menyediakan kaedah yang berkuasa untuk memilih elemen. Bukan sahaja anda boleh memilih mengikut ID atau kelas, jQuery membenarkan anda menulis ungkapan kompleks, sebagai contoh, untuk memilih elemen berdasarkan hubungannya dengan elemen lain:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Lama kelamaan, mekanisme pemilihan menjadi perpustakaan yang berasingan
Kelebihan kedua perpustakaan ialah ia mengabstrakkan perbezaan antara pelayar. Pada tahun-tahun itu, sukar untuk menulis kod yang boleh berfungsi dengan pasti dalam semua pelayar.
Kekurangan penyeragaman bermakna pembangun perlu mengambil kira banyak perbezaan antara penyemak imbas dan kes tepi. Lihatlah
// 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);
}
Dan terima kasih kepada jQuery, pembangun boleh mengalihkan kebimbangan tentang semua perangkap ini ke bahu pasukan yang membangunkan perpustakaan.
Kemudian, jQuery menjadikannya lebih mudah untuk melaksanakan teknologi yang lebih kompleks seperti animasi dan Ajax. Perpustakaan telah menjadi kebergantungan standard untuk tapak web dengan berkesan. Dan hari ini ia menguasai sebahagian besar Internet. W3Techs percaya bahawa
Kawalan ke atas pembangunan jQuery juga telah menjadi lebih formal. Pada tahun 2011 pasukan
Pada tahun 2015, Yayasan jQuery bergabung dengan Yayasan Dojo,
Keadaan yang berubah-ubah
Walau bagaimanapun, dalam beberapa tahun kebelakangan ini jQuery
pelayar
Atas beberapa sebab, perbezaan dan batasan penyemak imbas menjadi kurang penting. Pertama, penyeragaman telah bertambah baik. Pembangun penyemak imbas utama (Apple, Google, Microsoft dan Mozilla) bekerjasama untuk membangunkan
Walaupun penyemak imbas masih berbeza antara satu sama lain dalam beberapa cara penting, vendor sekurang-kurangnya mempunyai cara untuk mencari dan mencipta pangkalan data biasa dan bukannya
// 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);
});
Kaedah
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Anda kini boleh memanipulasi kelas elemen menggunakan
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Laman web ini
Menggunakan ciri asli meningkatkan prestasi halaman. banyak
Sebab kedua ialah penyemak imbas dikemas kini dengan lebih pantas berbanding sebelum ini. Kebanyakan mereka menggunakan
Ini bermakna ciri penyemak imbas baharu dan pembetulan pepijat diedarkan dengan lebih pantas, dan pembangun tidak perlu menunggu sehingga
Sebab ketiga ialah Internet Explorer menghampiri keadaan yang tidak relevan sepenuhnya. IE telah lama menjadi sasaran pembangunan web di seluruh dunia. Pepijatnya tersebar luas, dan kerana IE mendominasi tahun 2000-an dan tidak menggunakan strategi kemas kini malar hijau, versi lama masih biasa.
Pada tahun 2016, Microsoft mempercepatkan penyahtauliahan IE,
Malah jQuery berhenti menyokong IE 8 dan ke bawah bermula dari
Rangka kerja baharu
Sejak kemunculan jQuery, banyak rangka kerja telah dicipta, termasuk pemimpin moden
Pertama, ia memudahkan untuk memisahkan antara muka pengguna kepada komponen. Rangka kerja direka untuk mengendalikan pemaparan dan pengemaskinian halaman. Dan jQuery biasanya digunakan hanya untuk mengemas kini, meninggalkan tugas menyediakan halaman awal kepada pelayan.
Sebaliknya, komponen React, Angular dan Vue membolehkan anda menggabungkan HTML, kod dan juga CSS dengan ketat. Sama seperti kami membahagikan asas kod ke dalam banyak fungsi dan kelas serba lengkap, keupayaan untuk membahagikan antara muka kepada komponen boleh guna semula menjadikannya lebih mudah untuk membina dan menyelenggara tapak yang kompleks.
Kelebihan kedua ialah rangka kerja yang lebih terkini mematuhi paradigma deklaratif, di mana pembangun menerangkan rupa antara muka sepatutnya dan menyerahkannya kepada rangka kerja untuk membuat semua perubahan yang diperlukan untuk mencapai apa yang diingini. Pendekatan ini bertentangan dengan pendekatan imperatif yang mencirikan kod jQuery.
Dalam jQuery, anda secara eksplisit menulis langkah-langkah untuk membuat sebarang perubahan. Dan dalam rangka kerja deklaratif anda berkata, "Mengikut data ini, antara muka sepatutnya kelihatan seperti ini." Ini boleh menjadikan penulisan kod bebas pepijat lebih mudah.
Pembangun telah menggunakan pendekatan baharu untuk pembangunan laman web, itulah sebabnya populariti jQuery telah menurun.
Bila hendak menggunakan jQuery?
Jadi bila sepatutnya gunakan jQuery?
Jika kerumitan projek meningkat, maka adalah lebih baik untuk memulakan dengan perpustakaan atau rangka kerja lain yang membolehkan anda mengurus kerumitan dengan bermakna. Sebagai contoh, bahagikan antara muka kepada komponen. Menggunakan jQuery pada tapak sedemikian mungkin kelihatan baik pada mulanya, tetapi ia akan membawa kepada kod spageti dengan cepat di mana anda tidak pasti serpihan yang mempengaruhi bahagian halaman mana.
Saya pernah berada dalam situasi sedemikian, apabila cuba melakukan apa-apa perubahan, ia terasa seperti tugas yang sukar. Anda tidak boleh memastikan anda tidak akan memecahkan apa-apa kerana pemilih jQuery bergantung pada struktur HTML yang dihasilkan oleh pelayan.
Di hujung skala yang lain ialah tapak ringkas yang hanya memerlukan sedikit interaktiviti atau kandungan dinamik. Saya juga tidak akan lalai menggunakan jQuery dalam kes ini, kerana banyak lagi yang boleh anda lakukan dengan API asli.
Walaupun saya memerlukan sesuatu yang lebih berkuasa, saya akan mencari perpustakaan khusus, mis.
Saya rasa rasional terbaik untuk menggunakan jQuery ialah ia menyediakan fungsi yang komprehensif untuk bahagian hadapan tapak web. Daripada mempelajari pelbagai API asli atau perpustakaan khusus, anda boleh membaca hanya dokumentasi jQuery dan menjadi produktif serta-merta.
Pendekatan imperatif tidak berskala dengan baik, tetapi lebih mudah dipelajari daripada pendekatan deklaratif perpustakaan lain. Untuk tapak dengan keupayaan terhad yang jelas, lebih baik menggunakan jQuery dan bekerja dengan tenang: perpustakaan tidak memerlukan pemasangan atau penyusunan yang rumit.
Selain itu, jQuery adalah bagus jika anda yakin bahawa tapak anda tidak akan menjadi rumit dari semasa ke semasa, dan jika anda tidak mengambil berat tentang fungsi asli, yang pastinya memerlukan menulis lebih banyak kod daripada jQuery.
Anda juga boleh menggunakan perpustakaan ini jika anda perlu menyokong versi lama IE. Kemudian jQuery akan melayani anda seperti yang dilakukan pada zaman IE ialah pelayar yang paling popular.
Prospection
jQuery tidak akan hilang dalam masa terdekat. dia
Melainkan kefungsian jQuery berubah dengan ketara, kemungkinan penggunaan perpustakaan akan terus menurun secara perlahan-lahan dalam beberapa tahun akan datang. Laman web baharu cenderung dibina menggunakan rangka kerja yang lebih moden dari awal, dan kes penggunaan yang sesuai untuk jQuery semakin jarang berlaku.
Sesetengah orang tidak menyukai kadar alat pembangunan web menjadi usang, tetapi bagi saya ia adalah bukti kemajuan pesat. jQuery telah membolehkan kami melakukan banyak perkara dengan lebih baik. Perkara yang sama berlaku untuk penggantinya.
Sumber: www.habr.com