Kapan memperbarui jQuery?

19

Ketika Anda merekomendasikan memperbarui jQuery / jQuery UI? Atau dengan kata lain: apa praktik terbaik untuk memperbarui jQuery / jQuery UI?

Saya sedang mengerjakan proyek panjang yang akan memakan waktu setidaknya satu tahun lagi. Dalam rentang waktu itu, saya yakin bahwa jQuery / jQuery UI akan diperbarui berkali-kali.

Apakah Anda merekomendasikan memperbarui file UI jQuery / jQuery saya setiap kali pembaruan dirilis? Atau lebih baik tetap dengan versi tertentu sampai akhir proyek?

Saya takut "melanggar" perubahan kode, dan setiap kali pembaruan dirilis, saya harus menguji semuanya. Itu terlalu banyak waktu. Tetapi di sisi lain, jika saya tidak memperbarui, saya takut bug yang nantinya akan menggigit saya di belakang.

Proyek ini adalah ASP.MVC dan saya sering menggunakan jQuery.

Adakah pikiran?

yannis
sumber
Artikel ini mungkin relevan: mendesak selalu berada di ujung dengan menghubungkan ke versi yang dihosting Google: encosia.com/…
Alex Feinman

Jawaban:

19

Perbarui versi jQuery Anda jika dan hanya jika Anda memerlukan beberapa fitur baru yang termasuk dalam versi baru. Sederhana seperti itu.

Jika Anda sering mengembangkan menggunakan jQuery, perhatikan blog resmi untuk mengetahui kapan pembaruan dirilis dan apa yang mereka tawarkan. Tunggu beberapa minggu atau lebih sebelum memutakhirkan ke versi terbaru untuk memastikan semua bug yang tidak terduga terguncang.

Blazemonger
sumber
1
1 ini adalah cara paling stabil untuk melakukannya, memutakhirkan demi peningkatan meningkatkan waktu pengembangan keseluruhan Anda saat Anda akhirnya memerangi bug.
Nicholas Smith
2
Juga, awasi plug-in Anda. Terkadang perbaikan bug plug-in memerlukan peningkatan kode jQuery inti.
Adrian J. Moreno
12
Saya tidak setuju dengan jawaban ini. Jika produk masih dalam pengembangan, seperti dari pertanyaan, maka tingkatkan setiap rilis baru jQuery. Jika produk ini dalam produksi, maka saya setuju dengan jawaban ini, upgrade hanya ketika upgrade diperlukan (perbaikan bug, fitur baru .. dll)
Chuck Conway
@ ChuckConway: Baiklah.
Jim G.
20

Anda harus memutakhirkan dengan setiap rilis jQuery - cukup mengintip log pembaruan sebelum memperbarui.

Tim jQuery sangat baik dalam mendokumentasikan perubahan API dan panggilan yang sudah tidak digunakan lagi . Pada titik ini, sebagian besar API cukup stabil dan mungkin tidak akan berubah. Sebagian besar perubahan adalah perbaikan bug di belakang layar yang tidak memengaruhi API luar. Ini terutama berlaku dengan rilis terbaru (1,8+).

Alasan bagus lainnya untuk memperbarui adalah karena terlepas dari apakah Anda tetap atau tidak pada suatu proyek, proyek itu akan dikelola oleh seseorang setelah Anda selesai dengan itu. Memutakhirkan ke versi terbaru bermanfaat bagi Anda, pengembang dan pengguna di masa depan - karena versi terbaru dari jQuery membuat yang lama keluar dari air ... jadi teruskan dan perbarui thang.

Cory Danielson
sumber
4
Ini harus menjadi jawaban yang diterima, meninggalkan itu hanya berarti ketika Anda akhirnya ingin meningkatkan Anda harus membuat lompatan versi yang lebih besar yang jauh lebih sulit.
Daniel Little
5

Upgrade sesegera mungkin tanpa merusak apa pun. Fungsionalitas baru, perbaikan bug, fitur baru diperkenalkan di setiap iterasi.

Anda mungkin tidak memerlukan fitur-fitur terbaru tetapi ketika melakukannya, Anda harus memvalidasi setiap versi baru di antara apa yang harus Anda pastikan tidak merusak apa pun.

Peningkatan kecil akan memungkinkan Anda untuk menjaga semuanya tetap terbaru tanpa harus memutakhirkan 5 rilis utama dan menghabiskan 5 jam menguji semuanya sekaligus.

Maxime Rouiller
sumber
1
Saya masih mencoba mencari tahu apakah memperbarui dari 1.4.x ke 1.7.x akan merusak apa pun.
styfle
4

Apakah Anda memerlukan salah satu fitur baru yang termasuk dalam versi JQuery yang lebih baru? Apakah situs Anda berfungsi seperti yang diharapkan hari ini?

Jika Anda menjawab "tidak" untuk pertanyaan pertama dan "ya" untuk pertanyaan kedua, maka jangan tingkatkan jQuery.

Jika Anda membutuhkan fungsionalitas baru, maka Anda harus menyeimbangkannya dengan biaya peningkatan pengujian dan kemungkinan pengenalan masalah baru.

Jika Anda memiliki masalah dengan versi JQuery Anda saat ini, maka versi yang lebih baru mungkin telah memperbaiki masalah Anda, tetapi Anda masih memiliki beban pengujian yang meningkat karena Anda harus memastikan versi baru tidak merusak yang lain.

Inilah sebabnya mengapa memiliki rangkaian pengujian unit, fungsional, dan fitur yang baik sangat penting.

Richard Turner
sumber
2

Hanya Anda yang bisa memutuskan apakah risikonya sepadan. Secara pribadi, saya suka tetap up to date. Namun, saya memiliki beberapa bug yang diperkenalkan ketika memutakhirkan yang merusak sesuatu (atau menyebabkan perilaku aneh). Karena Anda memiliki satu tahun pengembangan di depan Anda, kemungkinan itu harus melalui QA akhir.

Saya katakan tetap up to date. Jauh lebih mudah untuk melakukan integrasi kecil terus-menerus daripada yang besar sekaligus.

Erik Funkenbusch
sumber
0

Uji. Tes, tes, tes, tes, tes.

Saya menggunakan versi jQuery UI (saat itu) pada proyek, dan menggunakan plugin eksternal bernama .autocomplete yang melakukan fungsionalitas tipe-depan, mengikat bidang teks ke sumber data JSON. Digunakan BANYAK tempat.

Kemudian, berbulan-bulan kemudian, saya perlu menambahkan kontrol slider yang hanya datang dalam versi yang lebih baru. Sayangnya, versi yang lebih baru menambahkan fungsi autocomplete asli , yang mereka klaim sebagai penerus spiritual dari plugin yang saya gunakan, tetapi yang menggunakan metodologi, fungsi, dan persyaratan data yang sama sekali berbeda, memecah bidang autocomplete pada setiap halaman yang saya gunakan. slider baru saya aktif.

Karena halaman tempat saya mengembangkan fitur baru ini tidak menggunakan autocompletes, saya tidak menyadarinya. Karena klien saya sedang terburu-buru untuk mendapatkan fitur ini sebelum pameran dagang, ia bergegas melalui pementasan dan pengujian, dan mulai berproduksi dengan crapton autocomplet yang rusak.

Pada akhirnya, itu adalah kegagalan pengujian SAYA. Dan pelajaran yang dipetik adalah, jQuery dan jQuery UI memiliki sedikit minat pada kompatibilitas ke belakang. Yang menempatkan persyaratan pada kami, sebagai devs, untuk menguji dan menguji dan menguji.

Dan Ray
sumber
-1

Dalam pengalaman saya, versi baru jQuery umumnya lebih ketat dalam persyaratan kebersihan kode mereka terkait kode panggilan (kode Anda).

Ada banyak item yang telah dibuat usang ( http://api.jquery.com/category/deprecated/ ). Sayangnya, tidak ada tag yang usang sejak halaman. Penghentian yang lebih lama lebih memungkinkan untuk memecahkan sesuatu.

Terutama (bagi saya), :checkboxpemilih dan toggle()fungsinya telah usang. Beberapa waktu lalu, perubahan ini telah memengaruhi kode jquery saya sendiri (tertua). Saya tidak menyadari ini untuk sementara waktu.

Di sisi lain, rilis jQuery yang lebih baru biasanya datang dengan peningkatan kinerja yang substansial. Periksa changelogs, atau mungkin salah satu presentasi John Resig untuk melihat di mana peningkatan kinerja direalisasikan. Jika Anda akan mendapat manfaat dari mereka ... itu terserah Anda untuk memutuskan.

knb
sumber