Ada lebih dari 100.000 pertanyaan tentang Stack Overflow yang ditandai sebagai pertanyaan terkait dengan pemecahan masalah / penggunaan JQuery. Bandingkan ini dengan 124.000 pertanyaan tentang stack overflow yang ditandai untuk masalah JavaScript. Kami sangat dekat dengan hampir setengah dari semua pertanyaan terkait JavaScript di Stack Overflow yang dikaitkan dengan JQuery (plus atau minus margin apa pun untuk beberapa kerangka kerja JS lainnya yang mendapatkan pertanyaan tentang SO).
Apa yang saya maksudkan adalah, jQuery bukan bahasa dan bukan semua dan mengakhiri semua kerangka kerja yang harus diterapkan untuk setiap skenario di mana JavaScript hadir, namun cepat menangkap (dan saya memprediksi akan segera gerhana) ) JavaScript sebagai sumber diskusi / penyelidikan di situs-situs seperti Stack Overflow.
Apakah jQuery membunuh bintang JavaScript? Apakah tidak ada lagi pemahaman yang kuat oleh generasi pengembang web berikutnya mengenai kekuatan, kesederhanaan, dan penggunaan JavaScript sebagai sarana untuk manipulasi DOM? Apakah ini hanya evolusi alami dari hal-hal dan sudut pandang yang saya sajikan khas dari ego coder (yaitu, apakah ini cara programmer perakitan melihat kerumunan .NET / Java / Web?) Atau apakah ini benar-benar awal dari akhir dari akhir pengembang JavaScript sejati?
sumber
Jawaban:
Anda tentu bisa membuat argumen bahwa jQuery membunuh diskusi javascript, dan grafik tren ini akan mendukungnya: http://www.google.com/trends?q=jquery%2C+javascript
Cukup mudah untuk mengamati ini di papan pesan pilihan Anda juga. Kapan saja "bagaimana Anda melakukan xxx dalam javascript?" pertanyaan ditanyakan, Anda hampir dapat bertaruh bahwa jawaban akan berada dalam format "use jQuery and just do yyy".
Saya akan mengatakan ini lebih akurat untuk mengatakan bahwa sekarang lebih umum untuk membahas javascript dalam kerangka kerja tingkat yang lebih tinggi (apakah ini seperti jQuery / prototipe atau sistem gugur / backbone atau node.js atau ...)
sumber
$(foo)
menjadi jawaban SO standar untuk tugas-tugas sederhana seperti bagaimana saya mendapatkan semua yang ada<img>
di halaman . Hukuman untuk pengguna akhir tidak pantas.$('selector')
dan mengharapkan upvotes.Tentang jQuery . Saya pemrograman dengan DOM API sejak tahun 2001 dan dapat meyakinkan Anda bahwa DOM API yang sederhana dan teruji seperti jQuery memungkinkan Anda bekerja lebih banyak pada masalah sebenarnya daripada pada API.
Saya juga memanipulasi DOM dalam Javascript mentah pada 2005, dan sebagian besar waktu saya habiskan untuk membuatnya bekerja lintas-browser.
Sebelum jQuery, banyak dari kita menghabiskan waktu untuk memperbaiki perbedaan browser dan bug, secara independen dan dengan sedikit berbagi kode. Kami mengulangi pekerjaan yang sama dan kesalahan yang sama berulang-ulang. jQuery membebaskan kami dari tugas ini. Saat ini, dengan banyak plugin jQuery, saya bekerja sebagian besar di bidang masalah saya, tetapi juga dapat melakukan manipulasi dokumen yang jauh lebih rumit. Hanya terbebas dari sakit kepala DOM saya bisa belajar kekuatan penutupan dan loop acara JS (harus melihat untuk programmer js!)
Kebanyakan programmer Javascript menggunakan jQuery untuk memanipulasi DOM, karenanya sebagian besar pertanyaan berkaitan dengan area ini dan jQuery.
Ada alternatif untuk jQuery:
Node.js adalah lingkungan yang berkembang pesat, dan dalam beberapa tahun ini dapat menjadi bahasa server utama. Kesan saya tentang itu adalah bahwa belum ada banyak fitur yang bisa membuat bahasa terlihat lebih elegan. Saat ini dibutuhkan banyak upaya untuk mengatur kode Anda. Tidak bisa mengatakan apakah itu dapat diperbaiki dengan kerangka kerja seperti jQuery atau hanya dengan versi bahasa baru, tetapi pastikan ini akan ditangani oleh seseorang, ada cukup momentum di sekitar Node.js dan JS secara umum.
sumber
Saya akan melihatnya lebih dekat ke perpustakaan standar di C ++ daripada dengan analogi .Net / Majelis. Atau lebih baik lagi, .Net dan C #. Tidak ada dalam spesifikasi C # yang menyatakan bahwa Anda harus menggunakan. Net, tapi itu terikat bersama-sama. Tapi bagaimanapun, untuk pertanyaan Anda, sebagian besar pengembang web tidak peduli tentang JavaScript.
Bahkan, saya berpendapat bahwa bagian manipulasi DOM JavaScript cukup mengerikan (terutama mengingat berbagai browser membuatnya susah untuk mendapatkan barang untuk bekerja di mana-mana). Saya tidak berpikir Anda bisa meletakkan sesuatu di sana dan menerima hasil yang lebih baik, tetapi selama bertahun-tahun itu adalah titik frustrasi (sekali lagi biasanya karena pembuat browser). Kebanyakan orang hanya akan meretas sesuatu bersama sebelum jQuery dan menyebutnya sehari (dan akan menyatakan diri mereka "ahli" sebagian besar waktu). jQuery hanya mengambil bagian-bagian yang tidak disukai dan menempatkan wajah yang lebih baik di atasnya. Karena itulah penggunaan utama JS untuk saat ini (manipulasi DOM), Anda akan melihat jQuery semakin banyak (atau kerangka kerja lain seperti Prototipe, dll.). Hanya agar Anda sadar saya tidak berpikir pengembang web rata-rata adalah pengembang JS yang hebat sebelum jQuery.
Yang sedang berkata, JavaScript berjalan dengan baik sebagai bahasa. Node.js adalah contoh yang baik untuk mengambil penggunaan sebagai bahasa aktual. Saya bahkan telah melihat menggunakannya sebagai bahasa skrip tertanam di beberapa aplikasi saya (hilang ke LUA, tetapi hanya karena LUA mengambil lebih sedikit waktu untuk menyiapkan).
sumber
Jquery mengabstraksi tugas-tugas yang paling menjengkelkan dan membosankan dalam mengembangkan javascript untuk situs web. Melintasi DOM adalah tugas berulang yang membutuhkan banyak kerja manual dengan sedikit manfaat dari melakukannya dengan cara yang sulit. Satu-satunya kasus di mana saya tidak menggunakan jQuery saat ini adalah versi mobile dari situs - Anda hanya tidak mampu membayar satu permintaan lagi dan 100 ribu di sana. Sama dengan memuat ajax.
Juga jQuery membuat pemrograman fungsional semu tampak menyenangkan. Ini memperkenalkan konsep fungsi sebagai objek kelas satu yang sangat intuitif bagi pengembang. Lemparkan beberapa efek eye candy dan beberapa plugin yang sangat bagus - alat kecil yang cukup mengesankan yang sangat cocok untuk tugas itu.
Javascript standar -> Jquery bagi saya terasa seperti bermigrasi dari C ++ dan mfc ke winforms dan C #.
sumber