When comparing ExtJS vs Angular, the Slant community recommends Angular for most people. In the question“What are the best client-side JavaScript MV* frameworks?” Angular is ranked 9th while ExtJS is ranked 18th. The most important reason people chose Angular is:
Angular uses the existing HTML structure and builds on top of it instead of requiring you to learn a new templating language. Because it's just vanilla HTML, it is more familiar, and easier for beginners to learn. Directives let Angular know which HTML elements are under its control, and how to use them. Being directly on the HTML it's more transparent what's going on, and it's possible to get a good idea of what the page is doing just by looking at the template. Also, it makes embedding possible, as you could have an angular app within an existing site so you don't have to rewrite everything at once.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Provides built in support for UI widgets
Huge amount of widgets available, also easy to build custom widgets by extending the available components.

Pro Professional support available
If you buy a license you can get professional support and premium forums. Support has short contact times and solutions are of great value.
Pro Well documented
ExtJS' documentation is very detailed and helpful. All concepts and parts of the framework are thoroughly explained.
Pro IDE plugins available
Plugins are available for JetBrains, Eclipse and Visual Studio.
Pro Easy reusability of code
By using the packages and custom components, code can be reused very simply.
Pro Flat learning curve
Anyone with basic JavaScript knowledge can start using this framework.
Pro Forum support
Forum support is available.
Pro Excellent design tools
Eg: Sencha Architect.
Pro Developer friendly integrated tools
Sencha Cmd, Sencha Inspector and some IDE plugins etc., are the tools which helps developers to speed up their development.
Pro Support for a composable component oriented architecture with directives
Angular uses the existing HTML structure and builds on top of it instead of requiring you to learn a new templating language. Because it's just vanilla HTML, it is more familiar, and easier for beginners to learn. Directives let Angular know which HTML elements are under its control, and how to use them.
Being directly on the HTML it's more transparent what's going on, and it's possible to get a good idea of what the page is doing just by looking at the template.
Also, it makes embedding possible, as you could have an angular app within an existing site so you don't have to rewrite everything at once.
Pro Easy and straightforward data-binding
Data bindings are done on the DOM, which allows you to easily sync data between various parts of the DOM in a very succint matter.
<body ng-app>
<span>Insert your name:</span>
<input type="text" ng-model="user.name" />
<h3>Echo: {{user.name}}</h3>
</body>
This snippet shows how the model attribute "name" is easily bound across different parts of the DOM without having to set up any extra boilerplate.
Pro Provides dependency injection
With dependency injection, you can load in extra javascript and new functionality just when you need it.
This is particularly helpful with testing as you can swap out services for test services.
It also means in single page apps you can load dependencies only as you need them instead of loading them up all up at the start.
Pro Huge ecosystem of third party components
Angular is an extremely popular JavaScript framework. Because of this, developers have developed a myriad of components which can be downloaded and integrated into any Angular application.
Pro Huge community that is quickly growing
Angular has the largest community out of all Javascript MV* frameworks and there are a lot of tutorials and guides out there for new and old users alike.
Pro All best practices
Cons
Con Completely unreliable with regard to licensing and pricing
That ExtJs is expensive is not the problem, but what they did is started completely free, then switched the licensing model when they had profited from the community. Also, they suddenly switched from a single user license to a minimum of 5 users.
Con License
Ext-JS is not for free, it comes with a license.
Con Large footprint
The library is almost 500Kb in size hence significantly affects your page load time.
Con Expensive licensing
ExtJS is free for use in open source projects, but you have to use the unstable version which is riddled with bugs. Furthermore, to build a project (even if it's open source), you have to buy their proprietary tools.
For commercial projects, it costs $665 for a license.
Con No real support
You only get a limited premium questions that could be answered via the support and if the issue is too large then you might lose all your credits (it has a credit system for support) in one question.
In addition the replies in premium forum are sometimes less thought of than you would get in stackoverflow.
Con Lots of bugs
The community is very small and this is because the licencing is very expensive. Therefore not many people to test the framework and give feedback in order to fix.
They try to do everything in house which means that a small company (linkedin shows about 100 employees) tries to imitate something very large.
The scaling problems lead to lots of bugs and instability.
Con No web-workers
ExtJS does not take into account the asynchronous nature of todays web browsers where you can do heavy stuff on the background.
Con Tooling is poor
They had a GUI architect tool, but that tool never was up to date with the current framework version. Now they even seem to have abandoned the whole architect app. Also, to build a ExtJs app you have to use their tool (and then you have to pay, from that moment ExtJs is no longer GPL). But this tool also has lots of bugs.
Con Steep learning curve
ExtJs is a very opinionated framework. You have to do it the ExtJs way or it's the highway. So, a lot of time, things in your own opinion doesn't make sense or don't work in the way you expect it.
Con Quantity yes, quality no
There is a large amount of source code that can be useful and indeed all the samples works flawlessly.
When you try to get into more complex scenarios you will find yourself in situations where things just do not work as expected. You will have to do manual work.
Con Steep learning curve
Angular isn't a simple framework, and because much of the magic goes on behind the scenes, it isn't easy to go from simply using the framework to being able to actually change how it works and extend it.
Con It is almost mandatory to use Typescript
Although ES standard can be used, most of the documentation and resources are with Typescript.
Con HTML template does not comply to standards
Attributes are case-sensitive, which is against the HTML standards.
Con Difficult to use for isomorphic apps that render the initial template on the server in a performant way. Non issue for enterprise apps.
Con Explicit configuration
Users will usually need to specify stuff that is very obvious (template location, providers etc. ).
Con Two-way data binding is often considered an anti-pattern
Two-way data-binding means that a HTML element in the view and an Angular model are binded, and when one of them is changed so is the other. One-way data-binding for example does not change the model when the HTML element is changed.
This is a rather controversial subject and many developers consider two-way data binding an anti-pattern and something that is useless in complex applications because it's very easy to create complex situations by using it and being unable to debug them easily or understand what's happening by just looking at the code.
