Interview Question: Which Jamstack would you prefer and Why?

jamstack

In Software Engineering Interview, you will be asked about the latest Tech stack. Most of the time, Interviewers want to know about your knowledge for current technology trend. It is very important for hiring company to know how wisely you select open resources which is cost effective and efficient as well.

How to select right Jamstack?

JAMStack, stands for Javascript, API and Markup.

In Jamstack websites, the application logic typically resides on the client side without being tightly coupled to the back end server. They are mostly served with git based CMS or headless CMS.

The Jamstack is not a framework but is rather defined by Jamstack.org as an architecture pattern.[4]

First, You need to identify the top three Jamstack by using dev community star. Dev community star is better way to select tech stack as it is real reviews from developers who tried different technology and apps.

Use this Platform Jamstack Selector to find out top 3 jamstack based on your requirements.

Next.js

A framework for statically-exported React apps (supports server side rendering)

Language: JavaScript

Templates: React

License: MIT

Gatsby

Build blazing fast, modern apps and websites with React

Language: JavaScript

Templates: React

License: MIT

Nuxt

A minimalistic framework for serverless Vue.js applications.

Language: JavaScript

Templates: Vue

License: MIT

React vs Vue:

Before you select Jamstack you need to select Template as bae tech stack. You have two options React vs Vue. Once you decide base template, it is easy to select Jamstack of your choice!

Both React and Vue:
  1. Work with any existing web app.
  2. Suggest quite a lightweight approach for developers to quickly hop on work.
  3. Feature component-based architecture with lifecycle methods.
  4. Offer increased flexibility, speed, and performance.
  5. Offer a wide selection of libraries and tools.

Popularity

Vue is, inarguably, the most popular JavaScript framework. However, React has risen to second place and continues to grow. Many well-known companies have web apps made with Vue.js and React.

Big enterprise like Gitlab, BMW and Alibaba uses Vue as their base technology.

And BBC, Facebook and Paypal uses React as their base technology.

React is better if you want to:

  • Have a wide variety of flexible libraries, tools, and ecosystems.
  • Easily use it with TypeScript, Flow, ReasonML, BuckleScript.
  • Develop a highly-scalable application with easy testing and debugging.
  • Quickly build a complex app.
  • Create a high-performing video streaming platform or media site.

Choose Vue if you want to:

  • Build a progressive web app or SPA.
  • Start development immediately.
  • Have access to more core tools and support.
  • Extend an existing app’s functionality.

If you choose Vue, Nuxt is the best option for Jamstack.

If you choose React, you have two options Next.js vs Gatsby.

Next.js is more versatile and flexible. The main argument for Next this time last year was the fact it was flexible. It didn’t force the developer into an ecosystem of plugins and GraphQL. Making Next.js able to Pre-render pages at build time (SSG) or request time (SSR) in a single project and give the developer to choose one or the other and switch between the two is a huge gain for flexibility. If your project has the potential to grow beyond its current spec, I would go with Next.

But Gatsby makes it easier to get up and running quicker and achieve more with less coding. When building websites in Gatsby, you gain access to your data through a query language named GraphQL. If you want to build something that is unlikely to diverge much from the current spec, Gatsby is a great choice.

In My opinion, Next.js is the best option as it allows to integrate and customize as per our requirements!