jQuery -
Namun dalam beberapa tahun terakhir, statusnya sebagai alat utama untuk pengembangan web telah terkikis. Mari kita lihat mengapa jQuery menjadi populer dan mengapa ia ketinggalan zaman, dan juga dalam kasus apa masih disarankan untuk menggunakannya untuk membuat situs web modern.
Sejarah Singkat jQuery
John Resig (
jQuery adalah perpustakaan Javascript berdasarkan moto: Javascript harus menyenangkan untuk dikodekan. jQuery mengambil tugas yang umum dan berulang, menghapus semua markup yang tidak perlu, dan menjadikannya singkat, elegan, dan bersih.
jQuery memiliki dua keunggulan utama. Yang pertama adalah API yang nyaman untuk memanipulasi halaman web. Secara khusus, ini memberikan metode yang ampuh untuk memilih elemen. Anda tidak hanya dapat memilih berdasarkan ID atau kelas, jQuery memungkinkan Anda menulis ekspresi kompleks, misalnya, untuk memilih elemen berdasarkan hubungannya dengan elemen lain:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Seiring berjalannya waktu, mekanisme seleksi menjadi perpustakaan tersendiri
Keuntungan kedua dari perpustakaan adalah mengabstraksi perbedaan antar browser. Pada tahun-tahun itu, sulit untuk menulis kode yang dapat bekerja dengan baik di semua browser.
Kurangnya standarisasi berarti pengembang harus memperhitungkan banyak perbedaan antara browser dan kasus edge. Melihat
// 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 berkat jQuery, pengembang dapat mengalihkan kekhawatiran tentang semua kendala ini ke pundak tim yang mengembangkan perpustakaan.
Belakangan, jQuery mempermudah penerapan teknologi yang lebih kompleks seperti animasi dan Ajax. Perpustakaan secara efektif telah menjadi ketergantungan standar untuk situs web. Dan saat ini teknologi ini menggerakkan sebagian besar Internet. W3Techs percaya itu
Kontrol atas pengembangan jQuery juga menjadi lebih formal. Pada tahun 2011 tim
Pada tahun 2015, jQuery Foundation bergabung dengan Dojo Foundation,
Mengubah keadaan
Namun, dalam beberapa tahun terakhir jQuery
Browser
Karena sejumlah alasan, perbedaan dan keterbatasan browser menjadi kurang penting. Pertama, standardisasi telah membaik. Pengembang browser besar (Apple, Google, Microsoft dan Mozilla) bekerja sama untuk mengembangkan
Meskipun browser masih berbeda satu sama lain dalam beberapa hal penting, vendor setidaknya memiliki sarana untuk mencari dan membuat database umum daripada
// 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);
});
Metode
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Anda sekarang dapat memanipulasi kelas elemen menggunakan
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Situs ini
Menggunakan fitur asli meningkatkan kinerja halaman. Banyak
Alasan kedua adalah browser diperbarui lebih cepat dari sebelumnya. Kebanyakan dari mereka menggunakan
Artinya, fitur-fitur browser baru dan perbaikan bug didistribusikan lebih cepat, dan pengembang tidak perlu menunggu sampai selesai
Alasan ketiga adalah Internet Explorer mendekati keadaan yang tidak relevan sama sekali. IE telah lama menjadi kutukan bagi pengembangan web di seluruh dunia. Bugnya tersebar luas, dan karena IE mendominasi tahun 2000an dan tidak menggunakan strategi pembaruan yang selalu ada, versi yang lebih lama masih umum ditemukan.
Pada tahun 2016, Microsoft mempercepat penonaktifan IE,
Bahkan jQuery berhenti mendukung IE 8 dan di bawahnya mulai dari
Kerangka kerja baru
Sejak munculnya jQuery, banyak framework telah diciptakan, termasuk para pemimpin modern
Pertama, mereka memudahkan untuk memisahkan antarmuka pengguna menjadi beberapa komponen. Kerangka kerja dirancang untuk menangani rendering dan pembaruan halaman. Dan jQuery biasanya hanya digunakan untuk update, menyerahkan tugas menyediakan halaman awal ke server.
Di sisi lain, komponen React, Angular, dan Vue memungkinkan Anda menggabungkan HTML, kode, dan bahkan CSS secara erat. Sama seperti kita membagi basis kode menjadi banyak fungsi dan kelas mandiri, kemampuan untuk membagi antarmuka menjadi komponen yang dapat digunakan kembali membuatnya lebih mudah untuk membangun dan memelihara situs yang kompleks.
Keuntungan kedua adalah kerangka kerja yang lebih baru menganut paradigma deklaratif, di mana pengembang menjelaskan seperti apa tampilan antarmuka dan menyerahkannya pada kerangka kerja untuk membuat semua perubahan yang diperlukan untuk mencapai apa yang diinginkan. Pendekatan ini bertentangan dengan pendekatan imperatif yang menjadi ciri kode jQuery.
Di jQuery, Anda secara eksplisit menuliskan langkah-langkah untuk membuat perubahan apa pun. Dan dalam kerangka deklaratif Anda berkata, "Menurut data ini, antarmukanya akan terlihat seperti ini." Ini dapat membuat penulisan kode bebas bug menjadi lebih mudah.
Pengembang telah mengadopsi pendekatan baru untuk pengembangan situs web, itulah sebabnya popularitas jQuery menurun.
Kapan menggunakan jQuery?
Jadi ketika harus menggunakan jQuery?
Jika kompleksitas proyek meningkat, lebih baik memulai dengan perpustakaan atau kerangka kerja lain yang memungkinkan Anda mengelola kompleksitas secara bermakna. Misalnya, membagi antarmuka menjadi beberapa komponen. Menggunakan jQuery di situs seperti itu mungkin terlihat baik-baik saja pada awalnya, tetapi dengan cepat akan mengarah ke kode spageti yang membuat Anda tidak yakin fragmen mana yang memengaruhi bagian halaman mana.
Saya pernah berada dalam situasi seperti ini, ketika mencoba melakukan perubahan apa pun, rasanya seperti tugas yang sulit. Anda tidak dapat memastikan bahwa Anda tidak akan merusak apa pun karena penyeleksi jQuery bergantung pada struktur HTML yang dihasilkan oleh server.
Di ujung lain skalanya adalah situs sederhana yang hanya memerlukan sedikit interaktivitas atau konten dinamis. Saya juga tidak akan menggunakan jQuery secara default dalam kasus ini, karena masih banyak lagi yang dapat Anda lakukan dengan API asli.
Bahkan jika saya memerlukan sesuatu yang lebih kuat, saya akan mencari perpustakaan khusus, misalnya.
Saya pikir alasan terbaik untuk menggunakan jQuery adalah karena ia menyediakan fungsionalitas komprehensif untuk bagian depan situs web. Daripada mempelajari berbagai API asli atau perpustakaan khusus, Anda cukup membaca dokumentasi jQuery dan menjadi produktif secara instan.
Pendekatan imperatif tidak berskala dengan baik, namun lebih mudah dipelajari dibandingkan pendekatan deklaratif pada perpustakaan lain. Untuk situs dengan kemampuan yang jelas terbatas, lebih baik menggunakan jQuery dan bekerja dengan tenang: perpustakaan tidak memerlukan perakitan atau kompilasi yang rumit.
Selain itu, jQuery bagus jika Anda yakin bahwa situs Anda tidak akan menjadi rumit seiring berjalannya waktu, dan jika Anda tidak peduli dengan fungsionalitas asli, yang tentunya memerlukan penulisan lebih banyak kode daripada jQuery.
Anda juga dapat menggunakan perpustakaan ini jika Anda perlu mendukung versi IE yang lebih lama. Kemudian jQuery akan melayani Anda seperti dulu ketika IE adalah browser paling populer.
Prospeksi
jQuery tidak akan hilang dalam waktu dekat. Dia
Kecuali fungsi jQuery berubah secara signifikan, kemungkinan penggunaan perpustakaan akan terus menurun secara perlahan namun terus menurun selama beberapa tahun ke depan. Situs web baru cenderung dibangun menggunakan kerangka kerja yang lebih modern sejak awal, dan kasus penggunaan jQuery yang sesuai menjadi semakin jarang.
Beberapa orang tidak menyukai betapa cepatnya alat pengembangan web menjadi usang, namun bagi saya ini adalah bukti kemajuan pesat. jQuery telah memungkinkan kami melakukan banyak hal dengan lebih baik. Hal serupa juga terjadi pada penerusnya.
Sumber: www.habr.com