Blog

Home / Blog

Next.js 10

Billy Yann
Deep learning and machine learning specialist, well-versed with experience in Cloud infrastructure, Block-chain technologies and Big Data solutions.
November 26, 2020


Next.js is an innovative technology designed for gradual adoption. Using Next.js, programmers can continue using the existing code as well as add React as they need. Moreover, the users can avoid a complete starting small or incrementally adding more page's rewrite. Many organizations need to increase their developer productivity, modernize their tech stack, reduce expenditure, and provide the best experience for their clients. However, component-driven development has dramatically increased the reusability and deployment velocity of modern codebases. React is one of the leading component-driven choices for many developers across the world with more than 8 million downloads/month. Next.js, renowned as the React framework for production, helps the users and developers to incrementally adopt React.

The latest features of Next.js 10:

• Automatic Optimization of Image -- Next.js 10 allows the programmers a replacement for slow browser image stacks as well as the legacy HTML. Besides, legacy HTML usually supports only one image type or size which is often 10X bigger than a mobile device can render. However, with the arrival of Next.js 10, developers can transparently, automatically, and seamlessly replace the legacy HTML image tags. The developers do this by using a React-based image component. Also, using an automatic progressive loading, this component satisfies all of those requirements.

• Next.js Analytics -- The success or failure of a website depends greatly on the ability of the developer to optimize and understand the webpage. The Web Vitals of Google is poised to become the next PageRank. Next.js 10 assists the developers in improving the site performance and understand exactly where to focus. Apart from that, it provides developers with some real-world insights. The programmers can now improve their Web Vitals scores and understand how the application or site performs for users using Next.js 10. Further, it also gives the coders continuous feedbacks.

• Next.js Commerce -- Next.js Commerce is an effective and functional open-source platform. It was released by Vercel in partnership with BigCommerce. Besides, Next.js Commerce offers the developers the immersive modern experiences, customization, performance, and personalization that only the largest websites in the world provide their users. Using reusable data primitives and data layer provided by BigCommerce, it automates and leverages the implementation of common e-commerce site components.

• Automatic Language Detection and Internationalized Routing - Next.js 10 offers the developers clear paths for translation and provides internationalized routing. Furthermore, it supports language memorization and negotiation out-of-the-box hence eliminating DIY approaches. Next.js 10 analyzes the language preferences of the users and then automatically determines what content to serve.

The front-end JavaScript web application framework which is a new release of the Next.js open source provides enhanced internationalization, analytics, image optimization, and performance capabilities. According to Rauch, the main aim of Next.js since its inception is to create the best way to preview, develop as well as ship pages to the open web. Some major companies and well-known brands such as Hulu, Apple, Twitch, TikTok, Lyft, and Target have already embraced the Next.js model.

Built-in Image Component

The major goal of Next.js 10 is to improve two things: User Experience and Developer Experience. Next.js 10 is already heavily invested in improving the performance of all the Next.js applications. Moreover, it is focused on minimizing the amount of JavaScript the browser has to load. The size of JavaScript needed in Next.js core is now reduced by 16%. In collaboration with the team of Google Chrome, Next.js introduced a new best-in-class and innovative JavaScript code-splitting strategy. Companies can access the new features of Next.js by simply upgrading their existing Next.js to the latest version.

Internationalized Routing

Currently, several community members and businesses are helping the Next.js team to understand the importance of internationalization. For instance, a survey suggests that 72% of clients or users are more likely to stay on a particular website it is translated. Besides, the study shows that 55% of consumers revealed that they only buy from e-commerce websites in their native languages.

Internationalizing your project is critical for the success of your business if you are planning to go to market in a different country. Translations and Routing are the two major pillars of internationalizing a project. Most React libraries generally work with a single rendering strategy and expect you to handle routing manually. Next.js 10 offers language detection and built-in support for internationalized routing for its customers. Moreover, the hybrid strategy of Next.js is supported by built-in support for internationalized routing. This allows you to choose between Server-Rendering or Static Generation on a per-page basis. The two routing strategies of Next.js 10 are domain routing and sub path routing.

Next.js

The future of internationalization in Next.js

A series of features in Next.js 10 called Internationalized Routing will surely make localizing and internationalizing your project a lot easier. Apart from that, Internationalized Routing facilitates the integration with the majority of React internationalization libraries.

Images on the Web

Images usually take up around 50% of the total bytes on web pages. Moreover, they are often the largest visible elements when a web page is loaded. Half of all images are not optimized to be displayed on the web since they are over one megabyte in size. Furthermore, 30% of images on websites are often outside the initial viewport. This means that users do not see them until they scroll further down the page. Besides, images tend to jump around when the page is loaded since they do not have a height and width property. This affects the Cumulative Layout Shift Core Web Vital. A lot of aspects such as modern image formats, lazy loading, weight, and size need to be considered to use these images on a web page in a performant way. Even though developers set up complicated build tooling for the optimization of images, those tools usually do not cover user-submitted images that come from external data sources. Hence it is very difficult or impossible to optimize all user-submitted images.

Next.js Analytics

Nowadays, website visitors are increasingly sensitive to site performance. Surveys show that more than 50% of the visitors abandon your site if the load time is more than 3 seconds. If you are in e-commerce, then you might have noticed that there is a 1% increase in conversion if you improve your load time by 1/10th of a second. Next.js 10 considerably increases the performance of your website. It tracks real-world performance metrics and then feeds some insights back into your development workflow.

With Next.js Analytics:

• One will now measure continuously instead of measuring once.

• These measurements will be coming from the actual devices that your website visitors are using rather than from your development device.

• Next.js Analytics is all about how your application performs for your users, deeply understanding your audience, and focusing on the entire picture.

Next.js 10 is very adamant about collecting real data since the cause of poor performance is not always the most obvious. A variety of places may give rise to performance regressions. These places include first-party fonts, third-party scripts or stylesheets, videos that are slow or oversized.

The new Automatic Image Optimization and the next/image component of Next.js 10 are powerful new primitives. Furthermore, these features will massively improve user experience and work with images from any source. The next/image component of Next.js handles automatic supporting of modern formats, correct sizing across devices, preloading of critical images, and automatic lazy-loading.

Blocking Fallback for getStaticPaths

Features like 'getStaticPaths' and 'getStaticProps' were introduced in Next.js 9.3. The 'fallback' property in Next.js allows the generation of additional static pages. This can be done without a full rebuild and this serves as a static HTML file initially. The fully rendered content then replaces the HTML file on subsequent requests.

Language Detection and Search Engine Optimization

Next.js 10 detects the '/' route based on the Accept-Language header using the built-in language detection that is supported by all modern browsers. The configured locales then redirect according to the configured strategy. Next.js will automatically add the lang attribute to the tag since it already knows the language of the page that the user visits. Besides, it is up to the users to add the 'hreflang' meta tags using 'next/head' as Next.js is unaware of the variants of a page.

React 17 Support

Although some maintenance changes are required for React 17, it has no breaking changes for Next.js. For instance, the updating of the peer dependencies requires some maintenance changes. When React 17 is used, the new JSX transform is automatically enabled and no configuration changes are required.

Next.js Commerce

Ecommerce is always a vital part of any business website. The new features of Next.js 10 are efficient, powerful, and useful new tools for e-commerce. Recently, Next.js Commerce was released in collaboration with BigCommerce. Next.js Commerce is an all-in-one starter kit for a wide variety of eCommerce sites. With a few clicks, developers of Next.js can now fully customize, deploy, and clone it. Instead of capturing synthetic benchmarks, Next.js Analytics allows users to capture real-world insights. Apart from that, it enables a continuous stream of measurement. Developers no longer have to rely on occasional testing.

Conclusion

Node.js 10 comes with new experimental and innovative features such as the fs promise API. Apart from that, Node.js will also be continuing to gain traction in the area of IoT. It is also packed with a variety of significant performance improvements through V8 v6.6. Moreover, Node.js continues to evolve into a solid, diverse, as well as a flexible platform for the developers. The recently released version of Node.js 10 will be delivering reliable and scalable code.