2010-03-16 36 views
6

Tôi đã sử dụng Ext JS làm bộ công cụ tiện ích phong phú của mình trong một thời gian, nhưng tôi đang nghĩ đến việc chuyển sang YUI, một phần do giấy phép ít hạn chế hơn.So sánh YUI và Ext JS

Mô hình định hướng thành phần được sử dụng trong YUI có vẻ khá giống với mô hình mà tôi đã rất thích trong Ext JS, nhưng tôi quan tâm đến sự tương đồng sâu sắc như thế nào. Vì vậy, tôi quan tâm đến phản hồi từ những người đã sử dụng cả Ext JS và YUI. Điều gì là như nhau, và những gì là khác nhau? Tôi bị mất gì khi chuyển sang YUI và tôi có được gì?

Trả lời

10

Tôi nghĩ cả hai thư viện thực sự đáp ứng các nhu cầu khác nhau.

YUI được thiết kế đáp ứng nhu cầu của Yahoo inc. Nó rất tốt trong việc xây dựng các ứng dụng phải đối mặt công khai, nơi những thứ như suy thoái duyên dáng, đánh dấu sạch sẽ và khả năng tiếp cận là rất quan trọng.

ExtJS là một khung RIA đầy đủ và được thiết kế tốt, được nhắm mục tiêu rất chắc chắn vào việc xây dựng các ứng dụng kinh doanh. Các tính năng như thành phần lưới thực sự mạnh mẽ, bố cục mạnh mẽ và giao diện đẹp chuyên nghiệp.

Tôi đã sử dụng cả hai khá đáng kể, mặc dù chỉ lên đến YUI 2.7.0 và đã xây dựng một số RIA đầy đủ bằng cách sử dụng các khung công tác.

Di chuyển ứng dụng hiện có từ người này sang người khác sẽ khá khác biệt như mặc dù họ chia sẻ tổ tiên chung (ExtJS đã từng YUIext), các khung giờ hoàn toàn khác.

+0

Điểm thú vị về mặt công khai so với các ứng dụng công việc. Chúng tôi đã sử dụng ExtJS cho nội dung cho đến nay, nhưng chúng tôi đang suy nghĩ về việc sử dụng nó cho một ứng dụng phải đối mặt với công chúng - có vẻ như chúng tôi có thể muốn đi với YUI trong trường hợp đó. –

+1

đó là nơi tôi kinda vẽ một dòng, nó không phải như thế (tôi chắc chắn rằng các ExtJS guys sẽ nói) nhưng khung như YUI và jQuery có vẻ là một chút tốt hơn phù hợp với công chúng phải đối mặt –

+1

Đó là một rất điểm thú vị, tôi đồng ý 100%.Bây giờ tôi đã sử dụng ExtJS nhiều hơn một chút, tôi nhớ những ngày cố gắng sử dụng YUI trong ứng dụng kinh doanh của chúng tôi và tôi nghĩ nó tốt và khá trưởng thành, nhưng rất khó để xử lý tất cả những điều nhỏ nhặt mà bạn có thể muốn trong một ứng dụng doanh nghiệp. YUI khá trưởng thành, nhưng họ không hoàn toàn nhắm vào cùng một người. – SBUJOLD

2

Đối với tôi sự khác biệt là YUI rất nhẹ và linh hoạt, trong khi ExtJS nặng hơn, với dấu chân lớn hơn và cứng nhắc hơn theo cách bạn sử dụng. YUI là tuyệt vời nếu bạn biết những gì bạn đang làm trong Javascript và muốn mở rộng quyền lực của bạn; ExtJS là tốt nếu bạn muốn có một lớp trừu tượng UI mà bạn không phải làm phiền nhiều ... nhưng nếu bạn làm muốn làm cho nó làm những việc mà nó không được thiết kế để làm, nó có thể là một công việc thực sự.

+0

Ext cực kỳ linh hoạt và mạnh mẽ nếu bạn biết cách sử dụng nó - nó chắc chắn không phải là "cứng nhắc". Tôi nghĩ rằng một tuyên bố công bằng hơn có thể là nó có một đường cong học tập dốc hơn, nhưng theo ý kiến ​​của tôi nó là một khuôn khổ mạnh mẽ không kém. –

2

Khi xây dựng một ứng dụng gần đây, tôi đã có cùng một quyết định chính xác để tạo YUI hoặc Ext JS.

Tôi đã kết thúc với YUI vì một vài lý do: YUI 3 có trọng lượng cực nhẹ và nhanh chóng cho các tác vụ đơn giản và tải chậm làm cho mọi việc trở nên nhanh hơn.

Suy thoái nghiêm trọng rất quan trọng đối với ứng dụng này.

Sử dụng tiện ích YUI 2 trong YUI 3 khá dễ dàng và với 3.1 tuần theo nghĩa đen sẽ trở nên dễ dàng hơn.

Tài liệu YUI là không thể tin được và trò chuyện và diễn đàn irc rất hữu ích và thực sự có những người từ nhóm phát triển YUI.

1

Tôi chưa sử dụng ExtJS nhiều, vẫn đang trong giai đoạn học tập, nhưng đối với những gì tôi có thể làm với nó, tôi khá chắc chắn rằng thậm chí hơn một năm trước khi tôi đang làm rất nhiều YUI dev, nó sẽ có nhiều thách thức hơn và kết quả sẽ không được như slick. Nó không phải là quá nói rằng bạn không nên làm điều đó, nhưng lời khuyên của tôi cho bạn sẽ được thực hiện một số nghiên cứu nghiêm trọng và prototyping tốt của một số các tính năng hiện có bạn phải xem nếu YUI sẽ phù hợp với nhu cầu của bạn. Chúc May mắn! KHÔNG chỉ dựa vào các ví dụ và cảm giác "Có vẻ như điều đó có hiệu quả".

2

Trong thời gian khi tất cả các ứng dụng di chuyển đến web, dòng rõ ràng được vẽ bởi Gareth giữa ứng dụng công khai và ứng dụng Doanh nghiệp cũng không có ý nghĩa gì.

Tôi thích các câu trả lời khác, như câu trả lời của Robusto và so sánh cả hai khuôn khổ về cơ sở tài chính/kỹ thuật.

YUI ưu điểm:

  • miễn phí
  • Lightweight (HTML + Javascript)
  • hiệu quả hơn
  • dễ dàng hơn để học hỏi và hiểu tài liệu và các ví dụ
  • Better
  • cộng đồng lớn hơn

lợi thế Ext:

  • tính năng Richer & thành phần
  • Một số (không có giấy tờ) tài xế Server Side (như NET) (mặc dù sử dụng các thư viện như vậy trên máy chủ dường như thiết kế xấu)

Kết luận: Nếu trang web của bạn không yêu cầu các tính năng bổ sung do ext cung cấp, hãy truy cập YUI.

+0

+1 cho "miễn phí" làm lợi thế đầu tiên trong YUI, +1 và cho các phần "không có giấy tờ" của ExtJs (nhưng tôi chỉ có thể bỏ phiếu một lần) :) –

3

Một điểm khác biệt chính là YUI được phân phối theo giấy phép BSD cực kỳ được phép trong khi ExtJS được phân phối theo cách giải thích rất mãnh liệt của GPL. Ví dụ, với cách giải thích GPL của Sencha, nếu bạn viết giao diện SOAP hoặc REST đặc biệt để nói chuyện với một giao diện người dùng ExtJS thì mã máy chủ của bạn phải là GPL và bạn phải cung cấp quyền truy cập vào nguồn đó. truy cập trên web. Sencha cung cấp giấy phép thương mại cho mã của họ nhưng nếu bạn đọc kỹ tài liệu của họ, bạn sẽ thấy rằng họ không cho phép bạn chuyển đổi mã bạn đã viết chống lại GPL Sencha sang giấy phép khác khi bạn chuyển sang phiên bản thương mại. (http://www.sencha.com/legal/license-overview)

Tóm lại, nếu mã của bạn cần tích hợp với logic kinh doanh độc quyền hoặc hệ thống được cấp phép thương mại thì bạn phải phát triển bằng phiên bản thương mại của Sencha từ ngay từ đầu.

1

Với GPLv3, nó cho biết miễn là người dùng của bạn là một phần của cùng một pháp nhân hợp pháp mà bạn không cần phải chia sẻ mã nguồn. Các verbiage kỹ thuật tuyên bố này như thể họ không phải là một phần của cùng một thực thể pháp lý, sau đó bạn cần phải cung cấp nguồn. Nhưng điều này không có nghĩa là Sencha sẽ không thay đổi giấy phép sau này. Nó cũng không có nghĩa là họ sẽ.