November 8, 2020 access_time1 min read.

JavaScript is the default language of the web. When you build a website or web application, you have many frameworks or libraries to choose from. At the time of this post, AngularJS (maintained by Google), Vue.js (created by Evan You), and React.js (maintained by Facebook) are the main players of the JavaScript world but are not the only ones. Backbone.js, Aurelia, and jQuery continue to be popular and used by lots of developers. Each one of them has a large community of users contributing and supporting them.

Database choices are also abundant. In the relational sphere we have MySQL (purchased by Oracle), MS SQL Server, PostgreSQL, and in the document-oriented alternative we have MongoDB. All of them are great choices to manage your data securely.

Django and Flask (based on Python) and Ruby On Rails (based on the Ruby programming language), and PHP are also instrumentals in powering web applications.

With so many of them, which one would you consider? You could do research online, talk to friends, listen to podcasts, or try them all.

Research

From either doing a Google search or writing a Python script to scrape the web in order to find articles and opinions about the different tools, you have a big task ahead of you. The advantage of using this approach is that you benefit from the work done by those who are already using the framework you are researching. There are lots of comparisons among all these tools showing advantages, disadvantages, and reasons why they decided on a particular one.

You have saved time by following a recommendation at the expense of not knowing if it is the right tool for you.

Try Them All

That is what we did. It's time consuming compared to just following someone's opinion stating that a certain library/framework was the way to go. But when you think about it, it is worth to spend the time determining if that tool is the appropriate one because you might be using it for years to come. Acquiring knowledge and developing skills is a big investment.

We tried Angular and after version 2 was released, we looked at Vue and React. Using an earlier application written with jQuery as a baseline, we rewrote the application in both Vue and React. This parallel run allowed us to have a real side by side comparison to help us choose React as our preferred one.

Using the same approach, we decided that Postgres is our default relational database. MSSQL requires a commercial license and just managing the license compliance adds another layer to the application. In addition, we like how friendly Postgres is.

We liked Ruby on Rails but we were already familiar with Python and wanted to take advantage of all its libraries and the large amount of code available on public repositories.

Conclusion

For the most part, we try things for ourselves to determine what works for us and to make sure we don't have any regrets. In one word, we are responsible for the decisions we make.

Credits: Photo by Lee Campbell on Unsplash.