Although comparing Angular and Sencha Ext JS is like comparing apples and oranges, it is surprising how frequently the comparison is made. Ext JS 6 is a JavaScript framework well suited to create enterprise apps that scale; Angular is not really designed with enterprise developers in mind. In this blog, we will outline 8 of the most common reasons that enterprises choose Ext JS over Angular.
Table of Contents
Reason #1: Components, Components, Components!
Ext JS 6 has possibly the largest component library when compared to any other js frameworks in the market today. Ext JS 6 contains components that are optimized for both desktop and mobile devices; using a single codebase, developers can write an application for desktop, tablet, or smartphone devices. Both desktop and mobile apps can be themed to personalize the application to the company’s brand identity. Additionally, mobile apps can be themed to achieve an iOS, Android, and BlackBerry look and feel. The components in Ext JS are part of a single library, so each component is designed to work with the others.
In comparison, Angular does not come with a component library. Angular developers have to find their components outside of the framework.
Reason #2: Ext JS Has Been Battle-Tested Since 2007
Sencha was launched as a company in 2007, with Ext JS as its first product. Since then, Ext JS has been used in the production of thousands of apps. Ext JS has evolved over the years and through many versions to become a stable framework designed to help developers deliver sophisticated, cross-platform web applications from a single framework. Through this evolution, we’ve maintained our commitment to ensuring the long-term success of our customers. It’s because of that commitment that we continue to support older versions of the platform including Ext JS 3.x and above. We also offer training and migration services to customers who want to migrate from older versions of the platform to more current versions and take advantage of the latest features. We also ensured that the migration from Ext JS 5.x to 6 would be virtually seamless.
For Angular customers, the transition to Angular 2.0 will not nearly be as smooth. As many AngularJS developers are painfully aware, Angular 2.0 is a complete re-write. In fact, as of today, the release date of Angular 2.0 is still to be announced. Unfortunately for Angular developers, migrating an app from AngularJS to Angular 2.0 means re-writing their entire app.
Reason #3: A Robust Framework for Building Apps vs Building One’s Own Framework
Ext JS 6 is a framework designed to be used out of the box to create apps. Ext JS 6 comes with an extensive component library, in addition to an MVC/MVVM core; when using Ext JS, developers don’t need to spend valuable time and effort creating or sourcing components.
Angular, however, is a toolset for developers to build their own framework; not for building their own apps. Because Angular is an MVW framework, microframework developers can use Angular as a starting point to create their own framework.
Reason #4: Clearly-Defined Legacy Browser Compatibility By Default
Given Sencha’s commitment to the enterprise, we are committed to supporting the browsers that enterprises use. As of today, companies expect support for Internet Explorer because Microsoft browsers are still common within enterprises. To meet this need, Ext JS 6 has committed to supporting Internet Explorer 8+.
Unfortunately, Angular 2.0 browser support has not yet been clarified. It’s likely that Angular 2.0 out of the box may only target evergreen browsers. Much to the disappointment of AngularJS users, AngularJS 1.3 dropped support for Internet Explorer 8 in order to keep adding features. At Sencha, given our enterprise client base, we avoid making drastic compatibility changes in minor releases.
Because applications that use Ext JS 6 frequently don’t need other libraries, it is much easier to state the browser requirements for those apps. Angular 2.0 apps frequently use multiple libraries which means the browser requirements have to be the newest of all of the libraries used by the app. A developer has to keep track of browser requirements of each library used to be able to state the browser requirements of their app.
Reason #5: Integrated Tools Created With a Clear Vision and Purpose
Ext JS 6 was created with a clear vision and purpose to allow developers to create beautiful web applications that scale. All the components and parts of the framework are designed to work cohesively. Additionally, Sencha has several tools including Sencha Cmd, IDE plugins, and Sencha Inspector that developers can use to speed up their application development.
Angular, however, is a microframework that only provides a small part of the solution for creating applications. Developers frequently need to stitch together other microframeworks and component libraries in order to create a complete application. Because these microframeworks may not be designed to work specifically with Angular, various conflicts and problems can occur. Further, Angular has substantially fewer tools available to assist with application development.
Reason #6: No Need to Learn TypeScript or other tools and component libraries with Ext JS 6
Ext JS 6 is a JavaScript framework which is perfect for writing complex enterprise apps that scale. In order to use Ext JS, you need to have experience with object-orientated programming and some JavaScript. There is no need to learn how to use and integrate disparate tools and languages to get started.
Angular 2 developers will now have to learn TypeScript, an obscure programming language created by Microsoft, to use Angular 2.0. In order to use TypeScript, developers need to be familiar with ECMAScript 6 syntax which has not even been implemented in browsers today. Sencha does believe TypeScript, as a language, holds promise. However, until it is widely adopted, there will be skill differences between team members for the obscure language that will make it harder to understand each other’s code.
Additionally, Angular developers need to learn a host of other tools and component technologies. Because Angular developers need to use third party component libraries, developers need to have a firm grip on Twitter Bootstrap, Kendo UI, jQuery, Ionic, Material Lite and many more component libraries. Because there is weak mobile and desktop component integration, developers typically need to learn totally different component libraries and create separate mobile and desktop applications. Additionally, developers needs to learn other tools like batarang, karma, grunt, gulp, and many others. Quite often, these component libraries and tools weren’t designed with Angular in mind, which can often lead to a cluttered and awkward integration.
Reason #7: Excellent Design Tools
Sencha has a standardized set of components and provides an excellent set of design tools. In particular, Sencha Architect is a perfect tool to create clickable prototypes. Additionally, Ext JS Stencils can be used to create wireframes and mockups that correctly reflect the look and feel of components.
Because Angular does not include a component library, it is up to the designer to create mockups that accurately reflect the components.
Reason #8: Awesome Support and Training Options From the Creators of the Framework
Sencha has excellent support and training teams. Additionally, Sencha has a professional services team that can assist with a variety of enterprise development needs.
For Angular, like most Google tools, if you are getting the software for free, you are a user, not a customer. Support, training, and other services aren’t provided by Google for Angular products.
Ready to get started?
We strongly believe that if you are building complex, enterprise class web applications there is no better choice than Ext JS. We provide the robust set of features, services, training and support to help you succeed. Try Ext JS free for 30 days and let us know what you think.
Download Ext JS
Watch the Ext JS 6 webinar
See Ext JS examples
Good starting list. Ext Js documentation is top-notch. AngularJS doc is not too good, you will have to google a lot of information.
A win-win for Google :P
Yet why people use more Angular than ExtJS? Perhaps because of those extreme +4000 bucks per developer you have to buy which is a lot of money for single developers. I’m currently working in a team of 3 developers and I’m the only one working in the frontend. If I tell to my manager to buy 5 ExtJS licenses just for using them myself, the least he’ll call me is crazy :)
ExtJS is truly a great framework, but they have made several mistakes over the years and the worst has been having such an atrocious license system.
The apps extjs is geared towards are different than what angular is good for. However, the apps angular is good for are a lot more. The reason people choose angular more often has many sides to story sure, one of them is apps that extjs would be overkill for are more abundant.
Mario,
The cost of the license is a minor expense compared to what it will cost you to build and maintain a development stack comparable to Ext JS. Most likely you will need to purchase a set a components, a charting package and other addons, which in the long run will be harder to work with and upgrade.
Just ask yourself why AngularJS is being totally redone for the next release. AngularJS performance and scaleability problems are well understood and documented.
Apparently, even developers of the framework realized that there is something fundamentally wrong and decided to rewrite the framework from scratch and abandon all backward compatibility.
Although your argument may be valid, it is almost impossible to convince a manager to spend the bucks to pay for licensing. Licensing is a big factor of the cost when you are working with a large enterprise. When you mention a new license, the manager freaks out because he thinks he is going to be spending thousands of dollars that he doesn’t have in his budget.
No my friend, the only way that Sencha is going to be evangelized is by the lowly developer by him being able to afford to buy his own licenses and demonstrating to management what they are getting. The only way that is going to work is for the software to be affordable by the developer. At one time this was the case, but no more.
Like it or not AngularJS is “free” and that is all a manager needs to hear.
The licensing with Sencha is a joke, and when you are a student, free makes more sense. If you can’t get students to run with your product and talk it up to Tech managers, then you will never get it to filter back into the main stream.
If your manager has a short-term vision like that I would search for another opportunity. You could never build and maintain those components and apps alone. Out-of-the-box you have all the parts to build great apps.
On the other hand, maybe you are not the target audience of Sencha. You can never build and maintain enterprise software with one front-end developer. And that is exactly what you build with Sencha products.
Very good framework build with a long term view.
Licence system is controversial but the gain of development time is more important that price !
“Angular 2 developers will now have to learn TypeScript, an obscure programming language created by Microsoft, to use Angular 2.0. In order to use TypeScript, developers need to be familiar with ECMAScript 6 syntax which has not even been implemented in browsers today. Sencha does believe TypeScript, as a language, holds promise. However, until it is widely adopted, there will be skill differences between team members for the obscure language that will make it harder to understand each other’s code.”
TypeScript is optional in Angular 2. Calling it “obscure” just seems like you’re trying to pick a fight. TypeScript is a superset of JavaScript. All normal ES5 works just fine. TypeScript’s “obscure” features are ones that exist in a lot of other languages like C#, Java, etc. Mostly they exist to help you write clean readable code (so that the IDE can analyze it for intellisense).
Also your reasons #1 and #3 are basically the same thing, you have a lot of widgets.
I have to admit, I haven’t played around with ExtJS for about 5 years. I don’t remember what version it was, but I did think it was pretty cool at the time. I’m sure it’s great now as well, and there is certainly something to be said about having a complete framework that you don’t have to cobble together from 1000 other open source libraries.
The reason I stopped by here to write this is that it really reads like you’re attacking Angular & TypeScript for no reason, especially if your bankrolled enterprise clients are already choosing ExtJS. Seems like you could just talk about how great your framework is for Enterprise without even bringing up Angular or TypeScript.
#1 and #3 are similar but not the same. #1 is all about components/widgets. #3 is about the whole framework/library. Read the first sentence in each paragraph again. extjs is a framework, angular is a library that can be used in a larger framework made up of a set of libraries.
Perhaps it is me, but AngularJS is a very different framework with other design principles. Comparing ExtJS and AngularJS makes no sense to me. I however am puzzled why Sencha is deliberately trying to gain bad publicity by posting fantastic articles like the above!!??.
Gevik,
Comparing AngularJS to Ext JS is like comparing a bike to an 18-wheeler because they are both used for transportation.
However, some companies try to cobble together a development stack where AngularJS is used as a base library, and then they add typically a paid-for set of components such dhtmlx and a charting library such as Highcharts, etc.
The mix-and-match approach IMO is not cost effective. If the cost of ownership is a concern, you’d be better off purchasing a complete solution from a single vendor.
I agree with Gevik. It won’t be fair to compare Angular and ExtJS, as rightly mentioned by Shikhir comparing apples and oranges . ng and ExtJS both are amazing frameworks and should be considered as a part of the solution based on various aspects. I have been using ExtJs from last 7 years and I must say, I have never seen such well documented api…kudos to Sencha ExtJS team..this is something angular guys have to really work hard…their documentation is no where close to what ExtJS offers.
Sencha decided to approach enterprises instead of the single developers. That is the main reason Sencha changed its license model. I am not blaming them people since they exist as a company in order to make money to pay its employees and the money is in the enterprise sector not the single developer. They do have an open source option though thus you can still learn.
AngularJS is suitable for every possible project if setup CORRECTLY. We are using AngularJS but not that the rest of the dev team is quite happy with it. AngularJS is very easy to built something fast but fairly easy to mess things up as you go. That is why John Papa has a style guide available. More over a lot of the concepts of A1.x are only useful TO A1.x.
We are using ExtJS grid from a old license since its one of the best available grids but going full ExtJS was tried but eventually dropped due to the programming model of ExtJS having a steep learning curve for junior developer and non frontend oriented devs as well.
However, the steep learning curve is also the advantage of ExtJS since the dev team that will use it will speak the same language so to speak.
So maybe the article is OK when talking about enterprises but please notice that it is easier to find A1.x devs than ExtJS devs.
@Les Anyone who know who you are won’t start a fight with you on Angular vs ExtJS theme.
There are points here which are completely wrong and anyone familiar with ExtJS will agree with me. Saying that Sencha provides Awesome support is… well, Sencha has a terrible release cycle. They have lots of bugs in every release, which is OK, but they should release more often, at least with a montly basis. Do they do that? Nope. Their customer which pays high license prices, have to wait several months to get a release. Yeah, sure, you can get the nighly builds, but those are not official bug releases. Also they switch main version quite often. And of course after each change you have to pay.
Also, TypeScritp/ES6 is just awesome. No one can deny that. Is the best thing that happen in the JavaScript world in many years. Yeah, it isn’t supported in all browsers, in fact, even Chrome only support a few of the the features. But who cares, we have Babel for that. We are developers, we focus on writing good, nice and maintanable code, and ES6 is a huge step forward in that. I’ve seen comments of Michael Simoens saying he doesn’t like ES6 syntax, everyone has his right to have his own oppinion. Probably Sencha team as a whole agree with him, probably not. But the fact is that ES6 is standard now and the huge majority of developers enjoy working with it.
TypeScript has is own futures which are not standard, not many but is has a couple of them, but you can live without them if you want and still remain in ES6 coding standars.
Also, is true an amazing that you still support IE8. In your market this is really needed, but many of us only need IE9 support. Supporting IE8 has its pros and cons. We could argue that you are supporting the old, bad IE8, perhaps if you as a great company drop IE8 support that will force your customers to move to IE9, which will be awesome.
Lastly, leave Angular in peace. Is widely known that Angular actually is not the best framework out there. But even with its many issues, is yet by far the most widely used Javascript framework, and its dominance is only menaced by React, not by ExtJS nor any other framework. I know too about another amazin framework which I really love: Aurelia, but is just starting to gain a lot of traction.
ExtJS is not gaining traction, instead, is loosing a lot against all this frameworks, even being a full stack framework with the biggest widgets library of all frameworks.
Worst error ever made by this company was trashing single developers license. And that is a fact.
Regards.
I agree with Mario.
Now that even the GPL license for GXT 4 is abolished, it is only a matter of time before the rest of the GPL licenses are also gone.
It makes me very sad.
Because it’s a great framework.
I have already implemented several projects with it.
Calendar, Email Client, Project management, financial accounting, and so on
My clients are small companies “Fitness Center, Images shops”.
This can or want the money for a 5 developer license not spend.
Therefore, here still set to EXT 3-4.
I currently take part in training and use online workshops to educate in other frameworks because I see no future in EXT and that makes me very sad.
For something similar check openui5 from SAP.
Don’t forget original slogan for Angular was “framework to build frameworks”.
Then ask yourself, are you in business of building frameworks, or are you in business of building apps?
7th year with ExtJS now, the framework is better than it has ever been, the support is solid, and the pricing is CHEAP! If $5k for a license as an issue for you, how much are you planing to profit from you product? Is that even a product worth building?
I WANT you to use AngularJS so that you can always be one step behind someone like me, who’s using ExtJS.
Comparing ExtJS to AngularJS and jQuery like you do on this blog doesn’t make much sense. While AngularJS and jQuery are mostly used to build relatively simple websites, ExtJS is tailored for building complex web applications,
You should compare it to other similar frameworks like qooxdoo, Kendo UI or Open UI5.
Tomas, did you carefully read the article? It clearly states that these two libraries should not be compared. However, surprisingly this comparison is often made. The article does a thorough job explaining why Ext JS is a much better fit for enterprise developers.
“Although comparing Angular and Sencha Ext JS is like comparing apples and oranges, it is surprising how frequently the comparison is made; Angular is not really designed with enterprise developers in mind. Read about the 8 most common reasons enterprises choose Ext JS over Angular.”
I love ExtJS, specifically code structure and components. But the price for single developer too expensive. As you might guess all companies not the same level. You should change license type on premise to yearly base like Adobe and JetBrains. They work with enterprise companies as well. Especially I like JetBrains license type. If you buy an application, you can use this version after subscription experied until decide to use new major release.
At least this is a fact: https://www.google.com.sg/trends/explore#q=extjs%2C%20angularjs&cmpt=q&tz=Etc%2FGMT-8
Ken, instead of trying your little “running” dog trick, why don’t you instead ponder the 8 points listed in the article. Thank you.
When you have a crappy documentation, people will be googling you a lot more. ExtJS has industry-leading docs and guides and I don’t recall the last time I had to Google “how to do something in ExtJS”.
Look at the search queries in the Google Comparison you posted. Top Angular queries are “tutorial” and “how to combine with bootstrap”. This is merely a reflection of how poorly documented Angular is and it is only “one piece of the puzzle”.
I can’t agree with that.
>>ui : String
>>A UI style for a component.
>>Defaults to: ‘default’
This is what sencha docs says on Button’s ui.
Thanks Cpt. Obvious (who wrote like ~80% of docs). Did they mention this small issue https://www.sencha.com/forum/showthread.php?271359-Trouble-with-custom-UI-and-themes. ? Nope.
Angular docs are not complete, but they mention things that matter instead of generated documentation like “padding property defines padding (but we will not provide you with damn examples and with definition of units you can use for padding and with difference about `padding: 10 vs padding: ’10px’` because – go to our training and pay big bucks for it)”. And if something is missing from the Angular docs – you can look into source code or google for answer and find something that is more relevant than answers from 2011.
If Ext-JS is so great today, Remind you have to thanks his community. (Open source community too)
Instead you remove single developper licence. You remove GPL licence (there is no GPL version of the latest ext-js release)
Now calculate in this community, how many percentage of people are big customer ? (are they contributing to ext-js?) How many percentage are single developper ? how many percentage are open source contributor.
Who is responding to bug ? who is giving override solution in waiting bug fix ? Where are shared GPL piece of code ? Take just a look at the forum, This is a list of unanswered topic ! Everyone left the ship ! Who is envangelizing Ext-JS to bring more customer ?
What about your great contest about theming, so many people to participate ?
All this people helping you to make a great framework, you’re just fisting them now because you have a good product over all other framework. You want to keep only people that have big wallet.
Now you know why Ext-JS community tumble and why aller single developpers and open source contributors are going on angular. In 2 years we will see what Ext-JS does without his community vs AngularJS or other framework that are not fucking their community.
Hard to argue with that :(
Actually! GPL is still there: https://www.sencha.com/legal/GPL/
They just keep hiding it in a different spot with every release. Consider it easter egg hunt :)
Only 6.0.0 is available in GPL.
The latest version is 6.0.1 available only for customers
Sort of…
I think what has some people nervous is that the most recent Sencha release (GXT 4) specifically did away with the GPL license.
https://www.sencha.com/forum/showthread.php?305528-will-be-there-a-GPL-version
So even if Ext GPL is still a thing right now for version 6, at what point will the hammer fall and the GPL license be killed off for Ext as well? Sencha needs a clear, stable licensing policy even if they intend to focus on enterprise customers.
Sencha has not done away with the GPL license for GXT or for Ext JS. We know that many organizations rely on the GPL versions of our frameworks and we have no plans to eliminate our GPL licenses at this time. For GXT 4.0, the GPL version will be available in the March timeframe. To learn more about the Ext JS GPL policy visit: https://www.sencha.com/legal/gpl/
We appreciate the ideas, suggestions, and product feedback that our community members have provided throughout the years. It is this feedback that helps us to continue to improve our frameworks and help you deliver a great user experience to your customers
Shikhir Singh
Sr. Developer Relations Manager
t: @shikhirsingh
l: https://www.linkedin.com/in/shikhirsingh
Before I put my 2 cents in, I’ve been an avid ExtJS developer for 3~4 years. I’ve even taken the professional course for both ExtJS 4 and 5. The instructors are damn awesome! During the ExtJS 4 era, there really wasn’t much choice to pick for JavaScript framework to do the front-end. ExtJS 5 came around and added some more widgets, dual bindings, and improve the overall framework. The widget library are top notch and their MVVM are really well done. After 3~4 years, all I really knew was making ExtJS application because I wasn’t so good at HTML/CSS… I just felt ‘trapped’ and knew I’ve had to move on. Now, I know lots of tricks of CSS 3/ Flex Layout / SASS that I feel comfortable creating a complex layout using pure CSS… By all means, I’m not a total CSS noob. I’ve done many times in ExtJS where I’ve had to access a dom to add more custom events or change the content itself. I even created custom Chart object using D3. But, I’ve always cringe whenever I had to view the real HTML code that was generated by ExtJS. Not saying it’s a bad HTML and I’m sure it’s excellent. Since I didn’t write it, I really don’t know how all those tags equates to beautiful layout and widgets. I just took it as granted and got addicted to it by believing ‘No HTML! No CSS!’ (at least 95% of the time). At the end, it was just no longer fun to program in ExtJS and only way to grow as a web developer was to part ways. Writing an app using pure HTML/CSS/Javascript isn’t bad as during ExtJS 5 era. Many thing have changed and I feel they are much easier to write than before. Good bye and maybe I’ll come back in the future. Keep up the great work!
I don’t understand why Sencha is opposing to Angular strategically speaking.
See jobtrends : http://www.indeed.com/jobtrends?q=sencha+or+extjs%2C+angular+or+angularjs&l=
while a win-win for Sencha would be to migrate to angular core and become the BEST integrated component set on the quickly growing market !
Vitaly, why would Sencha do this if even Google doesn’t eat its own dog food? All major Google applications still use the Google Closure API, not AngularJS.
AngularJS is being currently rewritten because it has fundamental problems with scaleability and performance. It’s too early to say if Angular 2 will be much better.
The initial release of Google Closure was widely ridiculed as an example how no to write JavaScript.
http://www.sitepoint.com/google-closure-how-not-to-write-javascript/
Maybe because sencha needs desparetely to increase its ecreasig market share (according to jobrends). I know many enterprises who have have already chosen Angular, doesn’t matter for what reason. Now, they will never come to Sencha, unless Sencha releases Angular JS version (probably angular 2) and become the best in angular world, Because no angular components are at the same level as extjs. It’s not a question how bad you think angular is, It’s a question of how good other people thinks it is,
I’ve seen a project rejeted ExtJS, just because it was falling in jobtrends. He said “it has no future”. That was not a technical guy, but he trusted the market.
Cheers
Fascinating discussion. As a developer who started in 80’s supporting/extending ERP systems on IBM mainframes with CICS/COBOL and then on IBM’s i5 (AS400) server for past 25+ years, I’m sure I have a view very few of you can have. I know nothing about Angular, other than reading it was the top used JS development tool. I didn’t even know it was Google product, though not surprised by it. I’ve been using ExtJs for a few years now because it is part of an IBM i5 product created by CNX Corp.
Since i5 is all about enterprise and business, reading this blog made it very clear why ExtJs was chosen by CNX. And as someone spoiled by the integrated IBM world, I’ve despised the word “framework” since the beginning of the internet age. The loss of productivity spent cobbling all these tools together before you can even begin to solve the business application was mind blowing. ExtJs behaves like a high level language that I’ve been used to all these years. Combining that with the native programming languages, integrated DB2 database, and integrated Apache server on the i5 to provide the business data, it is a powerful solution.
What is different from my day was this idea of single developers, the App Store paradigm. There was no such thing back then. You worked for a business supporting ERP or you worked for a software company. You may of been a contactor/freelancer doing those things also. But to just be a guy grabbing free (or almost free) development tools and creating applications is amazing. So your comments on licensing are very interesting. But just realize how lucky you are this is even possible, Those development tools used to be part of a very expensive server you had to buy. Now, you are unhappy at $4-$5K in licensing cost to create products that could potentially make you millions.
Enterprises definitely have different needs that what these single developers require. ExtJs fills that enterprise need. Whether it is the most popular community or has higher licensing cost is certainly irrelevant in my use case. But keep history in mind as some of you complain about this and be grateful you have opportunity to use either ExtJs or Angular.
Enterprise love alone is not enough to avoid its (Ext JS) fate. At this moment, when a developer gets to choose what fx to learn next, Ext JS is not at the very top of her/his mind. Of course this will add value to that stagnant pool of devs, and you’ll see the Ext JS developer being revered in the same way as the AS/400 devs today.
As React steals the limelight away from Angular, this will only get worse.
I think Sencha is making a big mistake by cutting themselves off from where mainstream developer mindshare is. Sencha should be embracing the new standards and design patterns which are prevalent today, and be at or ahead of them. Kendo UI is demonstrating this. I don’t think the legacy browser thing is an argument anymore, and if a customer is concerned about that, let them use Ext JS 6. I believe Sencha needs to break off the Ext JS UI components into its own library, as Kendo has, and be easily integrated with the open source world, including Twitter Bootstrap themes, web components, Angular directives, Gulp, etc. Then focus on other developer productivity products, besides build tools and MVC. Look at Telerik as a role model for where you need to focus on.
I forgot to mention also: ES6. And if you’re not ready now for all that, you need to put out a strong message that that is the direction you are going. Because developers will abandon you if they think you will continue to go down your own lonely road farther and farther away from modern standards.
ExtJS is not bad, though my issue with it – the amount of people using it these days (or the amount who are searching for help with it). Try running into an issue and Google for help – you’ll most likely find the question asked in 2011 without a valid answer. Leaves me crying.
Well, I’ve been working on a “enterprise” ExtJS application for the last 4.5 years (currently on version 5 of the framework) and that enterprise customer has dumped ExtJS in favor of Angular 1.4.9 despite our groups protests (main one being versioning of 3rd party controls and consistent environment)
What said, when I come here and see statements that “TypeScript and Ecmascript 6 (ES2015) are “obscure” I really start to wonder about Sencha’s future. WebComponents and Ecmascript 6 are the future and if you are not getting on-board with that today, then you will be the obscure subject fairly soon.
If you guys are smart, you’ll be offering a web component version of all your controls in the next year or two and make the the basis of your business model as monolithic frameworks be it ExtJS or Angular 2.0 will be avoided by big enterprise not wanting to tie themselves to closely to one framework for everything. Small projects fine, huge ones, no.
Polymer 1.0 (more importantly web components) and TypeScript are beacons of hope in what is a mess of frameworks today and if you don’t get that, then you’re on the wrong path.
Hi,
My two and a half cents.
First comparing ExtJS with Angular is like comparing Apples to Oranges.
Angular is not for doing Database heavy applications,with hundreds of screens ,and
dozens of componets in every screen.
Angular is for creating Webstores,to sell books and shoes online,more pictures than inteligence.
The real comparison should be ExtJs vs Dart+Polymer,and maybe vs ReactJS.
The Pros of EXTJS
ExtJS development and tools just feels right to develop ERP/CRM applications.
You don´t have to know HTML,You create your UI just like Delphi or C#,much cleaner to understand,It is hard to get used to Polymer and impossible to get used with ReactJS in this sense.
There is not even close to Sencha Architect,Polymer Designer is a toy if compared to it.
For me EXTJS ias Delphi for the Browser,really amazing,something that Borland,Embarcadero and Microsoft were never able to do.
Sencha Components are like the VCL for the Web,realy powerfull for what it does.
But here stop the pros and start the cons.
First:
Dart is the best language ever developed in my opinion,the guys took everything that was good in every language and throw away the garbage.
It has jut one level inheritance,and mixins to do complete it.
Design time enforced type cheking.
String Interpolation.
Tree shaking.
Dart is what JS should have been.
If compared to Dart TypeScript is a toy.
Web Components are a revolution,Sencha is the best today,but won´t compete with WebComponents in terms of performance.There is a lot to be done in Custom Components like Polymer,but things are going along fast in this area.
Polymer and React have clear advantages when you´re loading a page for the first time,the way they use shadow Dom,load images,many thing happens in the same time,but “all this magic” are more important to create Web Stores,not ERP and CRM.
At least for me REACTJS is a mess ,just impossible to make a Payroll ,or a financial system with it.
I´m folowing Dart+Polymer for two years,it seems that Development will never fill right to me,not because I´m used to do só,but because it is the most productive way of developing ERP and CRM alike stuff.Polymer people think they created a ridicolous productive enviroment,because they´re comparing to raw Ajax development,and maybe Jquery.
But the comparison should be done against something Like EXTJS,and by no means it compares to it.
Extjs is really,really expensive,specially because Google,and Facebook donate their software.
But Even for commercial products Extjs is expensive.
I´m posting this both in Extj and Polymer and Dart Groups,I know people would probably throw shit on me,but I want to know if there are more people that think like me,or I´m too old fashioned.
I really had no time to compare Sencha Touch vs Flutter Yet.
Great article. Thanks for putting this together. Looking forward to more of this. I found an interesting article regarding Extjs here you can find it http://goo.gl/dKOzhO.
Thank you for posting and this can be a guide for me. The ideas cannot be ignored. http://bit.ly/28ZgHVH
Some of these points are just plain wrong and the author seems to be unclear as to what constitutes as a framework.
#1. Angular isn’t a component library, it’s a framework. Wijmo provide enterprise quality components for Angular 2. So Angular 2 + Wijmo is a fairer comparison. Sencha confuse matters by assuming that a framework must include components. That’s simply not true.
#2 “For Angular customers,the transition to Angular 2.0 will not nearly be as smooth.” Comparatively speaking, the transition from any modern JavaScript framework to ExtJs is a nightmare as ExtJs seems to ignore many of the advances made in modern web development.
Hover states on buttons? Nope, let’s add JS classes…
Your content scrolls off the page? You’ll need to setup the container to be scrollable, instead of assuming native browser scrolling works. ExtJs has been clearly created for Silverlight & Flex developers. Want to use ES6? Nope. Classic vs Modern toolkits – confusing, especially when they’ve completely different components. Consistent & clear documentation? Nope. Better run ESlint to make sure your Javascript actually looks like Javascript. So let’s not lose sight of facts here please.
#3 Angular 2 is a framework. It is not a starting point for creating your own framework.
ExtJs confuses matters by bundling a component library with its framework. Angular 2 + Wijmo would be a fairer comparison. Again, please stick to facts.
#4 Angular targets IE9+ as far as I’m aware. Enterprises are always going to be behind, but with Microsoft dropping support for older versions of IE, this is less of a problem.
#5 Let’s address the first part. Sencha Cmd is a memory hog. Right now, I see that sencha.exe is taking up 927,628k of memory (and climbing) sitting idle. Gulp or some npm scripts would yield much better results, guaranteed. Right now, Cmd is quicker at building JS than it is CSS o_O
The IDE plugin is broken with the latest version of Webstorm.
Many other framework have something like Sencha Inspector (React, Vue.js etc.). A simple search will yield results.
Sencha charge for a testing solution built on top of Jasmine, which is open-source, so right now, some enterprises simply aren’t testing their apps due to the added cost. Ridiculous.
Angular is a full clientside framework, not like React for example which aims to just tackle the view layer. So Angular doesn’t include enterprise components, which is good. It means that the framework itself remains open-source and third parties can provide enterprise components (which they have). Angular is not a micro-framework. By comparison, ExtJs reinvents the wheel and doesn’t embrace modern JavaScript (ES6/ES2015 has native class support). Typescript adds strong-types, something enterprise developers would appreciate and they get the benefits within their IDE without requiring a commercial plugin. Webstorm has support for Angular and Typescript out of the box…
#6 I agree with the majority of this statement, but it’s more indicative of the greater JS community which favours small individual modules that do one thing well and allows developers to build a stack that suits them best ie. see npm. However, Angular-CLI takes care of much of this, including scaffolding, testing etc.
#7. Again, I think we’re confusing what constitutes as a framework and what constitutes as a component library. If I used Angular, I could go with Wijmo or Kendo UI for a component library and use whatever tools they provide.
#8 There are far more resources for learning Angular than there are ExtJs. Take a look at Egghead.io, Pluralsight, Manning Publications etc. There are also far more community efforts with regards to meetups, conferences, third-part instructional material etc.
Please don’t post such click-bait material before double-checking all facts (though I know some of the issues I touched on have only been addressed by the Angular team since this article was written).
Personally, I think that Angular 2 is in a great place to gain enterprise adoption.
Its a shame that this comment is so far in the comments list so most of the readers wont even see it. This should be the first one. :) great comment.
PD: in #7 you may check for Prime UI component library
TypeScript is an obscure language? That is silly, It’s a superset of JavaScript so it can’t be that obscure
Your blog is very nice…Thanks for sharing your information..
It supports both MVC and MVVM frameworks. As ExtJS application size and complexity increases, Sencha Touch and Ext JS can be augmented with Deft JS to add an Inversion of Control (IoC) container, for dependency injection and dynamic application assembly.
Excellent post! I got valuable information here…..Thanks for such a piece of excellent information…Keep Up!