2010-07-09 40 views
13

Tôi muốn biết những gì các bạn nghĩ về những 2 khung, trên phương diện:Dojo vs YUI javascript framework

  • mạnh mẽ,
  • chất lượng mã,
  • phát triển cốt lõi di chuyển về phía trước với các tính năng mới,
  • vấn đề trình duyệt chéo,
  • thành phần mô-đun,
  • cách dễ dàng nhất để tìm hiểu và tích hợp

Tôi đã biết và sử dụng jQuery, gần đây tôi thấy thiếu các thành phần 'sẵn sàng cho doanh nghiệp' cho ứng dụng web lớn.

Bây giờ tôi không muốn bắt đầu một cuộc tranh luận về jquery, hoặc tại sao mootools không có trong đó, tôi muốn biết những gì các bạn nghĩ về 2 khuôn khổ đặc biệt.

Cảm ơn!

+0

Bạn có thể thấy thiết kế trang chủ Yahoo và chức năng để quyết định xem bạn có đi với YUI hay không. – Exception

+0

Thư viện YUI không còn được duy trì tích cực nữa. Thông tin thêm ở đây: https://yahooeng.tumblr.com/post/96098168666/important-announcement-regarding-yui – GibboK

Trả lời

24

Disclaimer: Tôi là một người có duyên Dojo.

Bằng cách nào đó không ai trình bày bên Dojo trong so sánh này — nó không phải là so sánh mà không có một, phải không? Hãy để tôi đi qua điểm của bạn.

Mạnh mẽ

Dojo được sử dụng trong nhiều dự án CNTT của các tập đoàn quốc tế lớn. Cá nhân tôi đã tham gia vào các dự án cho VMware, IBM, Cisco, Reuters Thomson để đặt tên một vài. Thay vì chuyển tiếp bạn đến "tài liệu tiếp thị", tôi có thể hiển thị cho bạn danh sách những người đóng góp thực tế: http://docs.dojocampus.org/developer/contributors — cuộn xuống để xem các công ty đóng góp (và sử dụng) Dojo.

Chúng tôi giữ danh sách người đóng góp cá nhân và công ty để người dùng của chúng tôi có thể chắc chắn rằng dòng IP của mã Dojo là sạch — mỗi người đóng góp ký tên là CLA nói rằng anh/cô ấy đã viết mã đóng góp và/hoặc có quyền đóng góp nó theo giấy phép AFL/BSD kép. Cho đến nay chúng tôi không có bất kỳ vấn đề với điều đó.

Theo như tôi có thể nói YUI chủ yếu được phát triển bởi một công ty: Yahoo! YUI started to accept external contributions only two years ago đang được phát triển từ năm 2005 và hiện cũng yêu cầu CLA.

Tôi không phải là chuyên gia về thị trường chứng khoán nhưng có điều gì đó luôn luôn xảy ra với Yahoo !: một ngày nào đó nó cố gắng giả mạo liên minh với Google, ngày hôm sau nó sẽ tiêu diệt doanh nghiệp tìm kiếm và đi với Microsoft, thậm chí selling the whole company to Microsoft was discussed back in 2008 —. nó sẽ làm vào ngày mai. Bây giờ trong năm 2010, the share price went down since 2008 — sẽ được bán lại? OTOH một số người nói rằng Microsoft sẽ là một người mẹ tốt hơn cho YUI, nếu nó quyết định giữ nó. Sau đó, một lần nữa, Microsoft có các thuộc tính phần mềm riêng của mình và không chính xác là một dự án JavaScript mã nguồn mở.

Không giống như YUI Dojo được hỗ trợ bởi một số công ty với IBM là một trong những công ty có ảnh hưởng nhất — một số công ty được thuê bởi công ty này. Do Dojo có một sự hỗ trợ mạnh mẽ của công ty, nó vẫn là một dự án được thúc đẩy bởi cộng đồng của nó, bởi các cá nhân. Nếu bất kỳ công ty hoặc thậm chí một số công ty sẽ trải qua trục trặc thị trường chúng tôi vẫn sẽ cày trước.

Dojo được phân phối theo giấy phép AFL/BSD kép và miễn phí cho tất cả các lần sử dụng. Tất cả các phiên bản Dojo phát hành chính thức đều được AOL và Google CDN cung cấp.

chất lượng Mã

tôi thiên vị :-) và tôi xem xét các mã được có chất lượng rất tốt. Do Dojo là một dự án mã nguồn mở, bạn luôn có thể đánh giá nó cho chính mình, và cải thiện nó, nếu bạn cảm thấy thích nó.

Mã nguồn được giữ trong Subversion với gương chính thức được duy trì trên Github (git)Bitbucket (hg). Để thuận tiện, có một chiếc gương trên Launchpad (bzr).

nhà phát triển cốt lõi di chuyển về phía trước với các tính năng mới

Dojo có một cộng đồng sôi động, mà giữ cho bánh xe di chuyển như vậy để nói chuyện. Là một trong những nhà phát triển cốt lõi, tôi đảm bảo với cá nhân bạn rằng chúng tôi sẽ tiếp tục tiến lên thúc đẩy phong bì tục ngữ hơn nữa.

Dojo có thành tích đã được chứng minh về các sáng kiến ​​và chúng tôi sẽ không dừng lại.

vấn đề trình duyệt chéo

Hiện nay Dojo 1.4 supports following browsers:

  • hỗ trợ Firefox 2 giảm. Firefox V3 và V3.5 được hỗ trợ.
  • Safari mới nhất (Safari v4) và Chrome mới nhất (Chrome v3) được hỗ trợ, nhưng không hỗ trợ các phiên bản trước.
  • IE6, IE7, IE8 đều được hỗ trợ.
  • Opera mới nhất (Opera v10) (chỉ dành cho lõi Dojo).

Các sắp tới Dojo 1.5 (sẽ được phát hành trong một vài ngày) đã được thử nghiệm rộng rãi với các trình duyệt sau:

  • Firefox 3.5/3.6
  • Safari 4/Safari 5 và Chrome 5
  • IE6, IE7, IE8
  • Opera 10,53 và sau đó (Dojo chỉ lõi)

Để highlig ht sự khác biệt với trình duyệt A-grade của YUI:

  • Dojo hỗ trợ Linux ngoài Windows và Mac.
  • Dojo hỗ trợ Google Chrome trên tất cả các hệ điều hành được hỗ trợ.
  • Dojo hỗ trợ Firefox trên tất cả các hệ điều hành được hỗ trợ.
  • Dojo Core hỗ trợ Opera trên tất cả các hệ điều hành được hỗ trợ.

Cá nhân tôi có thể thêm rằng tôi vẫn kiểm tra dojox.gfx (gói đồ họa đa nền tảng) trên Firefox 2 — nó liên quan đến Dojo Core và hoạt động như mong đợi. Và tôi kiểm tra Dojo Core trên một số trình duyệt lạ như Midori.

Một điểm khác biệt là Dojo có thể được sử dụng (và nó được sử dụng) trong môi trường máy tính để bàn và máy chủ. Rõ ràng các thành phần cụ thể cho trình duyệt không được sử dụng bởi các môi trường đó.

thành phần mô-đun

Ngay từ ngày đầu Dojo cung cấp các lớp học, mô-đun, và các gói (bộ sưu tập các module). Dijit cung cấp các widget: HTML + JavaScript đóng gói với giao diện hợp nhất.

Tất cả các khối xây dựng đều được tiếp xúc với người dùng, vì vậy họ có thể tạo các thành phần của riêng mình, sẽ là 1 st công dân lớp: chúng có thể được tải giống như bất kỳ mô-đun nào khác được xử lý bởi trình tạo (phụ thuộc được theo dõi, rút ​​gọn, CSS đã được xử lý trước, vv), ngay cả những bản dựng CDN kỳ lạ cũng có thể được thực hiện bởi người dùng. Bất cứ điều gì bạn có thể làm với các thành phần Dojo cổ phiếu bạn có thể làm với các thành phần của riêng bạn.

Dojo bản thân được chia thành 3 tiểu dự án, có thể được sử dụng riêng rẽ:

  • Dojo (bao gồm Dojo cơ sở như một tập tin duy nhất)
  • Dijit: một tập hợp các widget
  • DojoX: thậm chí nhiều hơn tiện ích con và ~ 50 gói bao gồm mọi thứ từ biểu đồ nền tảng đến mã hóa.

dễ nhất để học hỏi và tích hợp

Dojo chỉ là JavaScript và HTML thông thường/DOM (dành cho các widget). Nó không giả vờ là cái gì khác, nó không phải là một giáo phái với một vị lãnh đạo, nó không phải là một "khuôn khổ", kiểm soát ứng dụng của bạn và buộc bạn phải làm một số điều kỳ lạ, Dojo không muốn " cải thiện "" không hoàn hảo "JavaScript, Dojo không muốn giả mạo một trình duyệt để được một cái gì đó khác. Thay vào đó, Dojo cung cấp các công cụ thiết thực để làm cho một lập trình viên hiệu quả hơn, để tạo điều kiện cho RAD, giải quyết các vấn đề chung, và để hỗ trợ các kỹ thuật và phương pháp hữu ích.

Mỗi lập trình viên có kinh nghiệm thường có một thư viện nhỏ về những thứ hoạt động tốt cho các dự án trước đó. Anh ta hoặc cô ta biết phải tránh những gì và sử dụng cái gì. Nó "nhấp" trong đầu của tôi khi tôi nhận ra rằng Dojo là thư viện này trên steroid — giống như một số chuyên gia đã cùng nhau và cẩn thận kết hợp các thư viện cá nhân của họ. Chắc chắn, nó có rất nhiều mô-đun khác nhau, nhưng tôi chỉ có thể sử dụng những gì tôi muốn cho dự án cụ thể của mình — Tôi không bắt buộc phải sử dụng mọi thứ và tôi không trả tiền cho những thứ tôi không sử dụng. Thậm chí không phải là một hình phạt trừu tượng.

Nếu bạn biết JavaScript và quen thuộc với HTML, CSS và DOM — bạn sẽ ở ngay tại nhà.

+1

Như mọi khi, Eugene, cũng đặt. –

9

Tôi nghĩ lý do của bạn để từ chối âm thanh jquery đáng ngờ và đề xuất khung làm "sẵn sàng cho doanh nghiệp" là lời khen hữu ích trong sách của tôi.

Tuy nhiên, tôi có rất nhiều kinh nghiệm với YUI (2 và 3) và tôi nghĩ rằng nó có thể phù hợp với trường hợp sử dụng của bạn.

  • Mạnh mẽ - YUI được Yahoo sử dụng nội bộ, do đó cần cung cấp một số đầu mối về tính bền vững của nó.
  • Chất lượng mã - Tôi là người đóng góp cho dự án và chất lượng mã rất tốt. Vì nó là mã nguồn mở, bạn có thể take a look for yourself.
  • Chuyển tiếp - Nó được hỗ trợ bởi Yahoo (nhưng cũng kết hợp các đóng góp của cộng đồng) để tiến lên phía trước nó khá an toàn. Một lần nữa, bạn có thể tự mình track development and community involvement.
  • Trình duyệt chéo - nó hỗ trợ tất cả các mô hình Yahoo A-grade browsers
  • Mô-đun - có một tấn và (đặc biệt là trong YUI 3) rất dễ dàng để kết hợp các phần bạn cần. Nếu bạn muốn chủ yếu là các mô-đun GUI, bạn vẫn sẽ cần phải kết hợp trong một số YUI 2 (đó là dễ dàng để làm). Tuy nhiên, các tiện ích trong YUI3 sắp ra mắt.
  • Dễ học và tích hợp - YUI có lẽ là best documentation của bất kỳ thư viện JS nào mà tôi đã xem. Tuy nhiên, YUI 3 rất có ý kiến ​​về cách bạn viết javascript của bạn. Đó là ý kiến ​​một cách tốt và cung cấp cho bạn rất nhiều bang cho buck của bạn, nhưng chỉ cần "thả" vào một dự án hiện có YUI 2 có thể dễ dàng hơn.
+2

tốt, tôi không từ chối nó cho mỗi nói, tôi chỉ tìm thấy jQuery UI thiếu một số tính năng tôi cần, và các plugin khác không phải là chất lượng giống như lõi jQuery. –

+1

Điều đó đúng. Bạn sẽ tìm thấy chất lượng và tài liệu nhất quán hơn trong các tiện ích YUI. Tôi chỉ có xu hướng ưu tiên sự đơn giản và nghĩ rằng các widget được sử dụng quá mức :-). –

+0

Tôi không thể nói chuyện với Dojo hoặc JQuery, nhưng tôi thấy rằng một trong những điểm mạnh tuyệt vời của YUI là cốt lõi của thư viện giúp tạo và mở rộng các tiện ích mạnh mẽ khá dễ dàng. Theo kinh nghiệm của tôi, tiện ích của người khác gần như không bao giờ thỏa mãn 100%. Bạn có thể làm gì với những gì bạn nhận được hoặc bạn tùy chỉnh. YUI cung cấp một khối khởi đầu tốt đẹp và các công cụ nâng cao để tùy chỉnh. IMO. –

1

YUI có bộ công cụ kiểm tra tuyệt vời và không gây ô nhiễm không gian tên chung. Ngoài ra, kết quả kiểm tra YUI có thể được đọc bởi JUnit, đó là một điểm cộng trong cuốn sách của tôi. Tôi đã không sử dụng Dojo vì vậy tôi không thể bình luận chi tiết về nó, nhưng cách nó tích hợp với DOM là xứng đáng với ký hiệu.

1

Biết rằng JQuery là cách dễ sử dụng và phổ biến nhất, Dojo có lợi thế là được tích hợp trong Zend Framework. Ngoài ra, sự khác biệt trong việc là một thư viện hoặc khung tính. - Thư viện là về các chức năng có thể tái sử dụng, nhưng khung là về hành vi tái sử dụng - Thư viện là thứ bạn gọi/kế thừa từ mã của bạn, nhưng khung là thứ gọi mã của bạn hoặc cung cấp dịch vụ cho mã của bạn - Thư viện là thu thập các thành phần và các lớp, trong đó khung là cách các lớp trừu tượng và các thành phần tương tác với nhau như thế nào.