NextJS - the gamechanger for your web performance
7 min read

In this blog post, you'll learn how to get the most out of your web platform with NextJS. Discover why this technology is revolutionising web performance and what you can do to improve the user experience, reduce your bounce rates and increase your conversion rate.
When it comes to building an efficient, fast-loading website or web application, there is no room for compromise. The speed at which a page loads or a web application runs has a major impact on user experience, bounce rate and conversions.
If you're struggling with performance issues on your platform, NextJS could be the solution you need. In this blog post, we'll take a closer look at NextJS and how it can revolutionise your web project.
What is NextJS?
NextJS is a powerful framework based on React that extends its functionality.
You may already be familiar with modern UI technologies such as React, VueJS, Solid or Svelte. These open-source JavaScript libraries enable the creation of interactive user interfaces from isolated building blocks ("components"). The reusable components keep the code clear and easy to maintain.
However, it should be noted that these frameworks mostly focus purely on rendering the interface, and some essential functions such as routing are not included by default.
Frameworks such as Nuxt (VueJS), Sveltekit (Svelte), SolidStart (Solid) and NextJS (React) extend the functionality, so fully-fledged projects can be implemented on the technology.
With NextJS and similar frameworks, developers can work at a higher level and focus on business features without having to deal with the complex setup and configuration of the library. This is a major gain for your development team's productivity. The framework offers a structured environment that enables faster work and the creation of high-quality web applications.
The combination of static and dynamic
When we look back at internet's past, we recognise huge advantage of static web: it was easy to retrieve and, given connection speeds of time, fast to retrieve. As technology advanced, web grew ever more dynamic and driven by complex logic. Today's processing power often disguises how much computing muscle goes into rendering a simple web page. For example, a single call to a Wordpress page generates around 59 SQL queries by default. Often this performance loss gets softened only by using an additional caching layer such as Varnish.
NextJS, on the other hand, allows us to combine the benefits of static websites (high speed and security) with dynamic components. Performance here isn't an add-on, but a core feature of the framework.
Framework accounts for different areas of your application having different requirements. While contact page might change once or twice a year, product detail page must show up-to-date price and stock information daily.
To enable this, NextJS distinguishes between different generation methods: Static Site Generation (SSG), Server-Side Rendering (SSR) and Client-Side Rendering (CSR)
Static Site Generation
Static Site Generation is an approach where the entire website or parts of it are pre-generated in advance – e.g. during a deployment. This means that no server-side computation is necessary for each page visit, since the pages already exist as static HTML files. SSG is particularly suitable for pages with content that rarely or never changes, such as blog posts or product descriptions.

Since the site is static, it can be delivered by CDNs (content delivery networks), leading to even faster load times.
Server-side rendering
Server-side rendering is another approach to generating and displaying web pages. It is particularly useful for content that needs frequent updates or pages that must respond to specific user data. Unlike static site generation, where pages are generated in advance, server-side rendering happens at runtime, meaning every request to the server results in a freshly rendered page.

This has the advantage that the page is always displayed with the latest data from the database or an API. This means, for example, that product details, prices or user information that change frequently can always be kept up to date.
Client-side rendering
Client-side rendering, or CSR, is a third approach to generating web pages that relies heavily on JavaScript and, in particular, on frameworks such as Next.js. With this approach, most of the work is shifted to the client, i.e. the user's web browser.
Unlike SSG and SSR, where pages are generated server-side and then sent to the client, with CSR the client first receives a minimal HTML page. The rest of the page content is then loaded and rendered by JavaScript, which is downloaded from the server after the initial page.

A main advantage of CSR is that after the page's first load, only the necessary data is loaded for subsequent requests, leading to a better user experience. However, CSR requires more computing power on the client side and can lead to longer loading times on slow internet connections.
The framework offers an elegant solution that combines the benefits of SSG, SSR and CSR to ensure optimal website performance.
Outlook on the future of web development with Next.js
In current practice, calling a dynamic function within your route – such as accessing cookies – causes your route to be treated as fully dynamic. This division between static and dynamic rendering shapes the structure of many of today's web applications. Developers often face the choice of opting for one or the other rendering approach for their entire application or specific routes.
Yet reality of many websites and applications doesn't reflect this strict separation. Take e-commerce site as example: while large parts of product page can be statically pre-rendered, there are elements like user's shopping basket or recommendations that must be generated dynamically on demand.
This is where the innovative concept of "Partial Pre-Rendering" comes in, introduced as a preview feature with Next.js 14. This experimental feature makes it possible to render a route with a static "loading shell" while certain areas remain dynamic. In short: it allows dynamic elements to be isolated within an otherwise static page.
How does that work in practice?
When a user visits such a partially pre-rendered route, they are first served a static shell. This fast initial display significantly improves not only load time but also user experience. Within this shell are "gaps" designed to load dynamic content asynchronously. This dynamic content is streamed in parallel with the initial load, which significantly shortens overall load time.

This approach differs fundamentally from the previous one, where routes are rendered either entirely statically or dynamically.
By introducing Partial Pre-Rendering, Next.js bridges the gap between lightning-fast delivery of static content and the flexibility of dynamic applications. This approach promises to shape the web development landscape sustainably by combining the best of both worlds: the speed of static pages and the adaptability of dynamic content.
Automatic optimisation of images, fonts and scripts
NextJS offers automatic optimisations for images, fonts and scripts that help improve the user experience and Core Web Vitals. With NextJS, images can be optimised both server-side and client-side. Images are automatically converted to the most efficient format and resized to the ideal size based on the user's device and network connection.
As for fonts, NextJS supports the modern web standard Font Loading API. With it, developers can optimise the time to first visible text rendering (FCP – First Contentful Paint) and prevent the unsightly flash of web fonts (FOUT – Flash of Unstyled Text).
Just like images and fonts, the framework ensures that JavaScript logic is optimised. Only the part of the scripts needed by the end user in the current view on their device gets loaded. To this end, NextJS splits your project's logic into smaller, manageable pieces ("code splitting"). Through the integration of server components, developers can also deliberately offload large, slow computations to the server.
The result: efficient resource management and lightning-fast load times.
Conclusion
NextJS is a powerful framework for website development. It combines various rendering methods and offers automatic optimisations for an ideal project foundation. With NextJS, your customers benefit from an improved user experience and excellent loading times.
Alongside the various rendering methods, NextJS offers other innovative features, such as integrated interface communication (Server Actions). However, the focus of this article is deliberately on performance-critical features. If you have questions about other NextJS features, feel free to write to us.
In this blog, we looked at the modern frontend framework NextJS - if your company doesn't use React, you can still benefit from many of the principles, methodologies and features presented. We at synaigy are happy to advise you in finding the optimal solution for your setup.
Have questions or feedback?
Then feel free to contact us directly.
- Grimm Benedict
Head of Frontendsynaigy
Show email address
Subscribe to the blog now and never miss any news
✔️free of charge ✔️weekly news ✔️expert knowledge
Please accept the corresponding cookies to view this embedded content.
