Default Banner

Choosing the right front-end framework for your SPA

18/09/2018
Choosing the right front-end framework for your SPA

The question that every developer asks before starting a new front-end single page application (SPA) project nowadays is “What is the right JavaScript framework to use?”

Choosing the right tool for the job is not an easy task when having dozens of libraries and frameworks available, many of which can be used to develop a high end project. Having multiple options sometimes brings increased confusion but every developer has to keep in mind that the framework chosen could potentially make or break a project in the long run.

In this article, we will discuss different factors and questions one has to consider before starting a new project. These will generally help the developer ease the process of making the right decision in choosing the right JavaScript framework.

Do I need a framework?

The first question that comes to mind before starting a new project is “Do I really need a JavaScript framework?” Some developers argue that using pure JavaScript is the way to go, especially when developing a small application. Until now, I’ve always chosen to use a JavaScript library mainly because of the size of the application being built. However, there are some other aspects that should be taken into consideration such as upcoming future updates, which could complicate a project due to unsupported updates. Another factor to consider is security, since it is now the norm that high security measures are being implemented daily to mitigate risks posed by malicious users. Other issues to consider include browser quirks, new technologies and much more. Addressing some of the measures mentioned above may mean having to rebuild everything from scratch, which is both time consuming and may also increase the margin of potential errors and bugs.

Productivity and learning curve

Another aspect that is really important is productivity. Here we need to ask which framework will help the developer to be most productive. What languages do the developers know? Sometimes, choosing the most productive framework is not the best idea. Having developers that are not familiar enough with the framework could lead to more problems and complications. Knowing a framework is not so easy and surely not something which can be learned by following some simple tutorials. In fact, ongoing practice is necessary. With a new framework comes a new learning curve and in some frameworks this might considerable, especially if the languages used are not common, such as typescript and JSX for Angular and React respectively. In my opinion, one should never start a big project with a newly learned language. Instead, it would be ideal to start with a small application. This will result in knowing the core functionalities well and then continuing to build on this gained knowledge with each new project.

Learning resources

When using a framework, especially for the first time, you have to be sure that proper documentation, courses, tutorials etc… are available to support you. These are very helpful to get you started into building a project and will be indispensable when faced with difficulties in coding a core functionality or similar. Always keep in mind that good documentation alone might not be enough. Having actual code examples for core functionalities and problems will help you further in learning the proper aspect of the framework. Taking into consideration frameworks such as React and Angular, there are plenty of resources available that are very helpful, including online video courses, which tackle basic to advanced functionalities. On the other hand, frameworks such as Vue and Ember JS are in middle ground with good documentation and few resources.

Popularity

Popularity is something that needs to be tackled more from a business perspective rather than a development perspective. Using a framework that is unusual and not widely used might have serious repercussions. An uncommonly used framework means less amount of developers are available as resources and if a developer leaves the company or the project is growing and one needs to hire more developers, it can become challenging to find the appropriate candidate for the job. Frameworks that are leading in popularity right now are obviously the aforementioned React and Angular, both of which are used and backed up by Facebook and Google respectively.  

Maintenance and longevity

Maintenance is something that is not usually considered that much when starting a new project. But the truth is that maintenance is a very important element, especially in larger projects, where it will most likely be an ongoing process. Nowadays, in the world of technology, changes are inevitable. If not an application update, it might be a Framework update. Frameworks are being updated every day. For example, Angular have gone up from version 2 to version 6 in just two years. Although some of these updates were not obligatory, they were necessary in order to improve performance on the application. A factor that will really help out through maintenance is Unit Testing. When choosing a library, one must verify that it supports unit tests as these will reduce the testing process after code update. Another factor that needs to be researched is the longevity of the framework. Two questions that have to be answered while researching are “How is versioning handled?” and “When was the last update?” These will affect the project if not handled correctly.

*********

Choosing the right framework is the first and the most important step towards build a successful single page application project. There are other factors which can help you choose the right library for your project, but the ones mentioned above are probably the most important to determine which one is the ideal one. All libraries have their pros and cons, you just have to verify how each one will affect your project.

 

Clayton James is a software developer at Deloitte Digital. For more info, please visit www.deloittedigital.com.mt/custom-built-software