Trong phần Hỏi & Đáp của bài nói chuyện này , Douglas Crockford nói rằng jQuery không mở rộng quy mô cũng như một số thư viện phổ biến khác. Ý anh ta là gì, và những gì về các thư viện khác làm cho chúng có khả năng mở rộng hơn?
Trong phần Hỏi & Đáp của bài nói chuyện này , Douglas Crockford nói rằng jQuery không mở rộng quy mô cũng như một số thư viện phổ biến khác. Ý anh ta là gì, và những gì về các thư viện khác làm cho chúng có khả năng mở rộng hơn?
Câu trả lời:
Nếu bạn xem video, anh ấy không nói về jQuery chính thức. Đó là một câu trả lời nhanh chóng cho một câu hỏi hơi khó hiểu từ một người nào đó sau bài thuyết trình .... vào cuối bài thuyết trình, khoảng phút 1:29.
Anh ấy nói rất nhiều điều hay về jQuery. Phần nói về nó không mở rộng tốt, ông nói rằng ông không nghĩ jQuery quy mô rất tốt cho các ứng dụng rất phức tạp (so sánh nó với những thứ khác như YUI). .
Thật khó để tôi nói mà không xem video, nhưng tôi đoán là vì jQuery không cung cấp tất cả các tính năng của hầu hết các thư viện khác giúp cho việc lập trình JavaScript dễ dàng hơn. Mục đích của jQuery là làm cho thao tác DOM dễ dàng hơn bằng cách đơn giản hóa việc đánh địa chỉ các phần tử thông qua các bộ chọn CSS và cung cấp một khung dễ dàng để thay đổi các phần tử đó. Nó cung cấp một số tính năng khác như yêu cầu Ajax , quản lý sự kiện cơ bản, tạo khuôn mẫu và một số chức năng thô sơ khác, nhưng đó là về nó.
Các thư viện khác như Prototype , MooTools , Ext JS và Dojo cung cấp vô số chức năng khác để tạo đối tượng, quản lý mảng & bộ sưu tập, thao tác chuỗi và thực hiện tất cả những điều khó chịu khác mà chúng ta lập trình viên có thể làm được.
Nói tóm lại, jQuery thiếu các công cụ mà người ta muốn cho các ứng dụng JavaScript quy mô lớn. Rất hiếm khi tìm thấy bất kỳ trang web nặng JavaScript nào bằng jQuery, vì lý do này. Ví dụ: Mint.com được xây dựng trên YUI . Dịch vụ web MobileMe của Apple chạy trên SproutCore (trang web chính của Apple sử dụng Prototype).
Ít nhất, đó là những gì tôi nghĩ rằng anh ấy có nghĩa.
jQuery không cho phép bạn sử dụng lại nhiều như MooTools chẳng hạn.
Đó là một quyết định triết lý / thiết kế: jQuery không có nhiều mã cho các tình huống cháy và quên.
Khi bạn đang xây dựng các trải nghiệm JavaScript không phô trương (thường chỉ là các cải tiến trang), điều này hoạt động rất tốt và yêu cầu rất ít mã. Khi bạn xây dựng Google Docs ... không quá nhiều. Bạn sẽ muốn có thêm các khái niệm OOP mà các dự án khác phơi bày như kế thừa, các cơ chế giống như giao diện, v.v ...