18

I'm really enjoying learning to use AngularJS. Now I'm looking for components I can use with it. I've been looking at Angular-UI components but I'd like to know if it's possible to use the nice, supercharged components in ExtJS. Does anyone have experience with this? Any hints or tips or Angular directive libraries?

Dr. Cool
  • 3,713
  • 3
  • 22
  • 26
  • 3
    Good Question! There is one answer so far, but there should be more! Please, anyone else who has tried this -- how did it work for you? – Nick Perkins Aug 01 '13 at 14:42

4 Answers4

10

The company I work for is making a similar move. We currently rely heavily on an older version (3.x) of ExtJS, and the effort to upgrade to the current (5.0) version is at least equal to the effort required to move to angular.

To answer the question (to the best of my limited knowledge):

They can exist together in the same JS application.

Can you use UI elements of ExtJs with Angular?

You can put angular in control of markup via HTML templates in Ext.

Is this a wise idea?

Probably not.

Why would I consider doing this?

  1. I need absolute control over the markup and don't care about possible page load issues

  2. I need to serialize or de-serialize in some special way that Ext doesn't innately provide

  3. I need to do something special like pub/sub (still totally possible with Ext)

In our case, it is a proof of concept for a few modals. If I am biased, I am biased in the direction of ExtJs (which is a huge statement given my background). The more exposure I have to ExtJS, the more I personally like it. I've used several frameworks in the past like Ember, Backbone, KnockoutJs and AngularJs and they are excellent tools that are reaching a level of maturity that makes them excellent choices. That said, they don't follow the same development model/pattern that ExtJs does, and I don't think a direct compare is fair to either side.

It would be almost like comparing Ext to Node (silly, I know).

If your project requires some special functionality that you don't believe is possible in Ext, you are probably like me and have limited experience with it. If you have a lot of experience with Ext, and want to try what we are trying, I say go for it. The single downfall of Ext is the size of the built package that is delivered. Another small framework isn't going to help that, but it also isn't going to cause more pain.

In the end, for me, I just love JS and expanding my knowledge of how things work now and in the future.

For the post above asking about the lack of traction for Ext: the answer is simple... it's not free, and thus not an option for many of us who aren't writing commercial software that fits well with the license.

domino_katrino
  • 356
  • 3
  • 19
Shane
  • 116
  • 1
  • 2
  • I agree with you @Shane, but if I'm going to this route maybe I'm doing something wrong and I have to rethink what is the goal and maybe there's another solution for it. I once encountered a similar situation where we need to include another framework along Sencha Touch. – Allan Jikamu Oct 21 '14 at 21:45
  • 1
    I think the right approach is to use Angular WITHIN ExtJS and not vice versa. In ExtJS you can easily embed html tags and get the el element so in there you could easily embed Angular stuff. Having said that, even better approach may be that you learn ExtJS more thoroughly as you won't need Angular anymore. Ext offers everything Angular offers except for the embedded testing capabilities and the dependency injection. I don't see however why you would need DI in javascript as it will certainly give you undesired results in time. – Lawrence Nov 18 '14 at 10:07
8

In our AngularJS app at work, we have integrated a 3rd party ExtJS app with it, not for its UI components though. We open certain popups of that app based on user input and when the user commits data in the popup, we respond to ExtJs events to refresh our app. AngularJS is flexible enough to integrate with any other Javascript code/libraries as long as the library has public events to respond to. I would recommend going through the Directive and scope documentation on how to effectively create directives and respond to scope events.

Personally I do not feel ExtJS and AngularJS would be needed together, unless you are forced to use it like me. There is http://angular-ui.github.io/ that brings in a lot to the table. Again any given JQuery plugin can be integrated using directives, filters etc in AngularJS. So you may want to investigate into that before trying to bother with ExtJS.

Ketan
  • 5,861
  • 3
  • 32
  • 39
  • 1
    May I ask, what is it you need Angular for that you cannot do in Ext? I agree with you that if one framework can do it, it is better to keep it as simple as possible. Two frameworks may work but you'll always have the boiler plate code and configuration of both. Also, when upgrading to newer versions of one or the other or both, there is always that risk that things go wrong... My only point with Ext initially was the learning curve. But it was also because I didn't know much java script. I was fortunate to end up with a dude who truly knew it well, so I learnt fast :-) – Lawrence Nov 18 '14 at 10:32
3

Why do you need AngularJS anyway if you have ExtJS? I agree learning Ext can be somewhat difficult though once you've bitten through it there is nothing better at the moment. The only disadvantage is the heavier footprint but who cares? It's not like it's causing any problems... We use nothing but ExtJS at work and the progress in our apps is amazing. It integrates seamlessly with Spring MVC. We don't need to hack in HTML directly which I consider more of an advantage than a disadvantage: no more writing tags, no more open/close tag issues, you can still use css and Ext handles any browser incompatibilities so what else do you need more?? Angular is just the new kid on the block but in total it can not (yet) compete with ExtJS. It doesn't even com close. Just my 2$.

Lawrence
  • 1,035
  • 13
  • 8
  • Nice points you have here and by the way can i asked what do you mean by heavier footprint? – Allan Jikamu Oct 21 '14 at 21:50
  • 1
    ExtJS uses more memory and is slower compared to Angular. However, it's not of the worrying kind. We use nothing but Ext and it is blazingly fast. The only exception may be the tree view which can be somewhat slow to render when you feed it an entire tree at once, rather than fetch the node children on every folder click... – Lawrence Nov 18 '14 at 10:09
  • 4
    In my experience ExtJS is more capable of handling bigger data with the gridpanel. If ExtJS is slow maybe I'm doing wrong. I'm not against with AngularJs but I'm loving ExtjS now – Allan Jikamu Nov 19 '14 at 14:04
  • @Lawrence Thanks for your answer. what do you think in current situation of Angular and ExtJS. My problem is we don't see ExtJs developers in the market at all here while Angular is taken too much momentum. I like ExtJs components which are very rich and more professional. your opinion please. Thanks. – Salik Nov 09 '16 at 07:01
  • I don't know any modern developers that like ExtJS. It is heavy and appears to be an all or nothing framework. There are many modern libraries far more flexible for responsive, cross browser, dynamic big-data UI development. I promise you, avoid ExtJS!!!! – Jeremy Ray Brown Apr 10 '18 at 13:58
0

Sencha is planning to add support in the framework. Please find the link at the bottom for reference:

At SenchaCon in Las Vegas on November 7-9 2016, Sencha will be introducing the ability to use Ext JS components, layouts, and themes within an Angular 2 application, which we are currently calling the Ext JS Bridge to Angular 2 (also known as ‘The Bridge’).

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

Pankaj Avhad
  • 344
  • 2
  • 3