2012-04-06 21 views
7

Chỉnh sửa (2012-04-12): Vì câu hỏi này được hỏi là .


Đối với hầu hết các dự án JavaScript mà tôi làm việc, tôi muốn có một ngăn xếp UI đơn giản, nhẹ.

Hiện nay tôi sử dụng jQuery trong các dự án của tôi, tuy nhiên khi tôi thực sự lùi lại một bước và nhìn vào mã, tôi chỉ thực sự sử dụng nó cho:

Có thư viện khác không (Tôi không muốn xử lý tất cả các trình duyệt khác nhau & ES3/ES5 khác biệt bản thân mình) mà có thể cung cấp cho tôi những tính năng này mà không có tất cả những thứ additon mà cá nhân tôi không cần?

Dojo lưu ý, nhưng tôi có ít kinh nghiệm với điều đó cho đến giờ, và lý tưởng nhất là muốn nghe từ những người đã sử dụng nhiều thư viện về điều này.

+0

Mặc dù nó không thực sự trả lời câu hỏi - phiên bản 1.8 sắp tới của jQuery> nên gnarf

+0

Đối với trường hợp của bạn ** jQuery là hoàn toàn tốt **. Và bạn đã quen với nó rồi. Và jQuery khá nhỏ - bên cạnh đó, bạn có thể tải nó, ví dụ: từ CDN của Google hoặc microsoft, nơi người dùng có nhiều khả năng sẽ lưu trong bộ nhớ cache. – ThiefMaster

+0

Tôi nghĩ nếu bạn bao gồm jQuery từ CDN của Google thì một lượng lớn khách truy cập của bạn sẽ có bộ nhớ cache đó nên tôi sẽ không bận tâm đến việc chuyển đổi. Woops quá muộn :) – powerbuoy

Trả lời

4

Ở dạng thu nhỏ, Dojo là 136kb, jQuery là 96kb. Di chuyển đến võ đường không đi đúng hướng.

Những vấn đề bạn nên xem xét là:

  1. Sự phù hợp của thư viện cho mục đích của bạn
  2. Kích thước của thư viện
  3. Khả năng rằng nó sẽ được precached đã
  4. quen thuộc của bạn với các chức năng của thư viện
  5. Tính khả dụng trên CDN phổ biến, công khai
  6. Hỗ trợ tốt trên mạng và tài liệu tuyệt vời tion
  7. Tốt danh tiếng về độ tin cậy, hỗ trợ trình duyệt chéo và cập nhật thường xuyên

Đi qua mỗi trong số này và trừ khi bạn tìm thấy một thư viện mà điểm số tốt trên này, jQuery có thể đặt cược tốt nhất của bạn. Nó là đáng ngạc nhiên nhỏ gọn cho những gì nó cung cấp cho bạn và nó không thực sự có rất nhiều thứ mà không có trong danh sách những thứ bạn muốn. jQuery đã thực hiện một công việc khá tốt là giữ cho thư viện cốt lõi tập trung vào nhiệm vụ trung tâm của nó và cho phép các công cụ giao diện người dùng đi vào jQueryUI và hầu hết mọi thứ khác vào thư viện trình cắm thêm của riêng họ.

Nếu bạn bị ám ảnh về việc tối ưu hóa mã bạn đưa vào chỉ là những thứ bạn cần, thì bạn có thể muốn xem xét YUI. Nó được thiết kế để được mô-đun để bạn có thể chỉ định các mô-đun bạn muốn và sau đó bạn có thể tạo sẵn một đoạn mã chỉ có các mô-đun đó (hoặc bạn có thể tải động chỉ các mô-đun bạn muốn). Cảm giác của tôi là YUI có phần overdesigned trong lĩnh vực này và nó cồng kềnh để sử dụng cho các dự án nhanh chóng bởi vì bạn phải dành thời gian để tìm ra mô-đun bạn cần và tạo ra xây dựng mỗi lần. Một khi bạn nhận được một loạt các mô-đun được tải, nó không phải là nhỏ gọn hoặc là nơi mà bạn thấy rằng jQuery là đáng ngạc nhiên nhỏ gọn cho những gì nó bao gồm.

Nói chung, bạn không nên lo lắng về những thứ mà thư viện bao gồm mà bạn không sử dụng. Chỉ cần nhìn vào kích thước tổng thể và sự phù hợp của các thư viện đáp ứng nhu cầu của bạn. Bạn có thể có thể tìm thấy một thư viện mà chỉ những gì bạn muốn và lớn hơn jQuery và không được lưu trữ rộng rãi để không phải là một chiến thắng.

Có các thư viện nhỏ gọn chỉ có ajax hoặc chỉ trì hoãn, nhưng bạn có thể muốn một thư viện với ajax và trì hoãn được triển khai cùng nhau để bạn có thể sử dụng với ajax (như jQuery đã làm). Các thư viện thực hiện thao tác DOM mở rộng có xu hướng nhiều hơn thế bởi vì chúng được thiết kế nhiều hơn để trở thành thư viện cốt lõi của bạn và hầu hết mọi người có các nhu cầu khác ngoài thao tác DOM.

Cuối cùng, tôi khuyên bạn không nên quan tâm thư viện của bạn có trong đó mà bạn không cần. Chỉ cần đánh giá sự phù hợp tổng thể của nó so với các lựa chọn thay thế.

+0

[Dojo 1.7] (http://dojotoolkit.org/blog/dojo-1-7-released) cho phép bạn chỉ sử dụng các mô-đun bạn cần (aka Dojo Nano, 4k zipped). Bạn không cần phải bao gồm tất cả các "cơ sở" Dojo (con số bạn trích dẫn) – peller

5

Hãy xem http://microjs.com/ và sử dụng những gì bạn chỉ cần.

+0

rất, rất tốt đẹp! –

Các vấn đề liên quan