: This article won’t tell you which specific existing framework you must choose.With this article I’d like to suggest key elements to evaluate in order to choose one and . Premise not regret your choice For many people they could be obvious and trivial. I will therefore try to explain in few simple steps what to take into consideration for a rational choice of a to use for your projects. new framework What is the framework for? I believe the first and most obvious question should be: “What should the framework do?” but this question is often ignored due to the preference of another framework, pure laziness or other reasons. Because using a framework created to fulfill a specific purpose is easier than adapting another one to our needs. It would be like using jQuery to manipulate data structures, what would be the point?So, if your final goal is not yet clear as to what you would like to achieve, this article won’t be able to help you in the search of a framework. The more we have on the goal that we want to achieve, the better will be the choice that we will make. detailed informations What are the main features I should consider when choosing a framework? Timing Technical properties and features Community involvement Consequences of the choice The features above are not listed in an order based on priority or importance because they are all four key for a good choice. Obviously there will be some ups and downs for every framework, but those points should be taken into consideration precisely and with knowledge of the facts. Timing In a world on a rush, time is crucial. The time factor is very important when choosing a framework. Why? Because without time to study it, test it and code that framework it’s pointless to struggle. We often have a short time for delivering a project and introducing a new framework will almost certainly cause delays. Therefore in terms of planning ahead on timing we must check the that this framework will make us write. Not only the actual time that we will take to write it, but also how complex will the code that you and your team will have to write as it will also cause a not little time loss. quantity of code The level of complexity impacts also on how mantainable it will be.So the more you write code, the harder it becomes to support it later on. Let’s remind the basic rules of programming: e = mc² (errors = more code ^ 2) Technical properties and features The choice of a framework can be affected by technical aspects, by the illusions given by benchmarks of by the nice words that you could find on the framework’s documentation. , as the best way to know whether what’s promised is real is simple: testing. Do not be fooled However, as pointed out earlier, due to limited time, testing a framework might be a luxury that we can not afford, so let’s extract the most important technical feature from the available informations. Is the framework suitable to the that we have or that we would like to implement? Using a framework designed for a specific task is easier than adapting one to our needs. type structure Will it be better in terms of ? Everything might look better, but if it ends up being slower than a snail what’s the point? performace If we are choosing a front-end framework it is important to check the cross browser compatibility (keep in mind the part about timing). Last but not least: . You need to know the basics: to be able to choose a framework correctly you need to know the basics and the requirements to fully comprehend it. When you choose a framework . By this I mean that you need to know what is the purpose of a framework. If you don’t have the basic knowledge it will be pointless to learn a framework as you won’t be able to understand it completely. knowledge you obviously need to know what you’re talking about If you are not prepared, and take a new look at it. learn the basics Community involvement What makes a framework worth considering? The people that use it. Ok, but how can we figure out if a framework has an active community? There are different factors that can let us understand the involvement of the community for a certain : technology How many people talk about it on the web? How many people keep using it? How frequently does the developer answer to the issue reports? How many pull requests? These are just some of the questions that can give you some information regarding the involvement of the community. What are the advantages of a “loud” and “crowded” framework? An active community considerably increases the documentation on a certain technology, thus to research and learn about it. reducing the time needed Furthermore if the company where you work is growing, it will be much with the framework given its popularity. easier to find staff familiar Good, the community is active, but having an active community isn’t the most important aspect of a framework, what we need is a framework that fulfills our needs. The true question that we should ask ourselves once established the community involvement is: how many of these people (better if big companies in the tech industry) actually use this technology in a production environment? Finding out who uses a certain technology is far from easy, but often the creators themselves mention the companies that use the framework, and in case they did, check how they implement this technology and for which purpose. Usually the development teams of these technologies release a roadmap on their , so check what are they have in mind, as if there are no plans it might be a warning signal that says “we don’t know how to proceed” and that would mean that they would no longer support the project. future plans Consequences of the choice Before finalizing the choice we should take a moment to think about the possible of what the choice of the new framework could result in, . consequences in your development environment Remember that if you work in a , for others it may be . team harder to learn it How long do you think they may take to with it and how much time do you think they can dedicate to it? Should they know anything else before studying? become familiar learning In the beginning everything is nice, but if you made your choice without taking in account the points mentioned in this article, there will be a moment when . you’ll have to face the cosequences of your choice The choice has to be thoughtful and discussed multiple times to see most importantly what the team thinks about it, and how. Conclusions There is no magic spell that will guarantee the perfect, unfailing choice. A good article won’t make the choice infallible because there will always be the chance for an unexpected mistake. But remember: It’s not about finding the best framework, it’s about finding the right framework. Translation: Fabrice Tshipamba