The Next.js frontend framework has been around for only a couple years, but it is already one of the most popular tools in the React ecosystem. As big React users ourselves, we also love it and use it a lot in our everyday work. In this article, we’re going to show you why and how Next.js can improve the performance, UX and SEO of your app. We’re also going to discuss the best kinds of projects for Next.js and various ways to acquire developers skilled in Next.js.

Did you know that over 50 percent of all respondents of our State of Frontend 2020 report admitted to using Next.js in their projects? This makes Next.js one of the most ubiquitous pieces of software in modern frontend development next to the likes of React, Vue or jQuery. We’re soon going to go over the reasons behind this popularity. But first, let’s get one thing out  of the way.

We love Next.js

At The Software House, we really like working with Next.js. To the point that it is one of the technologies listed in our Technology Radar in the “Common” category. As it says, these technologies are “our bread and butter.” This means that we believe in them and consider them to have great potential for the future as well and as a result, we made a big part of our technology stack.

A big reason for that is the fact that Next.js is built on top of React – a frontend development library for building user interfaces, which is our first choice when it comes to web applications.

But it wouldn’t be enough if Next.js wasn’t really good at what it does… right – so what does it do exactly!? In order to explain it, we need to go over a couple terms.

TSH’s Technology Radar makes it easy to find our top technologies and learn more about web development trends in general

Server side rendering & static site generation with Next.js

Next.js became popular because it solved a problem that  many web developers used to have with web applications rendered on the client side (in the browser). Those Single Page Applications (SPAs) featured improved UX because they required no reloading from the user and provided additional interactivity.

However, since the majority  of the content in an app like this becomes available only after it is actually executed in the browser, web crawlers found it difficult to read the text content of such an application. As a result, many SPAs, however popular, remained nearly anonymous for popular search engines such as Google.

Next.js provides an out-of-the-box solution for server side rendering (SSR) of React components. With Next.js, developers can render the JavaScript code on the server and send simple indexable HTML to the user. This wasn’t entirely impossible to do before Next.js appeared. But it required a lot of tweaking with issues related to caching, server load, on-demand content or the architecture of the application itself. It all took away from the time you could dedicate to the business logic of your application.

Next.js can also help you with static site generation (SSG) – another SEO friendly way of building websites and applications. In this case, rather than during runtime, your HTML is generated during build time. When the user requests a page, a pre-made static HTML page is sent to them. A website like this is very fast, but it’s not quite as suitable as SSR for interactive web applications that take a lot of user input, because it needs to be rebuilt every time new input is provided. As a result, it’s a better choice for simple applications (such as blogs) in which the content typically doesn’t change based on the user’s actions.

SSG vs SSR overview

Next.js benefits

By providing an easier way to use SSR and SSG, Next.js offers a range of benefits:

  • Improved Search Engine Optimization

This one we pretty much covered already, but it’s important to keep in mind that introducing SSR can really go a long way to improve your visibility in the search engine as opposed to using client-rendered JavaScript. With that, you can create a web application that has all the functionalities and interactivity you require and still enjoy all the SEO benefits of a static text-based website. And it will give you a major edge over the competition – according to the findings of the State of Frontend report, more than half developers do not think of SEO as an importat factor during development.

SEO & frontend development
  • Customized Open Graph

SPAs in particular made it difficult to properly display metadata for each individual URL of your web application. Next.js allows you to programmatically customize your Open Graph meta titles for each page, which is also relevant to SEO and makes your URLs look much better in social media to boot!

  • Enhanced performance

Since Next.js frees the browser from having to download and execute a whole lot of JavaScript code at once, it has the potential to greatly improve metrics such as time to first draw (TTFD). It measures the amount of time needed for the user to see the very first content on their screen and should ideally be below 1 second. The better TTFD, the quicker your app becomes useful for your user. That in turn makes it more likely to convert them into customers. Waiting for a page to load is a big turn off, which can increase your bounce rate (the number of people that leave your page on the first URL). That’s another SEO-relevant factor.

  • Part of the React ecosystem

Next.js, being basically an umbrella term for a couple tools that you can use to start a React app with, is an integral part of the React ecosystem. It was developed specifically to address the SSR challenge for React applications. React is currently the most popular frontend framework with well over 3,000 respondents of our SoF report admitted to using it (more than Angular and Vue combined). It means that it is easily accessible and there are good chances that React is already a part of your technology stack.

Best projects for Next.js

What projects are most suitable for Next.js? Here is what Rafał Kucharski, Lead Frontend Developer at The Software House, has to say: 

“When you consider SEO and organic traffic to be important for your business, strive to cut the time to first draw or need OG tags, Next is the right choice. E-commerce is one area in which all of these definitely apply. But the same goes for any web portal, blog or even social and streaming services. Of course, we always analyze the needs and expectations of each client individually and then make recommendations, but this is a good rule of thumb in this case.

For us, React application is the starting point. Next.js is what we suggest when the analysis finds that SSR is going to be really beneficial for the client. This is typically the case with applications that are available to the public and accessing their content doesn’t require authorization.”

Synerise, the growth-as-a-service platform for marketers, is a good example of such a platform. Read the case study to learn more about our work on it, including the development of Storybook – an internal UI component library for all frontend developers to work with.

The Synerise projects provided us with lots of insights on creating modern frontend development solutions, including SSR

How to find Next.js developers?

With the increasing popularity of Next.js, it may not always be easy to find skilled developers.

“The truth is that proficiency with Next is not all that common among frontend developers. However, at the same time, it is something that every React developer can learn in a relatively short amount of time. It is however highly recommended that they are mentored during the learning process because it is possible to pick up some bad habits. At TSH, we strongly support our developers who wish to learn Next and actively encourage them to do”, says Rafał.

Creating the right conditions for developers to grow is very important for both attracting the talents and continuously improving their skills.

At TSH, we do it by providing educational content, books, courses, internal workshops, mentoring with senior developers and even internal mini projects designed to improve the skills of our developers in key areas in which they deliver value to the clients. You can find proper candidates for the Next projects by learning more about how to find good React developers.

The truth is that it’s not easy to do all that. Positioning your company as a go-to place for React/Next developers takes a lot of time and effort. This is one of the reasons why companies turn to outsourcing to have access to them.

Uszanowanko Programowanko is a tech meetup organised organized by TSH. It has recently moved online in response to the COVID crisis

Do developers enjoy working with Next.js?

Technology would not likely succeed if developers themselves wouldn’t enjoy working with it. Luckily, Next.js is well received for a couple of reasons.

  • Standardization

Next.js introduced some much needed standardization into the slightly chaotic world of React. A beginner developer can be somewhat intimidated by the multitude of choices when it comes to approaching just about any challenge. Next imposes routing and methods to communicate with the server. Some further standardization is achieved through Page. It is not that important for us, because we have our very own React boilerplate to take care of that, but for many organizations with less experience in React, it surely can be helpful.

  • Gentle learning curve

Since it’s React under the hood, most concepts are going to be familiar to a developer that worked with React before.

  • Out-of-the-box support

Through webpack, Next provides developers with out-of-the-box support for asset compilation, hot reloading and code splitting, which can further speed up development.

It doesn’t mean that it’s all roses:

“Working with Next.js still requires a fair bit of effort. When compared to traditional SPAs, which have pretty much everything out-of-the-box, SSR with Next.js means having to deal with authorization, authentication or caching,” adds Jakub Musik, Frontend Developer at TSH.

Next.js alternatives

Are there any alternatives to Next.js?

When it comes to SSG, there are other JavaScript-based solutions worth consideration such as Gatsby. However, when it comes to more advanced applications that rely on SSR, I don’t think that Next.js has any competition in the context or web development with React.

Gatsby is a powerful solutions for creating SSG-based websites

Next.js introduction – summary

With great potential to make web applications more popular and useful for users and lots of interesting benefits for developers as well, Next.js seems destined to become an integral part of the React ecosystem. The way we see it, it is the future (for the foreseeable future 😉 ). With Next.js, you get:

  • Highly improved SEO when compared to traditional SPAs.
  • Better UX achieved through improved performance, including TTFD, as well as Open Graph management.
  • Lots of much-needed standardization.

All that remains is to find React developers well-versed in using Next.js. You can try to find them yourself, or alternatively establish cooperation with The Software House that made Next.js an essential part of its technology stack.

Leave a Reply