Javascript mi yoksa Jqeury mi ?
Bunlardan hangisi daha iyi daha performanlıdır acaba.
JQuery, normalde saf javascript ile de yapabileceğimiz işleri daha kolay yapabilelim diye javascript ile oluşturulmuş hazır fonksiyonlar barındırır.
Aynı soruyu Bootstrap ve CSS için de sorabilirsiniz. CSS varken Bootstrap'a neden ihtiyacımız olsun? Daha hızlı sonuç alabilmek için.
Aşağıda aynı işleve sahip kodun Javascript ve JQuery örneği var.
// SAF JAVASCRIPT
const $loginMenu = document.getElementById("loginMenu");
document.getElementById("login").addEventListener("click", () => {
$loginMenu.style.display = $loginMenu.style.display === "none" ? "inline" : "none";
});
// JQUERY
const $loginMenu = $("#loginMenu");
$("#login").click(() => {
$loginMenu.toggle();
});
(Kaynak: https://tr.bitdegree.org/tutorial/jquery-ve-javascript-arasindaki-fark)
JQuery javascript'ten daha iyi olduğu iddiasıyla çıkmadı. Zaten JQuery kullandığınızda sadece javascript ile önceden hazırlanmış hazır fonksiyonlar kullanmış oluyorsunuz.
JQuery ilk çıktığında "az kod çok iş" sloganıyla çıktı. Dediler ki "Javascript'te tekerleği yeniden keşfetmeyin, bakın biz sizin sıkça kullanacağınız işlemler için kolayca kullanabileceğiniz fonksiyonlar oluşturduk. Bunları kullanıp hızlıca sonuca ulaşın."
Performans olarak değerlendirirsek doğal olarak saf javascript daha performanslı çalışır. Çünkü sadece ihtiyacınız olan kodu kullanırsınız. JQuery ise kolay kullanım amacıyla hazır fonksiyonları içinde birçok şeyi kontrol etmek zorundadır.
JQuery'e rakip olarak React'ı gösterebiliriz. İkisi de javascript'i kullanmanın farklı yollarını sunar ama temelde ikisi de javascript ile oluşturulmuştur.
React da aynı şekilde javascript'ten daha iyi olduğunu iddia etmez. Ama JQuery'den iyi olduğunu iddia eder. Der ki "Benim yöntemlerimle kodlama yaparsanız JQuery'deki yöntemlerin yaratacağı performans kaybını yaşamazsınız."
Svelte de React için aynısını söyler.
React, Vue, Svelte... Bunların sorunu derlenerek kodu optimize etmesi gerekliliği. Ama JQuery doğrudan çalışma imkânı sunar.
JQuery kullandığınızda kodu değiştirip kaydettiğinizde iş bitmiştir. Ama React kullandığınızda önce kodu değiştirir, sonra build alır, sonra eski kod yerine bu yeni kodu koyarsınız. Tabi daha pratik yollardan bu işlemi yapmanın yolları da var ama o zaman da o daha pratik yolları oluşturmakla uğraşmanız gerekir.
Yani JQuery ve Javascript arasındaki meseleyi Bootstrap ve CSS arasındaki mesele gibi görebilirsiniz. Bootstrap da içinde bir sürü hiç kullanmayabileceğiniz kod barındırır. Hatta html kodunuzu da bir sürü kodla doldurur. Ama amacımız hızlı iş çıkarmaksa ve çok çok özgün bir iş yapmayacaksak kullanabiliriz.
Backend tarafında da PHP ile Laravel veya Codeigniter arasındaki ilişkiye benzetebiliriz. Laravel neticede PHP ile oluşturulmuştur ama saf PHP ile yapmanın çok zaman alacağı işleri daha kısa sürede yapabilmemizi sağlayan hazır fonksiyonlara ev sınıflara sahiptir.