Khi nào cần cập nhật jQuery?


19

Khi bạn khuyên bạn nên cập nhật jQuery / jQuery UI? Hay nói cách khác: các cách thực hành tốt nhất để cập nhật jQuery / jQuery UI là gì?

Tôi đang làm việc trong một dự án dài sẽ mất ít nhất một năm nữa. Trong khoảng thời gian đó, tôi chắc chắn rằng jQuery / jQuery UI sẽ được cập nhật nhiều lần.

Bạn có khuyên cập nhật các tệp UI / jQuery UI của tôi mỗi khi bản cập nhật được phát hành không? Hoặc là tốt hơn để gắn bó với một phiên bản cụ thể cho đến khi kết thúc dự án?

Tôi e ngại về việc phá vỡ các thay đổi mã mã hóa và mỗi khi bản cập nhật được phát hành, tôi phải kiểm tra mọi thứ. Điều đó mất quá nhiều thời gian. Nhưng mặt khác, nếu tôi không cập nhật, tôi sợ những lỗi mà sau này sẽ cắn tôi ở phía sau.

Dự án là một ASP.MVC và tôi sử dụng jQuery rất nhiều.

Có suy nghĩ gì không?


Bài viết này có thể có liên quan: nó thúc giục luôn luôn ở đầu bằng cách liên kết với phiên bản được lưu trữ trên Google: encosia.com/iêu
Alex Feinman

Câu trả lời:


19

Cập nhật phiên bản jQuery của bạn khi và chỉ khi bạn cần một số tính năng mới có trong phiên bản mới. Đơn giản như thế.

Nếu bạn thường xuyên phát triển bằng jQuery, hãy theo dõi blog chính thức để biết khi nào các bản cập nhật được phát hành và những gì họ cung cấp. Đợi vài tuần hoặc lâu hơn trước khi nâng cấp lên phiên bản mới nhất để đảm bảo mọi lỗi không mong muốn sẽ được loại bỏ.


1
+1 đó là cách ổn định nhất để làm điều đó, nâng cấp vì mục đích nâng cấp sẽ tăng thời gian phát triển chung của bạn khi bạn kết thúc việc chống lại lỗi.
Nicholas Smith

2
Ngoài ra, hãy theo dõi các plugin của bạn. Đôi khi, sửa lỗi của trình cắm thêm yêu cầu nâng cấp mã jQuery lõi.
Adrian J. Moreno

12
Tôi không đồng ý với câu trả lời này. Nếu sản phẩm vẫn đang được phát triển, có vẻ như từ câu hỏi, sau đó nâng cấp với mỗi bản phát hành mới của jQuery. Nếu sản phẩm đang được sản xuất, thì tôi đồng ý với câu trả lời này, chỉ nâng cấp khi cần nâng cấp (sửa lỗi, tính năng mới .. vv)
Chuck Conway

@ChuckConway: Nói tốt.
Jim G.

20

Bạn nên nâng cấp với mỗi bản phát hành jQuery - chỉ cần xem qua nhật ký cập nhật trước khi cập nhật.

Nhóm jQuery rất giỏi về việc ghi lại các thay đổi API và các cuộc gọi không dùng nữa . Tại thời điểm này, phần lớn API khá ổn định và có thể sẽ không thay đổi. Hầu hết các thay đổi là sửa lỗi hậu trường không ảnh hưởng đến API bên ngoài. Điều này đặc biệt đúng với các bản phát hành mới nhất (1.8+).

Một lý do tuyệt vời khác để cập nhật là vì bất kể bạn có còn ở lại dự án hay không, dự án đó sẽ được duy trì bởi ai đó sau khi bạn hoàn thành nó. Nâng cấp lên phiên bản mới nhất có lợi cho bạn, các nhà phát triển và người dùng trong tương lai - bởi vì các phiên bản mới hơn của jQuery đã thổi bay những phiên bản cũ hơn ... vì vậy hãy tiếp tục và cập nhật thang.


4
Đây phải là câu trả lời được chấp nhận, vì nó chỉ có nghĩa là khi cuối cùng bạn muốn nâng cấp, bạn phải thực hiện các bước nhảy phiên bản lớn hơn, khó hơn nhiều.
Daniel Little

5

Nâng cấp ngay khi bạn có thể mà không phá vỡ bất cứ điều gì. Các chức năng mới, sửa lỗi, các tính năng mới được giới thiệu trong mỗi lần lặp.

Bạn có thể không cần các tính năng mới nhất nhưng khi bạn làm như vậy, bạn sẽ cần xác thực mọi phiên bản mới ở giữa những gì bạn phải đảm bảo rằng nó không phá vỡ bất cứ điều gì.

Gia tăng nhỏ sẽ cho phép bạn giữ mọi thứ cập nhật mà không phải nâng cấp 5 bản phát hành chính và dành 5 giờ để thử nghiệm mọi thứ cùng một lúc.


1
Tôi vẫn đang cố gắng tìm hiểu xem việc cập nhật từ 1.4.x lên 1.7.x sẽ phá vỡ mọi thứ.
styfle

4

Bạn có cần bất kỳ tính năng mới nào có trong phiên bản JQuery mới hơn không? Trang web của bạn có hoạt động như mong đợi ngày hôm nay không?

Nếu bạn trả lời "không" cho câu hỏi đầu tiên và "có" cho câu hỏi thứ hai, thì đừng nâng cấp jQuery.

Nếu bạn cần chức năng mới, thì bạn phải cân bằng điều này với chi phí thử nghiệm tăng lên và có thể đưa ra các vấn đề mới.

Nếu bạn gặp sự cố với phiên bản JQuery hiện tại của mình, thì phiên bản mới hơn có thể đã khắc phục sự cố của bạn, nhưng bạn vẫn có gánh nặng kiểm tra tăng lên vì bạn phải đảm bảo phiên bản mới không phá vỡ bất cứ điều gì khác.

Đây là lý do tại sao có một bộ đơn vị tốt, kiểm tra chức năng và tính năng là rất cần thiết.


2

Chỉ có bạn mới có thể quyết định xem những rủi ro có đáng không. Cá nhân, tôi thích cập nhật. Tuy nhiên, tôi đã có một vài lỗi được giới thiệu khi nâng cấp đã phá vỡ thứ gì đó (hoặc gây ra hành vi kỳ quặc). Vì bạn có một năm phát triển trước mắt, rất có thể nó sẽ phải trải qua một QA cuối cùng.

Tôi nói giữ cho đến nay. Dễ dàng thực hiện tích hợp nhỏ liên tục hơn nhiều so với tích hợp lớn cùng một lúc.


0

Kiểm tra. Kiểm tra, kiểm tra, kiểm tra, kiểm tra, kiểm tra.

Tôi đã sử dụng phiên bản UI UI (sau đó là hiện tại) cho một dự án và đã sử dụng một plugin bên ngoài có tên .autocomplete có chức năng sắp xếp trước, buộc một trường văn bản vào nguồn dữ liệu JSON. Đã sử dụng nó rất nhiều nơi.

Sau đó, nhiều tháng sau, tôi cần thêm một điều khiển thanh trượt chỉ có trong phiên bản hiện tại. Thật không may, phiên bản hiện tại sau đó đã thêm chức năng tự động hoàn thành tự nhiên mà họ tuyên bố là sự kế thừa tinh thần của plugin tôi đã sử dụng, nhưng sử dụng các phương pháp, chức năng và yêu cầu dữ liệu hoàn toàn khác nhau, phá vỡ các trường tự động hoàn thành trên mỗi trang tôi đã sử dụng thanh trượt mới của tôi trên.

Bởi vì các trang tôi đang phát triển tính năng mới này trên không sử dụng tự động hoàn thành, tôi đã không chú ý. Bởi vì khách hàng của tôi đã vội vàng đưa tính năng này lên trước một triển lãm thương mại, nó đã vội vã thông qua việc dàn dựng và thử nghiệm, và được đưa vào sản xuất với một crapton của máy tự động bị hỏng.

Cuối cùng, đó là một thất bại của thử nghiệm MY. Và bài học rút ra là, jQuery và jQuery UI rất ít quan tâm đến khả năng tương thích ngược. Điều này đặt ra yêu cầu đối với chúng tôi, là nhà phát triển, để kiểm tra và thử nghiệm và kiểm tra.


-1

Theo kinh nghiệm của tôi, các phiên bản mới của jQuery thường khắt khe hơn trong các yêu cầu về độ sạch mã của chúng liên quan đến mã gọi (mã của bạn).

Có rất nhiều mục đã bị phản đối ( http://api.jquery.com/c Category / deprecated / ). Thật không có thẻ từ chối trên trang, thật không may. Khấu hao cũ có nhiều khả năng phá vỡ một cái gì đó.

Đáng chú ý nhất (với tôi), :checkboxbộ chọn và toggle()chức năng đã không được dùng nữa. Cách đây một thời gian, sự thay đổi này đã ảnh hưởng đến mã jquery (cũ nhất) của riêng tôi. Tôi đã không nhận ra điều này trong một thời gian.

Mặt khác, các bản phát hành jQuery mới hơn thường đi kèm với những cải tiến hiệu suất đáng kể. Kiểm tra các thay đổi, hoặc có thể là một trong các bài thuyết trình của John Resig để xem nơi cải thiện hiệu suất được thực hiện. Nếu bạn nhận được bất kỳ lợi ích nào từ họ ... điều đó tùy thuộc vào bạn quyết định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.