JavaScript Frameworks - AngularJS Vs Ext JS
Ext JS and AngularJS are two of the popular HTML5 / JavaScript frameworks for web application development. So how does one decide, which is the best out of these? Or which is an ideal framework for web application development? Is there an evaluation criterion to decide, which is superior? Let’s explore these two JavaScript frameworks and find out the dominant features, compatibility, advantages, disadvantages etc.

Ext JS 

Ext JS is a product of Sencha a software firm based in Redwood City, California. Sencha is a leading provider of open-source JavaScript frameworks and their core competency lies in creating HTML5 frameworks, they boast of 2 Million developers, 5 Million product downloads and 25 plus service partners, which amazing, considering it was established in the year 2008. 

AngularJS

AngularJS, an open source JavaScript framework is powered by Google, the world’s leading search engine and owner of several prominent web products. What makes AngularJS unique is the fact that it is fully extensible; works well with other libraries and allows declaring dynamic views in web-application, and helps extending HTML vocabulary.
In order to find out their capabilities, we decided to evaluate them on various parameters, which would allow software developers to decide, which JavaScript framework stands out.

Learning Curve and Availability of Resources

Before deciding to choose a JavaScript framework, it is important to find out the learning curve and availability of resources for learning. As many of your team members would spend a considerable amount of time learning the new JavaScript framework.

Ext JS
  • Software developers would have to devote much of their precious time to master this JavaScript framework, there is plenty to learn and understand in Ext JS.
  • The amount of code a software developer has to write is minimal, which is a huge plus for busy software developers.
  • Ext JS is object-oriented in nature, hence a user may need to have a programming background, in order to learn this JavaScript framework.
  • Ext JS supports IoC (Inversion of Control), which can be very handy in controlling the program flow.
  • All learning resources are highly organized and even a good number of video tutorials are available, which would help software developers to master this JavaScript framework quickly.
  • The adoption of Ext JS is very low, when you stack up against AngularJS, which means fewer active users and if you get stuck with a code snippet, it may be difficult to obtain a quick solution from the regular software developer forums, as this JavaScript framework lacks substantial user base.
  • Software developers would have to undertake explicit training to master Ext JS, which would translate to spending more money to learn this JavaScript framework.
AngularJS
  • The amount of code a software developer has to write is comparatively greater in some cases, which would lead to significantly higher development time.
  • AngularJS framework is object-oriented in nature, hence it is imperative to have a programming background to master this JavaScript framework.
  • Even in AngularJS all learning resources are organized systematically, which certainly does help a software developer.
  • Unlike Ext JS, statistics indicate that AngularJS has a high acceptance rate among software developers. The total count of active end-users using this JavaScript framework is relatively higher.

Cross Browser Compatibility

An important activity of software developer is to ensure that the web application / software functions well on different browsers, as these days the end-user has a lot of choice of browsers and everyone may not prefer to use the same browser. Hence JavaScript frameworks browser compatibility is notably important.

Ext JS
  • The great news it that Ext JS is fully compatible with Internet Explores 6.0 to the latest version of Internet Explorer. And it also supports all versions of Firefox internet browser, starting from Firefox 1.5 onwards.
  • It is an awesome and fulfilling experience, while switching to new releases and other 3rd party supported libraries in the Ext JS framework.
AngularJS
  • AngularJS loses to Ext JS, when it comes to cross-browser compatibility support, it is somewhat disappointing that AngularJS works well only from Internet Explorer 8.0 onwards and doesn’t support any older versions.

Ready-made Availability of Components

Ready-made availability of components helps software developers to quickly churn out a software solution, without wasting their precious time trying to code from scratch.

Ext JS
  • Ext JS has a lot of predefined infrastructure, which can be immensely useful to a software developer. All that a software developer has to know is which one to use when and wire them up. It is certainly a useful feature of the Ext JS framework.
  • However, with my experience, I would recommend you to start from scratch as a ready-made component may not be very user friendly and would require a lot of customization.
AngularJS
  • AngularJS framework offers a unique feature, where an external component based framework can be plugged in (e.g. Kendo UI, JQuery), which gives immense power to a software developer, the entire control lies with the software developer. It is as simple as ‘make it and use it’.
  • Another outstanding advantage of this JavaScript framework is that all existing applications can be easily migrated, which saves a lot of time and effort, so a big thumbs up to AngularJS for offering this incredible feature.

Single Page User Interface / Application

The popularity of Single Page User Interface / Application is growing rapidly, as these applications are known to offer a fluid user experience. Well, both these JavaScript frameworks score equally well in this segment.

Ext JS
  • Single Page User Interface / Applications can be easily created utilizing the variety of options available in this JavaScript framework.
AngularJS
  • The same holds true for AngularJS framework, Single Page User Interface / Application can be created using the numerous options provided in this JavaScript framework.

Support for Themes

Themes allow software developers to create rich and robust applications, many software developers prefer using themes, which help them to create applications swiftly.

Ext JS
  • Ext JS offers extensive themes, over 190+ themes are available, which is a huge plus for software developers using this JavaScript framework.
  • Additionally, these can be further extended depending on a software developer’s requirement. However, a little bit of expertise is required to extend these themes.
AngularJS
  • Well, sadly AngularJS offers no implicit support for themes, which is a little disappointing.
  • However, the positive point is that AngularJS is highly flexible and can accommodate other theme frameworks, which can be easily installed.

Weight and Footprint of the JavaScript Framework

A lot of software developers believe that lightweight JavaScript frameworks perform better and also function smoothly on mobile platforms. Hence, the weight of the JavaScript frameworks and also the footprint of framework matters.

Ext JS
  • Ext JS comes with a lot of weight, around .500 KB, which is considered heavy in the era of lightweight JavaScript frameworks. However, Ext JS is an intelligent framework, considering the fact that it includes components such as (CSS, JavaScript and Eventing).
  • Although, initial loading takes a bit of time, but it is quite responsive once it loads, which is certainly helpful to a software developer.
AngularJS
  • AngularJS scores over Ext JS, when it comes to JavaScript framework weight, it weighs less than 10s of KBs (It also contains Eventing and MVC infrastructure, which can be handy to the developers). Software developers have to be smart in utilizing these options (e.g. Eventing and interacting by Angular, Kendo provides CSS and HTML).
  • The Directive options provided in AngularJS framework makes the event driven functionality highly efficient, much better than .live feature in jQuery. Additionally, the way AngularJS framework handles page rendering is seamless.

Mobile Readiness

If a JavaScript framework is mobile ready, it allows software developers to enhance the capabilities of their applications. Mobile ready frameworks allow software developers build mobile apps that are robust, and which perform extremely well on mobile devices.

Ext JS
  • Ext JS is considered as the industry’s best standard UI for mobile.
  • It is a best fit JavaScript framework for creating a mobile application beginning from scratch.
  • However, it disappoints slightly when switching the applications from the mobile version to desktop and vice-versa, certainly not seamless
AngularJS
  • AngularJS is flexible enough to accommodate various popular JavaScript frameworks.
  • Not many tweaks are required for an existing application to be converted into AngularJS driven. It is a highly suitable JavaScript framework for applications at any stage.
  • Switching applications from mobile to desktop and vice-versa is dependent on the mobile plugin which is selected on top of AngularJS.

Unit Testing Framework Support (In Built)

Having an inherent unit test framework allows software developers and software testers to analyze the quality of the software code. It can further help in improving the software development process.

Ext JS
  • External unit testing framework support is available in Ext JS. Additionally, it has also recently launched an inherent unit test framework support, which could prove to be very handy for the end-users of this JavaScript framework.
  • The unit test framework support has certain drawbacks, only logical and event tests can be performed.
AngularJS
  • AngularJS scores very well in this segment; it supports all types of external framework (such as Jasmine) and also has an inherent framework (such as Protractor).
  • All types of unit tests can be performed, which is a huge advantage to software developers and software testers using this JavaScript framework.

Licensed Vs Open source

This is an ongoing debate among software developers. While a lot of developers are avid backers of open source software, there are others who point out the loopholes of open source software, especially security concerns. But again, it is an individual’s choice, which type of JavaScript frameworks they prefer.

Ext JS
  • Well, not everything comes for free in the Ext JS framework, however, you may find certain features that are absolutely free.
  • There is always a chance of exposing our code to the outside world.
AngularJS
  • AngularJS framework is absolutely free, some advantage of being powered by Google.

Data Binding and Templating

Data binding option allows software developers to establish a connection between application UI and business logic. And templating, as we all know is a way to represent data in different forms.  Having these features is a huge bonus in JavaScript frameworks, as these features can be really helpful to software developers.

Ext JS
  • Ext JS framework offers two way data binding options, which is certainly useful.
  • Inbuilt templating available, which is a big advantage for Ext JS framework users.
AngularJS
  • Even the AngularJS framework offers two way data binding options.
  • As like ExtJS, Angular does not depend on external templating library and, has the templating inbuilt.

JavaScript Frameworks – Conclusion

EXT JS and AngularJS are extremely popular and proven JavaScript frameworks. Both have their own set of advantages and disadvantages, it entirely depends on a software developer’s requirement and choice, which JavaScript framework they prefer to use for application development. I am not recommending either Ext JS over AngularJS or vice versa, the specific aim of this blog post is to highlight the various features, advantages and disadvantages of Ext JS and AngularJS, so that the end user can decide.

Author

Srikanth Varma Kanumuri was a Technical lead at Evoke Technologies. He has exhaustive experience in Analysis, Design, Implementation and Release of Java/J2EE Web Applications. He is technically strong in Java, J2EE, Spring, Hibernate, Web Services (SOAP, REST), No SQL (Mongo), Hadoop. Srikanth is keen to explore Extreme Programming (XP), Test Driven Development (TDD) and Scrum Agile style web application development.
Please follow and share

14 Comments

  1. karthik

    September 23, 2014

    Very informative, well written with apt examples and statistics. Good outlining. Helps a lot of developers/teams to decide on their future development JS framework.

  2. Krishna K

    October 9, 2014

    Very good blog for any developer who weighs between Ext & Angular JS frame work. Liked the way categorically explaining each feature/functionality.

  3. Vaibhav Kothia

    December 5, 2014

    Hi Srikanth,
    Really this is nice blog to understand very basic thing. Thanks you very much for share your knowledge.
    Thanks
    Vaibhav
    Sr.Team Leader
    (Beeline Softwares)

  4. Oleg Notus

    January 16, 2015

    Thanks a lot!
    Very detailed and useful.

  5. Mark

    February 24, 2015

    My only comment is about the templating – there isn’t an external templating library required for Angular. Did you mean something else?

    • Thanks Mark for your observation. I agree with you on that. As a result, I have made appropriate changes to the blog.

  6. Mike

    July 13, 2016

    Great comparison between angular js vs ext js

  7. Andrii

    July 13, 2017

    Angular sucks! ExtJs forever!

  8. Anil Nagandla

    January 13, 2018

    Is there any standard migration process to migrate Ext JS to Angular JS? any thoughts?

    • Evoke Technologies

      January 16, 2018

      Angular JS follows MVVM architecture. There is no direct way to migrate Ext JS to AngularJS model other than re-architecting the UI.

Leave a comment