Frameworks and their use cases. When should you use a specific type of framework?

Frameworks and their use cases. When should you use a specific type of framework?

Frameworks in web development are becoming quite popular while building dynamic websites. Dynamic in this sense means responsiveness, routing between pages, and cool transitions. Every person using the internet wants these things on the websites they visit. Frameworks make implementing these features really easy and maybe even do it better than simple HTML, CSS, and JavaScript. But even in frameworks, they are various options to choose from based on what your need is. While using frameworks, an important thing is to be kept in mind. Which type of website do you want to build? Single Page websites or Multiple Page websites? Now why this question? Because various frameworks support different types of usecases. Some support Single Page websites whereas others support Multiple Page websites. So it is vital to know about frameworks and which type of web pages they are useful in. Because it can be quite messy when you end up choosing the wrong framework because it might cause problems in loading and rendering it quickly. Let us take a look at some popular frameworks and which type of websites are they used for building

ReactJs: Undoubtedly, React is the most popular framework out there. It is simple to understand and has some really good uses which can be taken for advantage while using it. React is useful while building Multiple Page websites as well as Single Page websites. The reason for this is, is React is fast in rendering pages. But React can be preferred for Single Page websites because it uses client-side rendering. If you don't know about client-side rendering or server-side rendering, keep a check on my HASHNODE profile about this article which is coming up soon. Client-side rendering takes time to load when you have multiple pages because it loads the whole app at once.

VueJs: VueJs is another popular framework that is widely used among the developer community. Vue uses client-side rendering as well, hence also preferred for Single Page websites. But again as React, it can be used for Multiple Page websites as well, but beware because it can get slow when you develop an app with multiple pages.

AngularJs: Angular also uses client-side rendering. But it's really advisable to use Angular with single-page websites only and do not use it with multiple pages because Angular is really slow and complex for Multiple Page websites.

NextJs: NextJs is a new framework and is not as famous as React or Vue. NextJs is a framework built on React meaning it has React features but some extra features of its own. One of next's own features is server-side rendering. Again, keep a look at my HASHNODE profile for a future article on this topic. server-side rendering renders a page only when it's needed and doesn't render the whole app during its first opened. To be elaborative, it renders a page on the spot when the user requests a specific page from the server. NextJs is preferred in Multiple Page websites as it prepares the page on the spot when it's requested by the user instead of loading the complete app and doesn't render the pages which haven't been visited by the user. But NextJs is getting good at Single Page websites because of their quick loading.

GatsbyJs: Gatsby is another new age framework along with Next. Gatsby uses client-side rendering. But this doesn't limit Gatsby's advantages. Gatsby is lightning quick when compared to other client-side rendering frameworks like Angular. Gatsby uses the latest technologies on the backend like GraphQL. Due to its fastness, there is a future scope of it being used in Multiple Page websites as well.

NuxtJs: NuxtJs is another framework like Next. Next is based on React whereas Nuxt is based on Vue. And like Next, Nuxt also uses server-side rendering. The difference only lies in the framework they both are based upon. If you are a big fan of Vue and want to implement Multiple Page websites and even Single Page websites Nuxt is the choice for you.

Note: when you choose a framework, stick to it. Please don't change frameworks regularly without knowing one completely

Links to all the above mentioned frameworks: