Choosing the Right Front End Tools

Rick HerrmannRecently, I had the opportunity to meet with a client that was in the process of deciding on a front-end technology for their dev team to use.  They already did quite a bit of research and formed some opinions about different technologies, and wanted to get our opinion about the way they evaluated their options. One point I made early on in our discussion was that there is no one “right” answer to the question of “which tool(s) should we use?”.  

The only “right” answer is simply the one that works best for your team.  The frameworks the client was considering for their front-end development were:

Full disclosure – most of my experience with these tools has been with Angular, with a little bit of Vue.js on a few occasions. However, with the exception of using plain javascript, I believe a development team can be successful using any of these tools.  As for plain javascript, whatever you think you are gaining in simplicity, you are more than losing in needing to write all the features the framework buys you. 

The criteria that the client was using for their evaluation included:

  • Completeness
  • Unambiguousness
  • Performance
  • Efficiency
  • Modularity
  • UI Control
  • Learning Curve
  • Predictability
  • Scalability
  • Adoptability

We went through each of the frameworks and had an interesting conversation about the strengths and weaknesses of each one relative to each of these criteria.  In the end, I suggested two criteria be added to the list:

  1. Testability
  2. Availability of a CLI (Command Line Interface)

I have taken testing seriously for quite a few years now and I think it is important to use a framework that makes it easy to test your applications.  Also, having a CLI to scaffold your application as well as provide other development tooling like an http server, test runner, build step, as well as generating other application assets provides a huge productivity boost for developers.

Although the client has not made a final decision, they narrowed the choices down to React and Vue.js.  React is very popular so that is not a surprising choice, but using Vue.js as a standalone framework was not something I would have considered.  My experience with Vue.js has been for individual page level functionality on server generated pages.  It will be interesting to check back with this client in a few months and see what they settled on and how it is working out for them.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s