What's it gonna be?

Angular, Ember and Vue: Is choosing a framework simply a matter of taste?

Julia Kravchenko
Angular

© Shutterstock /  Maksutov

How do we choose between frameworks? There are pros and cons to each choice. But, in the end, does it all come down to personal preference? In this article, Julia Kravchenko explains the advantages and disadvantages of three different frameworks – Angular, Ember.js, and Vue.js.

Originally designed for the web, nowadays JavaScript takes firm positions both desktop and mobile app development. In Tiobe Index its position has been fluctuating between 7th and 9th place starting from 2002 (15 years already!) which proves the popularity of the given programming language.

And one of the reasons why JavaScript became so widespread is the elegance of its frameworks which significantly simplify coding due to certain functions they perform. Generally speaking, one can create a JavaScript solution with any framework, but when it comes to time and efficiency matters, it’s better to choose wisely.

Today, we’re comparing three front-end libraries – classic Angular, Ember.js and relatively recent Vue.js.  Why these ones? Angular is probably the framework stably associated with JavaScript and it has got lots of adherents. Vue.js stirs the interest of 49% of non-users who would like to master this library. And speaking about Ember.js, it attracted my attention when I was scrolling a developer’s forum and saw the phrase that “using Ember or Vue is a matter of religion”. Thus, I’m curious if they are really the same? Let’s have a closer look at their distinctive features, pros and cons.

Angular

By definition, Angular is a MVW framework. Initially released in 2009, it has quickly risen to the top. Angular has received 56,478 GitHub stars. Here are a few of the sites Angular is used for: Vevo, YouTube, LiveJournal, Freelancer, Udemy, TopCoder, and Telegraph Web.

Although it was released eight years ago, this front-end framework still holds its’ position at the top of the pack. Despite its age, an impressive 47% of its users are fully satisfied with the tool. However, some developers assign this success to Angular’s biggest supporter, Google.

Pros:

1) Quick code production;

2) Quick prototyping and dynamic single page apps creation;

2) Two-way data binding with the DOM (Document Object Model);

3) Intuitive alteration and UI design;

4) Easy to test;

5) Directives;

6) HTML templates.

SEE MORE: Angular: One framework

Cons:

1) Difficult to learn;

2) Hard to debug scopes;

3) Complex syntax;

4) Hard to use directives;

5) Issues with documentation;

6) Angular uses MVC.

Surprisingly, I came across an opinion that fast pace of this framework development is also a major drawback. Hardly get programmers used to the one version, the next is released.

Ember.js

 

Called the best JavaScript framework in 2015, Ember.js is an open-source MVVM framework for creating one-page web apps. It combines the best features of its predecessors and competitors, like Angular and React, which makes Ember.js a perfect tool for creating complex multipage apps. Originally the framework was developed by SproutIt, but nowadays it gets support from Apple. It’s used for TinderBox, Netflix, Apple Music, Yahoo!, LinkedIn, PlayStation Now, and Vine.

Pros:

1) High performance;

2) Faster development due to Ember CLI;

3) Understandable documentation;

4) Two-way data binding;

5) Well-organized;

6) Own debugging tool (Ember Inspector).

SEE MORE: Frameworks, programming languages: Coding from scratch vs. using a framework

Cons:

1) Complications with processing quick changes;

2) The heaviest of the frameworks;

3) Smaller community and extensive amount of outdated tutorials on the web;

4) Difficult to learn;

5) Too big for small projects;

6) Slowly release new versions with few new options.

Vue.js

It often happens we don’t trust young specialists as we consider them to be less experienced and lacking knowledge. On the contrary, the recent technologies attract us more as they take into account the drawbacks of the previous tools. That’s the short story of Vue.js success. Developers made Vue.js as simple as possible and came up trumps – 88% of users are happy with using the Vue.js framework. Vue is used for Grammarly, Alibaba, Baidu, and WizzAir.

Pros:

1) Easy to learn and easy to use;

2) Lightweightness;

3) Well-written documentation;

4) Narrow usage (creates user interfaces for the web);

5) Applicable both for simple and complex apps;

6) Can be used to develop and an app from scratch or to add new features to the existing one.

SEE MORE: What do frameworks have to offer that programming languages lack?

Cons:

1) Relatively small community;

2) Monopoly on project development (owned by Evan You);

3) Difficult to recognize because of flexibility;

4) Lots of plugins are in Chinese:

5) Not descriptive runtime errors in templates;

6) Lack of stable components.

Conclusion

So, personally, I would abstain from calling framework choice “a matter of religion”. I believe in them all, but the issue is if it suitable for your project or not. Now, with perks and drawbacks in hand, you can take a decision faster and more efficiently.

 

look around, look around at how lucky we are to be alive right now

Author

Julia Kravchenko

Julia Kravchenko is a Partner and HR VP at Qubit Labs, a custom software development company. 10+ years of experience in IT industry allow her to consult people on tech issues and write detailed articles on various topics, including software development, gadgets, marketing and outsourcing.


Comments
comments powered by Disqus