Liệu nó có ý nghĩa khi sử dụng jQuery trong các ứng dụng web chỉ dành cho webkit hiện đại?


9

Gần đây tôi đang làm việc trên một vài ứng dụng web dành cho thiết bị di động dành cho Android (2.3+) và iOS (4+). Các trình duyệt của họ hỗ trợ hầu hết ECMAScript5, rất mạnh mẽ và tôi muốn sử dụng các tính năng ngôn ngữ khi có thể, chỉ dùng đến jQuery khi tôi phải.

Hóa ra điều duy nhất tôi sử dụng jQuery là có một sự thay thế ngắn hơn cho document.querySelectorAll. Cũng có thể thoát khỏi nó.

Nếu tôi chỉ phải hỗ trợ các trình duyệt WebKit hiện đại, thì có nên loại bỏ jQuery (và các thư viện đa năng khác) không? Rốt cuộc, họ là một lớp của sự gián tiếp.

(Các ứng dụng không phải thực hiện các cuộc gọi AJAX cho đến nay. Tôi đoán đó là một điều sẽ trở nên xấu xí. Nhưng nó có đáng để giữ jQuery chỉ vì điều đó không?)


1
Liên quan: gist.github.com/1455456 ;) Đối với XHR, tôi đề nghị bạn trợ giúp này . Nó không trả lời bạn, nhưng bạn hiểu ý tôi.
Florian Margaine

Câu trả lời:


8

Không, nó không có ý nghĩa.

jQuery là một thư viện cồng kềnh. Mọi người đều biết rằng. Và mọi người đều sử dụng nó bởi vì đây là một thư viện trình duyệt chéo hiếm hoi ngoài kia chỉ hoạt động (lưu ý rằng tôi không nói khung ).

Nếu bạn không cần hỗ trợ cho các trình duyệt cũ, bạn không cần jQuery.

Các nhu cầu nhỏ như phím tắt QSA hoặc trình trợ giúp XHR rất mỏng . Chúng dễ dàng được thêm vào thông qua các đối tượng như vậy .

Sau đó, nếu bạn thích API của nó, hãy tìm nó. Nhưng nó không cần thiết.

Tôi có thể hiểu rằng một số người thích:

$( '.table' ).addClass( 'active' );

Tới (sử dụng theo ):

[].forEach.call( By.qsa( '.table' ), function( table ) {
    table.classList.add( 'active' );
} );

Tôi thấy cách thứ hai rõ ràng hơn, người khác sẽ không đồng ý. Đó là một vấn đề ưu tiên.

Ngoài ra, nếu mã của bạn có bất kỳ cơ hội nào được chuyển sang các trình duyệt cũ sau này (hoặc các trình duyệt di động không phải webkit / sucky khác), hãy sử dụng jQuery. Nó sẽ làm giảm cơn đau đầu của bạn sau này.

Liên quan: https://softwareengineering.stackexchange.com/a/148536/42132


3
Điều gì sẽ xảy ra nếu bạn đã thực hiện điều này 25 lần (không phải addClass x25 nhưng có rất nhiều trường hợp tương tự khác)? Nó càng ngày càng khó đọc hơn vì chỉ có rất nhiều mã để đọc.
Esailija

Tôi không thấy khó đọc hơn, tôi thấy nó rõ ràng hơn. Vấn đề ưu tiên.
Florian Margaine

3
Tôi cảm thấy rằng có rất nhiều lý do khác để sử dụng jQuery ngoài việc chỉ hỗ trợ cho các trình duyệt cũ. Tôi không đồng ý với ý kiến ​​của câu trả lời này có vẻ cực kỳ chủ quan và dựa trên sở thích hơn là thực tế.
Michael Durrant

@MichaelDurrant có, việc sử dụng API của jQuery là rất chủ quan và dựa trên sở thích. Đó là những gì tôi nói trong câu trả lời này.
Florian Margaine

"Mọi người đều biết điều đó" - hmm, điều này dường như làm nản lòng các lập luận phản biện. jQuery có rất nhiều giá trị: decadecity.net/talks/what-has-jquery-ever-done-for-us
elias

8

Tôi nghĩ rằng nó vẫn còn giá trị sử dụng. jQuery có hiệu quả làm cho mã của bạn gọn hơn và dễ đọc hơn, dẫn đến phát triển nhanh hơn và ít bảo trì hơn (có tính đến việc bạn có một số kinh nghiệm với nó).

Nếu jQuery quá nặng đối với bạn, bạn nên dùng thử Zepto , đây là một loại thay thế trọng lượng nhẹ cho jQuery (với một api tương tự).


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.