The world of JavaScript is huge, rich in all kinds of libraries, modules, development environments and frameworks. This is a huge plus of the language but also a small dilemma for the beginner: what to choose for the job.
Accessibility of training resources
Beginning programmers look at the possibilities admire the homepage of the official site and make their choice. But then it comes down to additional courses, books, teaching aids and articles. And then you will know that it would be much more effective to choose another way.
The simplest thing in this case is to find good courses or mentors. If you know exactly what will happen at the training stage to work with one or another framework, it’s not worth it. A well-designed training course, as a rule protects you from third-party concerns such as self-study of frameworks or IDE. It’s only in practice.
Of course, some courses for acquaintance with the tools will still be small, you’ll need literature and not only official. Although there are exceptions. For example, EmberJS has excellent documentation with useful examples and a clear explanation. In contrast, Angular and React, where the official part is restrained but there is a whole scattering of third-party resources including video lessons where you can find answers to all the questions.
Vue is something average: good documentation and there are several cool sites and channels on YouTube.
But to work with Aurelia, a young and powerful framework you’ll need lots of luck as everything is relatively bad with both documentation and resources.
For me personally, it is more important to draw information from different sources. A different approach allows you to look at the picture more fully. Plus, this is a guarantee that you will get to the bottom of the truth and do not decide to “score” on the problem.
Popularity
The virtuoso use of a little-known framework can raise self-esteem and even become a plus to your resume but in practice the most important option should be a popular option. Here are a few reasons:
Leaders in popularity in JavaScript are Angular and React. They are quite developed and supported by corporations like Google and Facebook. Behind the leaders are Ember and Vue but they have not yet become mainstream in large companies. The rest is more suitable as a tool for the soul or for private development.
Ease of use
If you have not decided on the choice then that’s just the taste parameter. No textbooks or forums will replace personal experience. Before making a fateful choice it makes sense to get acquainted with each framework. The best way is to use in any mini-project. At the same time get acquainted with the functionality.
While working, do not rush and think about productivity. Ask yourself a few questions:
Ember is considered a very productive framework for basic projects. It comes with the CLI that speeds up the development process. This tool in automatic mode helps to create routes, controllers, components and models with their own test suites. Doing all this manually is a tedious task. When creating a new project, Ember will create a basic folder structure, install the necessary packages, build tools and the testing environment, etc. If you have never encountered a CLI before, you’ll be pleasantly surprised. As already mentioned above, Ember is a “special” framework, some potentially simple solutions are not possible.
Google also added CLI to the fourth version of Angular. You can run it directly from the command line, then enjoy a simplified development. Also in the help of TypeScript, a syntactic sugar for JavaScript, simplifying not only writing but also checking the code.
React and Vue also have their own CLIs: they are called create-react-app and vue-cli, respectively. But their capabilities are severely limited compared to Ember or Angular. This is not surprising, given the limitations of the frameworks, but in return you get some flexibility.
Conclusion
Let’s finish the obvious: no guide on the choice of the framework will give an unambiguous answer for all programmers. But hopefully, read will streamline in your head their functionality, meeting expectations and needs.