2013-05-08 27 views
18

Tôi thực sự thích học cách sử dụng AngularJS. Bây giờ tôi đang tìm kiếm các thành phần tôi có thể sử dụng với nó. Tôi đã nhìn vào các thành phần Angular-UI nhưng tôi muốn biết nếu nó có thể sử dụng các thành phần tốt đẹp, tăng áp trong ExtJS. Có ai có kinh nghiệm với điều này? Bất kỳ gợi ý hoặc lời khuyên hoặc thư viện chỉ thị góc?Có thể sử dụng các thành phần ExtJS trong AngularJS không?

+2

Câu hỏi hay! Có một câu trả lời cho đến nay, nhưng phải có nhiều hơn nữa! Xin vui lòng, bất cứ ai khác đã cố gắng này - làm thế nào nó làm việc cho bạn? –

Trả lời

9

Công ty tôi đang làm là tạo ra một động thái tương tự. Chúng tôi hiện đang phụ thuộc rất nhiều vào phiên bản cũ hơn (3.x) của ExtJS và nỗ lực nâng cấp lên phiên bản hiện tại (5.0) ít nhất bằng với nỗ lực cần thiết để di chuyển sang góc cạnh.

Để trả lời câu hỏi (theo sự hiểu biết hạn chế của tôi):

Họ có thể tồn tại với nhau trong việc áp dụng JS cùng.

Bạn có thể sử dụng các phần tử giao diện người dùng của ExtJ với Góc không?

Bạn có thể đặt góc cạnh trong việc kiểm soát đánh dấu thông qua các mẫu HTML trong Ext.

Đây có phải là ý tưởng khôn ngoan không?

Có thể là không.

Tại sao tôi nên xem xét thực hiện việc này?

  1. tôi cần kiểm soát tuyệt đối trên các đánh dấu và không quan tâm đến tải trang có thể phát

  2. tôi cần phải serialize hoặc de-serialize theo một cách đặc biệt mà Ext không bẩm sinh cung cấp

  3. tôi cần phải làm một cái gì đó đặc biệt như pub/sub (vẫn hoàn toàn có thể với Ext)

Trong trường hợp của chúng tôi, nó là một bằng chứng về khái niệm cho một vài phương thức. Nếu tôi thiên vị, tôi thiên vị theo hướng ExtJs (đó là một tuyên bố rất lớn cho nền của tôi). Tôi càng phải tiếp xúc với ExtJS, tôi càng thích nó. Tôi đã sử dụng một số khung công tác trong quá khứ như Ember, Backbone, KnockoutJs và AngularJs và chúng là những công cụ tuyệt vời đang đạt đến mức độ trưởng thành khiến chúng trở thành lựa chọn tuyệt vời. Điều đó nói rằng, họ không tuân theo cùng một mô hình/mô hình phát triển mà ExtJs làm, và tôi không nghĩ rằng một sự so sánh trực tiếp là công bằng cho cả hai bên.

Nó sẽ gần giống như so sánh Ext to Node (ngớ ngẩn, tôi biết).

Nếu dự án của bạn yêu cầu một số chức năng đặc biệt mà bạn không tin là có thể trong Ext, có thể bạn thích tôi và có ít kinh nghiệm với nó. Nếu bạn có rất nhiều kinh nghiệm với Ext, và muốn thử những gì chúng tôi đang cố gắng, tôi nói đi cho nó. Sự sụp đổ duy nhất của Ext là kích thước của gói được xây dựng được phân phối. Một khuôn khổ nhỏ khác sẽ không giúp được điều đó, nhưng nó cũng sẽ không gây ra nhiều đau đớn hơn.

Cuối cùng, đối với tôi, tôi chỉ yêu JS và mở rộng kiến ​​thức của mình về cách thức hoạt động hiện tại và trong tương lai.

Đối với bài viết ở trên hỏi về sự thiếu lực kéo cho Ext: câu trả lời rất đơn giản ... nó không miễn phí, và do đó không phải là tùy chọn cho nhiều người trong chúng ta không viết phần mềm thương mại phù hợp với giấy phép .

+0

Tôi đồng ý với bạn @Shane, nhưng nếu tôi đang đi tuyến đường này có lẽ tôi đang làm điều gì đó sai và tôi phải suy nghĩ lại mục tiêu là gì và có thể có một giải pháp khác cho nó. Tôi đã từng gặp phải một tình huống tương tự, trong đó chúng tôi cần bao gồm một khung công tác khác dọc theo Sencha Touch. –

+1

Tôi nghĩ rằng cách tiếp cận đúng là sử dụng Angular WITHIN ExtJS và không ngược lại. Trong ExtJS bạn có thể dễ dàng nhúng các thẻ html và nhận được phần tử el để bạn có thể dễ dàng nhúng các công cụ góc. Có nói rằng, cách tiếp cận tốt hơn có thể là bạn học ExtJS kỹ lưỡng hơn vì bạn sẽ không cần Angular nữa. Ext cung cấp tất cả mọi thứ cung cấp Góc ngoại trừ khả năng thử nghiệm nhúng và tiêm phụ thuộc. Tôi không thấy tuy nhiên tại sao bạn sẽ cần DI trong javascript vì nó chắc chắn sẽ cung cấp cho bạn kết quả không mong muốn trong thời gian. – Lawrence

7

Trong ứng dụng AngularJS của chúng tôi tại nơi làm việc, chúng tôi đã tích hợp ứng dụng ExtJS của bên thứ 3 với nó, chứ không phải cho các thành phần giao diện người dùng của nó. Chúng tôi mở một số cửa sổ bật lên của ứng dụng đó dựa trên dữ liệu nhập của người dùng và khi người dùng cam kết dữ liệu trong cửa sổ bật lên, chúng tôi trả lời các sự kiện ExtJs để làm mới ứng dụng của chúng tôi. AngularJS đủ linh hoạt để tích hợp với bất kỳ mã Javascript/thư viện nào khác miễn là thư viện có các sự kiện công khai để phản hồi. Tôi khuyên bạn nên xem qua tài liệu Directivescope về cách tạo chỉ thị hiệu quả và phản hồi các sự kiện scope.

Cá nhân tôi không cảm thấy ExtJS và AngularJS sẽ cần thiết cùng nhau, trừ khi bạn buộc phải sử dụng nó như tôi. Có http://angular-ui.github.io/ mang lại rất nhiều cho bảng. Một lần nữa, bất kỳ plugin JQuery nào có thể được tích hợp bằng cách sử dụng các chỉ thị, bộ lọc, vv trong AngularJS. Vì vậy, bạn có thể muốn điều tra về điều đó trước khi cố gắng làm phiền với ExtJS.

+1

Tôi có thể hỏi, bạn cần Angular cho điều gì mà bạn không thể làm trong Ext? Tôi đồng ý với bạn rằng nếu một khuôn khổ có thể làm điều đó, tốt hơn là giữ cho nó càng đơn giản càng tốt. Hai khung công tác có thể hoạt động nhưng bạn sẽ luôn có mã tấm lò hơi và cấu hình của cả hai. Ngoài ra, khi nâng cấp lên phiên bản mới hơn của cái này hay cái kia hoặc cả hai, luôn có nguy cơ mà mọi thứ gặp khó khăn ... Điểm duy nhất của tôi với Ext ban đầu là đường cong học tập. Nhưng đó cũng là vì tôi không biết nhiều kịch bản java. Tôi may mắn được kết thúc với một anh chàng thực sự biết rõ điều đó, vì vậy tôi đã học nhanh :-) – Lawrence

3

Tại sao bạn cần AngularJS nếu bạn có ExtJS? Tôi đồng ý học Ext có thể hơi khó khăn mặc dù một khi bạn đã cắn qua nó không có gì tốt hơn vào lúc này. Nhược điểm duy nhất là dấu chân nặng hơn nhưng ai quan tâm? Nó không giống như nó gây ra bất kỳ vấn đề ... Chúng tôi sử dụng gì, nhưng ExtJS tại nơi làm việc và sự tiến bộ trong các ứng dụng của chúng tôi là tuyệt vời. Nó tích hợp hoàn hảo với Spring MVC. Chúng tôi không cần phải hack trực tiếp vào HTML mà tôi xem xét nhiều lợi thế hơn bất lợi: không còn thẻ viết, không có vấn đề về thẻ mở/đóng, bạn vẫn có thể sử dụng css và Ext để xử lý bất kỳ sự không tương thích của trình duyệt để bạn làm gì khác cần thêm ?? Angular chỉ là đứa trẻ mới trên khối nhưng tổng cộng nó không thể (chưa) cạnh tranh với ExtJS. Nó thậm chí không đến gần. Chỉ cần 2 đô la của tôi.

+0

Điểm tốt đẹp bạn có ở đây và bằng cách này tôi có thể hỏi bạn có ý nghĩa gì bởi dấu chân nặng hơn? –

+1

ExtJS sử dụng nhiều bộ nhớ hơn và chậm hơn so với Angular. Tuy nhiên, đó không phải là loại đáng lo ngại. Chúng tôi không sử dụng gì ngoài Ext và nó rất nhanh. Ngoại lệ duy nhất có thể là chế độ xem dạng cây có thể hơi chậm khi hiển thị khi bạn cho nó ăn toàn bộ cây cùng một lúc, thay vì tìm nạp các nút con trên mỗi thư mục nhấp ... – Lawrence

+2

Trong kinh nghiệm của tôi ExtJS có khả năng xử lý dữ liệu lớn hơn với bảng điều khiển. Nếu ExtJS chậm thì có lẽ tôi đang làm sai. Tôi không chống lại với AngularJs nhưng tôi yêu ExtjS bây giờ –

0

Sencha đang có kế hoạch thêm hỗ trợ trong khuôn khổ. Vui lòng tìm liên kết ở dưới cùng để tham khảo:

Tại SenchaCon ở Las Vegas vào ngày 7-9 tháng 9 năm 2016, Sencha sẽ giới thiệu khả năng sử dụng các thành phần, bố cục và chủ đề Ext JS trong ứng dụng Góc 2 mà chúng tôi hiện đang gọi Ext JS Bridge tới Angular 2 (còn được gọi là 'The Bridge').

https://www.sencha.com/blog/first-look-ext-js-bridge-to-angular-2/

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