2011-01-23 36 views
76

Chúng tôi đang có kế hoạch phát triển GUI hoàn toàn mới. Chúng tôi rất hài lòng với JQuery mà chúng tôi đã sử dụng trong sản phẩm cũ của mình. Thật dễ dàng, sang trọng và nhanh chóng.JQuery vs ExtJS

Chúng tôi đã nghe nói về ExtJS. Nó cũng có AJAX và một danh sách lớn các tính năng khác.

Chúng tôi chỉ muốn sử dụng một trong số chúng.

Điều gì là tốt nhất dựa trên trải nghiệm của bạn?

Trả lời

87

Tôi đã sử dụng jQuery rộng rãi và yêu thích nó. Tôi đã xem xét ExtJS nhiều lần và rất thích có cơ hội sử dụng thư viện này vào một thời điểm nào đó. Đây là việc của tôi.

jQuery

Các ngăn kéo rác của chương trình javascript. Họ có tất cả mọi thứ bạn cần ở đó, nếu bạn sẵn sàng đào, sử dụng một số băng keo và siêu keo, và nói chung có một nhóm các nhà phát triển có thể và sẵn sàng để búa mã. jQuery là tuyệt vời!

Được sử dụng theo cách nhiều nơi hơn bạn nghĩ. Tuy nhiên, giống như Drupal và các khung/thư viện được cộng đồng hỗ trợ khác, khi bạn nhận được hỗ trợ miễn phí, bạn sẽ nhận được những gì bạn phải trả. Bạn có thể làm cho tất cả được thực hiện với jQuery, nhưng đôi khi bạn cần một cái xẻng, đèn pin và sự kiên trì.

Ngoài ra, tài liệu rất tốt (ngang bằng với tài liệu trực tuyến của PHP), và tấn, theo nghĩa đen là tấn, ví dụ về mã và các mục blog trên mạng.

Sẽ thu hút người gửi tin nhắn và "người viết kịch bản nâng cao" không ngại Google một cụm từ để tìm ví dụ có thể được sử dụng để phát triển sự cố và phát triển tốc độ.

ExtJS

chuyên nghiệp được phát triển bởi một công ty phi lợi nhuận, đây là những giống hơn để điều khiển (trong bối cảnh của Visual Studio) so với widget hay plugin. Cố ý hoàn chỉnh và mạnh mẽ, với một cái nhìn chi tiết và cấu trúc tổ chức cấp cao hơn tôi nghĩ tồn tại trong môi trường jQuery, ExtJS là một thứ bạn có được: Một sản phẩm được phát triển và hỗ trợ chuyên nghiệp sống và chết bởi khả năng của nó để trả về giá trị.

Sẽ thu hút các nhà lập trình "được đào tạo chuyên nghiệp" mong đợi thử nghiệm rộng rãi và có thứ tự cao hơn hoặc nghiêm ngặt hơn trong việc phát triển kiểm soát.

cuối cùng Khuyến nghị

Nó thực sự đã làm với cửa hàng và khách hàng của bạn. Nếu nhóm của bạn là DIY nhiều hơn và thích dán những thứ với nhau và nhận được nó ra khỏi cửa, đi với jQuery. Đó là mạnh mẽ cho mọi tình huống. Nếu bạn có một cửa hàng được đặt hàng và chuyên nghiệp, ExtJS có thể là một lựa chọn tốt, nhưng jQuery cũng sẽ là khả thi. Tôi không thấy cần phải chia nhỏ kiến ​​thức của bạn và sử dụng cả hai, nhưng thực sự, nếu bạn làm, hãy sử dụng ExtJS cho phần phía máy khách và jQuery cho bảng điều khiển quản trị. Tôi không thấy lợi ích theo cách khác.

Ngoài ra, đối với bạn bàn điều khiển quản trị, hãy xem TIBCO. Có thể quá mức, nhưng rất thú vị.

+5

Đẹp viết lên trên cả hai .. Funnily đủ Tôi đã đến kết luận ngược lại lại: khách hàng VS admin :) – Ben

+1

Tôi đoán quyết định đã làm với những gì khách hàng đang nhìn thấy và những gì giao diện điều khiển admin được giao nhiệm vụ (điều chỉnh người dùng tài khoản so với SCADA). Suy nghĩ của tôi là khách hàng sẽ thấy tiền và bảng điều khiển quản trị đó chỉ là những thứ cần thiết, nhưng điều đó không khó trong đá. Thành thật mà nói, tôi sẽ có một thời gian khó khăn thực sự ủng hộ một sự phân chia mã trừ khi nó là di sản. Tại sao viết lại mã bạn đã có trong jQuery? Điều đó nghe có vẻ như lãng phí $$ trừ khi ExtJS cung cấp cho bạn những cải thiện thực tế và có thể dự đoán được về số liệu hỗ trợ khách hàng và/hoặc thời gian tới tàu. –

+0

Nhân tiện, Giao diện chung TIBCO là điểm vào tốt nhất nếu bạn quan tâm đến nó. http://developer.tibco.com/gi/default.jsp –

23

Câu trả lời của Jared Farrish khá rộng.

Tôi đã sử dụng cả hai trên các dự án khác nhau.

ExtJS nặng hơn rất nhiều về cả kích thước và nó cho phép bạn làm gì. Thật tuyệt vời nếu bạn cần một giao diện ứng dụng web phức tạp, nó có các điều khiển tuyệt vời cho các cửa sổ, các bảng, v.v., và nó trông có kiểu dáng đẹp.

Cộng đồng diễn đàn mở rộng khá hữu ích thông qua diễn đàn của họ.

Điều đó nói rằng nó "cứng nhắc" hơn jQuery và có một đường cong học tập dài hơn đáng kể để bắt đầu, nhưng nếu bạn đang xem giao diện người dùng phức tạp, nó sẽ trả tiền theo dõi.

Lợi ích của jQuery là nó sẽ giúp dự án của bạn di chuyển nhanh hơn và sẽ dễ dàng hơn để "thử nghiệm" trong khi triển khai các tính năng mới.

Cả hai đều tốt cho loại ứng dụng của riêng họ. Tôi đã thực sự sử dụng cả hai trên một dự án, admin rộng lớn (rất nhiều cửa sổ và phần) được xây dựng trong ExtJS và giao diện người dùng, cần quay lại nhanh hơn để điều chỉnh nhưng tương tác ui hạn chế được xây dựng trong jQuery.

Hy vọng điều này sẽ giúp

12

Tôi không đồng ý về đường cong học tập của jQuery nhanh hơn ExtJS. Mọi thành phần trong ExtJS đều có một ví dụ được làm việc trên trang web và các tài liệu API hoàn toàn tuyệt vời, có cấu trúc, dễ sử dụng và đầy đủ.

Điều bạn chọn tùy thuộc vào giao diện của bạn. Web-2.0 giống như giao diện sáng bóng có thể dễ dàng hơn một chút trong JQuery, giao diện ExtJS có giao diện đẹp nhưng rất giống ứng dụng. Điều đó nói rằng tôi nghĩ rằng không có so sánh giữa hai nếu bạn đang tìm kiếm để tạo ra một giao diện phức tạp, nặng dữ liệu nghiêm trọng. ExtJS cho phép bạn lập trình cho bạn giao diện giống như bạn sẽ phụ trợ của bạn, hoàn toàn hướng đối tượng. Nếu bạn không thích một số hành vi của các thành phần mặc định bạn ghi đè lên nó. Nó là siêu dễ dàng để tạo ra các thành phần tái sử dụng chính mình. Trong ExtJS 3, lớp Direct được giới thiệu sẽ loại bỏ tất cả các rắc rối trở lại của giao tiếp máy khách-máy chủ Ajax và thực hiện nhiều cuộc gọi cùng nhau cho bạn một cách tự động, giảm số lượng yêu cầu máy chủ mà bạn cần để cung cấp giao diện của mình. Tôi có thể tiếp tục, nhưng ExtJS cho tôi là một ơn trời, tôi sẽ không thể tạo ra những giao diện phức tạp mà tôi tạo ra trong thời gian tôi có thể tính phí cho khách hàng của mình.

Chúc may mắn với bất cứ điều gì bạn chọn, Rob

+2

Hãy thử sử dụng TreeLoader với định dạng dữ liệu thay thế, chúng chỉ hỗ trợ một định dạng và thậm chí nó không phải là kiểu trả về kiểu REST bình thường của REST. Không có tài liệu về điều này. Ngay sau khi bạn cần chức năng thay thế từ bất kỳ phương pháp lớp học của họ, bạn phải 'ghi đè' aka sao chép/dán và thay đổi nó với của riêng bạn. Điều này sẽ không luôn luôn là trường hợp tôi chắc chắn rằng một số phương pháp có thể được ghi đè với siêu, nhưng Crockford đã nói rằng đây là một điều ngớ ngẩn để làm trong JS. – Drew

+0

@Drew Tôi sẽ quan tâm đến việc nhìn thấy một ý chính của JQuery và ExtJS 4 về điều này. Tôi đang xem xét sử dụng ExtJS4 cho một dự án của tôi được định dạng rất nhiều. Thx – cbmeeks

+8

Vâng, đó là thịt bò, tôi có lẽ sẽ bị vi phạm bản quyền nếu tôi đăng một gist w/ExtJS4. Tôi đã xem xét ExtJS3 trong 2 tháng trên một dự án hiện tại, và khuôn khổ cảm thấy rất cứng và không khoan nhượng. Tôi thấy mình sửa đổi các widget để làm cho chúng có thể mở rộng và các ví dụ chỉ làm việc cho các kiểu trường hợp cụ thể. Ngoài ra, nhiều ví dụ đã không được thực hiện bởi Sencha nhưng đã được đăng đằng sau paywalls trên diễn đàn của họ. Tôi muốn giới thiệu YUI trên nó, họ dogfood sản phẩm của họ nhiều hơn và cung cấp các trang web tài liệu kick butt. – Drew

12

Tôi chỉ mới bắt đầu sử dụng 2 trong số họ trong 2 dự án khác nhau một ngày mỗi. (Ext 4 và JQuery). Và có Ext dường như là "doanh nghiệp" nhưng tài liệu và học jquery đã được tốt đẹp và dễ chịu .. Mặt khác ext đã rất khó hiểu xem xét hầu hết các tài liệu sẽ đề cập đến ext 3 và tôi đang cố gắng để làm việc trên ext 4

Tất cả sách và hướng dẫn về jquery cho phép tôi tạo ra nhiều cách hơn so với ext.

Điều quan trọng cần lưu ý là trải nghiệm js của tôi bị giới hạn.

4

Hãy xem. EXT có một đường cong học tập dốc để làm cho nó đúng, và nó cực kỳ mạnh mẽ. Đó là thư viện JavaScript duy nhất tôi đã sử dụng mà tôi sẽ gọi một khung thực tế (tương tự theo nghĩa đó với YUI, mà tôi chưa từng sử dụng). Trong phiên bản 4.x Sencha đã thực hiện một cam kết đầy đủ về mô hình MVC, điều này thu hút rất nhiều lập trình viên có kinh nghiệm.

Mặt khác, jQuery giúp dễ dàng thực hiện những việc đơn giản và trong kinh nghiệm của tôi hầu như không thể làm bất cứ điều gì phức tạp.

Tại sao bạn giới hạn bản thân chỉ với hai người đó?Hãy xem MooTools, ví dụ. Đó là một thư viện mạnh mẽ, linh hoạt và có thể mở rộng, và bạn không phải đoán cách nó làm việc như jQuery, hoặc sử dụng JS thô để làm bất cứ điều gì ngoài thao tác DOM đơn giản hoặc tải JSON (như với jQuery!) .

Tôi lưu ý rằng không ai đề cập đến Dojo, điều này cũng khá mạnh mẽ, rất phức tạp và từ những gì tôi thấy từ các nhóm khác lướt sóng ở văn phòng của tôi rất nặng trong trình duyệt.

EXT sử dụng một số công cụ bổ sung như la bàn (chạy trong ruby) và máy nén YUI để giúp bạn xuất các gói tải xuống cực kỳ hiệu quả, bị tước khi bạn đã "hoàn tất" trang web của mình. Tôi đặt hoàn thành bằng dấu ngoặc kép vì tôi nghĩ đây là một sự sụp đổ cho EXT. Sau khi tất cả, các trang web gần như không bao giờ hoàn thành, và quá trình này là tương tự như để biên dịch một ứng dụng Java, trong đó nếu bạn thay đổi bất cứ điều gì, bạn phải đi qua toàn bộ quá trình đầu ra một lần nữa.

Bạn nhận được rất nhiều điều ngay lập tức với EXT, nhưng điều đó cũng có nghĩa là có rất nhiều điều cần tìm hiểu và một số lượng kế hoạch nhất định và dự kiến ​​sẽ thực hiện một dự án có giao diện đẹp mắt. Trong những ngày xưa họ thường gọi đó là "kỷ luật", nhưng nó không có nhiều trong thời trang những ngày này (để biết thêm thông tin, xem "jQuery").

Nhưng tôi không có ý kiến!

3

Tôi sẽ chỉ trả lời câu hỏi này vì nó hiển thị dưới dạng kết quả đầu tiên cho "jquery vs extjs". Giống như một số người ở đây, tôi đã sử dụng cả hai chuyên nghiệp. Tôi đặc biệt thích phản ứng đầu tiên. Đối với tôi, nếu tôi sẽ xây dựng một ứng dụng rất nhỏ với đội ngũ rất nhỏ thì tôi chắc chắn sẽ đi với jQuery. Tuy nhiên ... nếu bạn đang làm việc trên một nhóm lớn thì việc chia công việc của jQuery có thể không tầm thường để thực hiện một câu chuyện của người dùng. Với ExtJS, họ thực sự nắm lấy mô hình OO và làm cho nó dễ dàng duy trì. Ngoài ra, bạn có thể sử dụng MVC của họ để được sử dụng như chia công việc giữa các nhà phát triển. Tuy nhiên, nó đi kèm với đường cong học tập dốc. Những người nói "Nhìn vào mẫu và bạn vàng!" rõ ràng không hiểu làm thế nào để viết mã extjs GOOD. Mọi người thực sự cần phải học ExtJS Core trước khi giải quyết phần ExtJS UI ... mặc dù đây thực sự là lỗi của công ty vì không có tài liệu nhà phát triển tốt ... tin tốt là có những cuốn sách như ExtJS In Action đến để giải cứu. Nói chung, tôi sẽ sử dụng ExtJS vì nó được cấu trúc nhiều hơn sau đó jQuery. Tất nhiên, lợi ích của jQuery là flexiblity ... Tuy nhiên, quá nhiều tính linh hoạt có thể giết chết dự án ... Chỉ vì bạn có thể siêu keo lego mảnh trong đôi mắt của bạn không có nghĩa là bạn nên. Nếu bạn có tiền, hãy dùng ExtJS.