When comparing Ember.js vs ExtJS, the Slant community recommends Ember.js for most people. In the question“What are the best client-side JavaScript MV* frameworks?” Ember.js is ranked 4th while ExtJS is ranked 18th. The most important reason people chose Ember.js is:
Route handlers for the URLs can see a wide range of possible application states, asynchronous logic in the router makes sure of Promises. And implementing makes sense.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Excellent routing
Route handlers for the URLs can see a wide range of possible application states, asynchronous logic in the router makes sure of Promises. And implementing makes sense.
Pro Increased performance because similar tasks are processed in one go
It batches bindings and DOM updates to increase performance; if similar tasks are added to a batch, the browser would only need to process them in one single go, as compared to re-computing for each task one at a time.
Pro The API is easy to understand
Ember's API are really easy to understand and work with. It has methods which allow you to harness complicated functionalities in an easy to understand way.
Pro Helps with writing simple and modular code by using Promises
Promises represent an eventual state in asynchronous logic. Having promises everywhere (almost) means you could write simple and modular code, using almost any API that Ember provides.
Pro Easy to understand documentation
The Ember Guides are well structured and very well written. The API documentation is also fantastic.
Pro Complete front-end stack
Ember is practically a complete full-stack front-end framework. It comes with it's own asset pipeline, router, services etc...

Pro Minimal need for configuration
Ember follows the philosophy of "convention over configuration" meaning that it already has almost everything configured for you, so you just have to start coding and developing your project right away.
Pro Built-in router
Ember comes with built-in routing capabilities. There's no need to install third-party plugins to be able to use routes.
Pro Debugging tool for almost every web browser
Ember also has a debugging tool called Ember Inspector which is used for debugging the client side of your app.
Pro Helps developers with keeping the structure of the application clean and simple
Ember already defines the general application structure and organization for you. This was done to prevent developers from making mistakes which would needlessly over-complicate their application. While it's still possible to go out of these practices forced to developers by the Ember authors, you still have to go out of your way to force them.
Pro Out-of-the-box CLI tool which scaffolds a new project
Ember-CLI is a very useful tool. With just a couple of commands it scaffolds the code, installs dependencies and finally compiles everything itself. It's very useful to quickstart an Ember project.
Pro Uses a relatively clean and easy to understand templating engine
Ember's preferred templating language is Handlebars. This is mainly because Handlebars is a logic-less templating language and Ember tries to keep it's logic outside the view.
Another reason why Ember benefits from Handlebars is mostly aesthetic as Handlebar's clean syntax makes for easier to read and understand templates.
Finally, Handlebars templates are compiled instead of interpreted, which means that they are much faster to load.
Pro Works great with jQuery
You can use any of jQuery’s features.
Pro Useful bindings
EmberJS provides with an extremely handy feature of advanced bindings. With this you can not only set the path to the binding value in your app but also set in which direction you want the changes to propagate to (oneway
, single
, multiple
etc).
Pro Can render the page according to any of the developer's needs because of computed properties
Having custom properties in your templates is itself a huge plus but having custom computed properties is an even greater benefit, since now you can code your custom function as a property and call it from your template. Hence rendering your page exactly according to your needs.
Pro Auto-updating templates
If you've used handlebars (Ember.js's templating is powered by HandleBars) helper tags in your code (like {{#each}}
) you won't have to worry about updating your template each time you add/remove data from your page, Handlebars will auto update your template for you.
Pro Stunning developer experience
You build products instead of constantly configuring the stuff.
Pro Uses Glimmer 2, a very fast template rendering engine
Glimmer 2, a new and very fast template rendering engine written in TypeScript, is fast due to smaller precompiled template sizes, faster parsing and initial render, and compiles at runtime to extremely efficient assembly-like append opcodes.
Pro Ember's Object model makes the framework extremely consistent
Most of Ember's components come from the Ember Object Model. It's the basis for views, controllers, models and even the framework itself. This means that the framework is extremely consistent since almost every component shares the same core functionalities and properties since they are all derived from the same object.
Pro Excellent data layer
Ember provides a built-in data layer, which makes it super simple to keep the UI in sync with the back end.
Pro Continually evolving
Ember has a great core team and community of developers who are continually improving, updating and evolving the framework. The Ember team is always planning ahead and implementing the best of the latest technologies and practices, while ensuring backwards compatability.
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.
Cons
Con Steep learning curve
Ember.js has a rather steep learning curve for beginners.
Con Too large for small projects
At 69Kb gzipped, it is one of the largest JavaScript frameworks. This means Ember might be an overkill to use on simpler projects.

Con More Ruby than JavaScript
It was written as a Ruby on Rails for JavaScript. Ends up being very frameworky and having tons of polyfills and unneeded abstractions.
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.
