Nothing Special   »   [go: up one dir, main page]

Jump to content

Next.js: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Fixed typo
Tags: canned edit summary Mobile edit Mobile app edit iOS app edit
Dmcsph (talk | contribs)
mNo edit summary
Tags: Visual edit Mobile edit Mobile web edit
 
(18 intermediate revisions by 15 users not shown)
Line 5: Line 5:
| logo alt = The Next.js logo, a stylization of its name
| logo alt = The Next.js logo, a stylization of its name
| logo caption = The Next.js Logo
| logo caption = The Next.js Logo
| author = Guillermo Rauch<ref name=simplify>{{Cite web|first=Matt|last=Asay|title=How Next.js aims to simplify front-end development|url=https://www.techrepublic.com/article/how-next-js-aims-to-simplify-front-end-development/|access-date=2020-10-20|website=[[TechRepublic]]|date=21 April 2020|language=en|archive-date=2020-06-03|archive-url=https://web.archive.org/web/20200603082105/https://www.techrepublic.com/article/how-next-js-aims-to-simplify-front-end-development/|url-status=bot: unknown}}</ref>
| author = Guillermo Rauch<ref name=simplify>{{Cite web|first=Matt|last=Asay|title=How Next.js aims to simplify front-end development|url=https://www.techrepublic.com/article/how-next-js-aims-to-simplify-front-end-development/|access-date=2020-10-20|website=[[TechRepublic]]|date=21 April 2020|language=en|archive-date=2020-06-03|archive-url=https://web.archive.org/web/20200603082105/https://www.techrepublic.com/article/how-next-js-aims-to-simplify-front-end-development/|url-status=dead}}</ref>
| developer = [[Vercel]] and the open-source community<ref>{{Cite web|url=https://github.com/vercel/next.js|title=vercel/next.js|website=GitHub|access-date=2019-03-17|archive-date=2019-03-16|archive-url=https://web.archive.org/web/20190316035131/https://github.com/vercel/next.js|url-status=live}}</ref>
| developer = [[Vercel]] and the open-source community<ref>{{Cite web|url=https://github.com/vercel/next.js|title=vercel/next.js|website=GitHub|access-date=2019-03-17|archive-date=2019-03-16|archive-url=https://web.archive.org/web/20190316035131/https://github.com/vercel/next.js|url-status=live}}</ref>
| released = {{Start date and age|2016|10|25}}<ref name=originalRelease>{{Cite web|url=https://github.com/vercel/next.js/releases/tag/1.0.0|title=Next.js First Release|website=GitHub|date=2019-03-14|access-date=2019-03-17|archive-date=2020-10-10|archive-url=https://web.archive.org/web/20201010232115/https://github.com/vercel/next.js/releases/tag/1.0.0|url-status=live}}</ref>
| released = {{Start date and age|2016|10|25}}<ref name=originalRelease>{{Cite web|url=https://github.com/vercel/next.js/releases/tag/1.0.0|title=Next.js First Release|website=GitHub|date=2019-03-14|access-date=2019-03-17|archive-date=2020-10-10|archive-url=https://web.archive.org/web/20201010232115/https://github.com/vercel/next.js/releases/tag/1.0.0|url-status=live}}</ref>
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest preview version = v14.3.0-canary.4 <ref>{{cite web |url=https://github.com/vercel/next.js/releases |title=Releases · vercel/next.js |website=GitHub |publisher=Vercel |access-date=2024-04-16 |archive-url=https://web.archive.org/web/20240416120231/https://github.com/vercel/next.js/releases |archive-date=2024-04-16 }}</ref>
| latest preview version = v13.3.1-canary.03
| repo = {{URL|https://github.com/vercel/next.js}}
| repo = {{URL|https://github.com/vercel/next.js}}
| programming language = [[JavaScript]], [[TypeScript]], and [[Rust (programming language)|Rust]]
| programming language = [[JavaScript]], [[TypeScript]], and [[Rust (programming language)|Rust]]
Line 20: Line 20:
}}
}}


'''Next.js''' is an [[open-source]] web development framework created by the private company [[Vercel]] providing [[React (JavaScript library)|React]]-based web applications with [[server-side scripting|server-side rendering]] and [[static web page|static website]] generation.
'''Next.js''' is an [[open-source]] [[Web framework|web development framework]] created by the private company [[Vercel]] providing [[React (JavaScript library)|React]]-based web applications with [[server-side scripting|server-side rendering]] and [[static web page|static website]] generation.


React documentation mentions Next.js among "Recommended Toolchains" advising it to developers when "building a server-rendered website with Node.js".<ref name="React documentation">{{cite web |title=Recommended Toolchains |url=https://reactjs.org/docs/create-a-new-react-app.html#recommended-toolchains |access-date=10 July 2021 |website=React documentation |language=en-US |format=HTML}}</ref> Where traditional React apps can only render their content in the client-side browser, Next.js extends this functionality to include applications rendered on the server-side.
React documentation mentions Next.js among "Recommended Toolchains" advising it to developers when "building a server-rendered website with Node.js".<ref name="React documentation">{{cite web |title=Recommended Toolchains |url=https://reactjs.org/docs/create-a-new-react-app.html#recommended-toolchains |access-date=10 July 2021 |website=React documentation |language=en-US |format=HTML}}</ref> Where traditional React apps can only render their content in the client-side browser, Next.js extends this functionality to include applications rendered on the server-side.


The copyright and trademarks for Next.js are owned by Vercel,<ref>{{Citation |url=https://vercel.com/design/brands#next-js |title=Next.js Brand Guidelines |date=26 August 2022}}</ref> which also maintains and leads its open-source development.<ref>{{Cite web |title=Develop. Preview. Ship. For the best frontend teams – Vercel |url=https://vercel.com/home |url-status=live |archive-url=https://web.archive.org/web/20211006015250/https://vercel.com/home |archive-date=2021-10-06 |access-date=2020-09-22 |website=vercel.com |language=en-US |format=HTML}}</ref>
The copyright and trademarks for Next.js are owned by Vercel,<ref>{{Citation |url=https://vercel.com/design/brands#next.js |title=Next.js Brand Guidelines |date=26 August 2022}}</ref> which also maintains and leads its open-source development.<ref>{{Cite web |title=Develop. Preview. Ship. For the best frontend teams – Vercel |url=https://vercel.com/home |url-status=live |archive-url=https://web.archive.org/web/20211006015250/https://vercel.com/home |archive-date=2021-10-06 |access-date=2020-09-22 |website=vercel.com |language=en-US |format=HTML}}</ref>


== Background ==
== Background ==
Next.js is a [[React (web framework)|React]] framework that enables several extra features, including [[server-side scripting|server-side rendering]] and generating [[static web page|static website]]s.<ref name=compareStatic>{{Cite web|date=2020-07-02|title=Differences Between Static Generated Sites And Server-Side Rendered Apps|url=https://www.smashingmagazine.com/2020/07/differences-static-generated-sites-server-side-rendered-apps/|access-date=2020-10-19|website=[[Smashing Magazine]]|language=en}}</ref> React is a [[JavaScript library]] that is traditionally used to build web applications rendered in the client's browser with JavaScript.<ref name=thakkar1>{{Citation|last=Thakkar|first=Mohit|title=Next.js|date=2020|url=https://doi.org/10.1007/978-1-4842-5869-9_3|work=Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications|pages=93–137|editor-last=Thakkar|editor-first=Mohit|place=Berkeley, CA|publisher=[[Apress]]|language=en|doi=10.1007/978-1-4842-5869-9_3|isbn=978-1-4842-5869-9|s2cid=241224880|access-date=2020-10-20}}</ref> Developers recognize several problems with this strategy however, such as not catering to users who do not have access to JavaScript or have disabled it, potential security issues, significantly extended page loading times, and harm to the site's overall [[search engine optimization]].<ref name=thakkar1 /> Frameworks such as Next.js sidestep these problems by allowing some or all of the website to be rendered on the server-side before being sent to the client.<ref name=thakkar1 /><ref name=thakkar2>{{Citation|last=Thakkar|first=Mohit|title=Adding Server-Side Rendering to Your React Application|date=2020|url=https://doi.org/10.1007/978-1-4842-5869-9_4|work=Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications|pages=139–152|editor-last=Thakkar|editor-first=Mohit|place=Berkeley, CA|publisher=[[Apress]]|language=en|doi=10.1007/978-1-4842-5869-9_4|isbn=978-1-4842-5869-9|s2cid=216333955|access-date=2020-10-20}}</ref> Next.js is one of the most popular frameworks for React.<ref>{{Cite web|first=Matt|last=Asay|title=Why front-end development may be the new frontier|url=https://www.techrepublic.com/article/why-front-end-development-may-be-the-new-frontier/|access-date=2020-10-20|website=[[TechRepublic]]|date=2 December 2019|language=en}}</ref> It is one of several recommended "toolchains" available when starting a new app, all of which provide a layer of abstraction to aid in common tasks.<ref name="SmashingStyle">{{Cite web |last=Lukman |first=Adebiyi Adedotun |date=2020-09-17 |title=Comparing Styling Methods In Next.js |url=https://www.smashingmagazine.com/2020/09/comparison-styling-methods-next-js/ |access-date=2020-10-20 |website=[[Smashing Magazine]] |language=en}}</ref> Next.js requires [[Node.js]] and can be initialized using [[Node Package Manager]].
Next.js is a [[React (web framework)|React]] framework that enables several extra features, including [[server-side scripting|server-side rendering]] and generating [[static web page|static website]]s.<ref name=compareStatic>{{Cite web|date=2020-07-02|title=Differences Between Static Generated Sites And Server-Side Rendered Apps|url=https://www.smashingmagazine.com/2020/07/differences-static-generated-sites-server-side-rendered-apps/|access-date=2020-10-19|website=[[Smashing Magazine]]|language=en}}</ref> React is a [[JavaScript library]] that is traditionally used to build web applications rendered in the client's browser with JavaScript.<ref name=thakkar1>{{Citation|last=Thakkar|first=Mohit|title=Next.js|date=2020|url=https://doi.org/10.1007/978-1-4842-5869-9_3|work=Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications|pages=93–137|editor-last=Thakkar|editor-first=Mohit|place=Berkeley, CA|publisher=[[Apress]]|language=en|doi=10.1007/978-1-4842-5869-9_3|isbn=978-1-4842-5869-9|s2cid=241224880|access-date=2020-10-20}}</ref> Developers recognize several problems with this strategy however, such as not catering to users who do not have access to JavaScript or have disabled it, potential security issues, significantly extended page loading times, and harm to the site's overall [[search engine optimization]].<ref name=thakkar1 /> Frameworks such as Next.js sidestep these problems by allowing some or all of the website to be rendered on the server-side before being sent to the client.<ref name=thakkar1 /><ref name=thakkar2>{{Citation|last=Thakkar|first=Mohit|title=Adding Server-Side Rendering to Your React Application|date=2020|url=https://doi.org/10.1007/978-1-4842-5869-9_4|work=Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications|pages=139–152|editor-last=Thakkar|editor-first=Mohit|place=Berkeley, CA|publisher=[[Apress]]|language=en|doi=10.1007/978-1-4842-5869-9_4|isbn=978-1-4842-5869-9|s2cid=216333955|access-date=2020-10-20}}</ref> Next.js is one of the most popular frameworks for React.<ref>{{Cite web|first=Matt|last=Asay|title=Why front-end development may be the new frontier|url=https://www.techrepublic.com/article/why-front-end-development-may-be-the-new-frontier/|access-date=2020-10-20|website=[[TechRepublic]]|date=2 December 2019|language=en}}</ref> It is one of several recommended "toolchains" available when starting a new app, all of which provide a layer of abstraction to aid in common tasks.<ref name="SmashingStyle">{{Cite web |last=Lukman |first=Adebiyi Adedotun |date=2020-09-17 |title=Comparing Styling Methods In Next.js |url=https://www.smashingmagazine.com/2020/09/comparison-styling-methods-next-js/ |access-date=2020-10-20 |website=[[Smashing Magazine]] |language=en}}</ref> Next.js requires [[Node.js]] and can be initialized using [[Node Package Manager]].


Google has contributed to the Next.js project, including 43 pull requests in 2019.<ref name="insiders">{{Cite web |last=Asay |first=Matt |date=February 1, 2020 |title=An insider's look at Google's web framework contributions to Next.js and more |url=https://www.techrepublic.com/article/insiders-look-at-googles-web-framework-contributions-to-next-js-and-more/ |access-date=2020-10-19 |website=[[TechRepublic]] |language=en-US}}</ref> As of March 2022, the framework is used by many large websites, including [[Walmart]], [[Apple_Inc|Apple]], [[Nike,_Inc.|Nike]], [[Netflix]], [[TikTok]], [[Uber]], [[Lyft]], and [[Starbucks]].<ref name=thakkar1 /> In early 2020, Vercel secured twenty-one million dollars in Series A funding to support improvements to the software.<ref name=simplify /> The framework's original author, Guillermo Rauch, is currently the CEO of Vercel, and the project's lead maintainer is Tim Neutkens.<ref>{{Cite web |last=Donovan |first=Ryan |date=2020-10-07 |title=Static site generation with single page app functionality? That's what's coming Next(.js) |url=https://stackoverflow.blog/2020/10/07/qa-with-the-creators-of-next-js-on-version-9-5/ |access-date=2020-10-20 |website=Stack Overflow Blog |language=en-US |format=html}}</ref>
Google has contributed to the Next.js project, including 43 pull requests in 2019.<ref name="insiders">{{Cite web |last=Asay |first=Matt |date=February 1, 2020 |title=An insider's look at Google's web framework contributions to Next.js and more |url=https://www.techrepublic.com/article/insiders-look-at-googles-web-framework-contributions-to-next-js-and-more/ |access-date=2020-10-19 |website=[[TechRepublic]] |language=en-US}}</ref> As of March 2022, the framework is used by many large websites, including [[Walmart]], [[Apple_Inc|Apple]], [[Nike,_Inc.|Nike]], [[Netflix]], [[TikTok]], [[Uber]], [[Lyft]], and [[Starbucks]].<ref name=thakkar1 /> In early 2020, Vercel raised $21 million in Series A funding to support improvements to the software.<ref name=simplify /> The framework's original author, Guillermo Rauch, is currently the CEO of [[Vercel]], and the project's lead maintainer is Tim Neutkens.<ref>{{Cite web |last=Donovan |first=Ryan |date=2020-10-07 |title=Static site generation with single page app functionality? That's what's coming Next(.js) |url=https://stackoverflow.blog/2020/10/07/qa-with-the-creators-of-next-js-on-version-9-5/ |access-date=2020-10-20 |website=Stack Overflow Blog |language=en-US |format=html}}</ref>


== Development history ==
== Development history ==
Line 50: Line 50:
On October 26, 2022, Vercel released Next.js 13. This major release brought about a new routing pattern in [[Software release life cycle|beta]], with the addition of the App Router that includes support for layouts, React Server Components, streaming, and a new set of data fetching methods. Furthermore, Vercel announced a new toolchain for front-end development called Turbo, including Turbopack as a successor to Webpack, Turborepo for incremental build systems.<ref>{{Cite web |last=Orbán |first=Balázs |date=2022-10-25 |title=Next.js 13 |url=https://nextjs.org/blog/next-13 |access-date=2023-06-09 |website=nextjs.org |language=en-US}}</ref>
On October 26, 2022, Vercel released Next.js 13. This major release brought about a new routing pattern in [[Software release life cycle|beta]], with the addition of the App Router that includes support for layouts, React Server Components, streaming, and a new set of data fetching methods. Furthermore, Vercel announced a new toolchain for front-end development called Turbo, including Turbopack as a successor to Webpack, Turborepo for incremental build systems.<ref>{{Cite web |last=Orbán |first=Balázs |date=2022-10-25 |title=Next.js 13 |url=https://nextjs.org/blog/next-13 |access-date=2023-06-09 |website=nextjs.org |language=en-US}}</ref>


In May 2023, Vercel released Next.js 13.4. This brought with it the stable version of App Router, which allows developers to use it in production.<ref>{{Cite web |last=Markbåge |first=Sebastian, Tim Neutkens |date=2023-05-04 |title=Next.js 13.4 |url=https://nextjs.org/blog/next-13-4 |access-date=2023-06-07 |website=nextjs.org |language=en-US}}</ref>
In May 2023, Vercel released Next.js 13.4. This brought with it the stable version of App Router, which allows developers to use it in production.<ref>{{Cite web|last1=Markbåge|first1=Sebastian|last2=Neutkens|first2=Tim|date=2023-05-04|title=Next.js 13.4|url=https://nextjs.org/blog/next-13-4|access-date=2023-06-07|website=nextjs.org|language=en-US}}</ref>


In October 2023, Vercel released Next.js 14. Which comes with improve memory management with using edge runtime.<ref name=":0">{{Cite web |last= |first= |date=2023-12-08 |title=Next.js 14.0.0 |url=https://github.com/vercel/next.js/releases/tag/v14.0.0 |access-date=2023-11-26 |website=nextjs.org |language=en-US}}</ref>
In October 2023, Vercel released Next.js 14, which comes with improved memory management with using edge runtime.<ref name=":0">{{Cite web |last= |first= |date=2023-12-08 |title=Next.js 14.0.0 |url=https://github.com/vercel/next.js/releases/tag/v14.0.0 |access-date=2023-11-26 |website=nextjs.org |language=en-US}}</ref>

In December 2023, Vercel released Next.js 14.0.4, alongside lot of latest features, such as Track server requests and memory usage.<ref>{{Cite web |last= |first= |date=2023-12-08 |title=Next.js 14.0.4 |url=https://github.com/vercel/next.js/releases/tag/v14.0.4 |access-date=2023-12-19 |website=nextjs.org |language=en-US}}</ref>


== Styling and features ==
== Styling and features ==
Line 65: Line 63:
== See also ==
== See also ==
{{Portal|Free and open-source software}}
{{Portal|Free and open-source software}}
* [[Angular (web framework)]]
* [[Gatsby (software)]]
* [[Gatsby (JavaScript framework)]]
* [[LAMP (software bundle)]]
* [[LAMP (software bundle)|LAMP]]
* [[React (JavaScript library)]]
* [[Nuxt.js]]
* [[Nuxt.js]]
* [[Vue.js]]
* [[Remix (web framework)]]
*[[JavaScript framework]]


== References ==
== References ==
Line 81: Line 76:
* {{Cite web|last=Asay|first=Matt|title=Front-end frameworks are about to get even cooler, says Google lead|url=https://www.techrepublic.com/article/front-end-frameworks-are-about-to-get-even-cooler-says-google-lead/|access-date=2020-10-16|website=[[TechRepublic]]|date=3 April 2020|language=en}}
* {{Cite web|last=Asay|first=Matt|title=Front-end frameworks are about to get even cooler, says Google lead|url=https://www.techrepublic.com/article/front-end-frameworks-are-about-to-get-even-cooler-says-google-lead/|access-date=2020-10-16|website=[[TechRepublic]]|date=3 April 2020|language=en}}
* {{Cite web|last=Asay|first=Matt|date=2020-06-01|title=How GraphQL turned web development on its head|url=https://www.infoworld.com/article/3545951/how-graphql-turned-web-development-on-its-head.html|access-date=2020-10-20|website=[[InfoWorld]]|language=en}}
* {{Cite web|last=Asay|first=Matt|date=2020-06-01|title=How GraphQL turned web development on its head|url=https://www.infoworld.com/article/3545951/how-graphql-turned-web-development-on-its-head.html|access-date=2020-10-20|website=[[InfoWorld]]|language=en}}

{{Web frameworks}}


[[Category:Web frameworks]]
[[Category:Web frameworks]]
[[Category:JavaScript web frameworks]]
[[Category:JavaScript web frameworks]]
[[Category:Software using the MIT license]]
[[Category:Software using the MIT license]]
[[Category:Static website generators]]
[[Category:Free static website generators]]
[[Category:Free static website generators]]

Latest revision as of 20:15, 30 August 2024

Next.js
Original author(s)Guillermo Rauch[1]
Developer(s)Vercel and the open-source community[2]
Initial releaseOctober 25, 2016; 7 years ago (2016-10-25)[3]
Stable release
14.2.6[4] Edit this on Wikidata / 21 August 2024; 22 days ago (21 August 2024)
Preview release
v14.3.0-canary.4 [5]
Repositorygithub.com/vercel/next.js
Written inJavaScript, TypeScript, and Rust
PlatformWeb platform
Size17.0 MB
TypeWeb application framework
LicenseMIT License
Websitenextjs.org

Next.js is an open-source web development framework created by the private company Vercel providing React-based web applications with server-side rendering and static website generation.

React documentation mentions Next.js among "Recommended Toolchains" advising it to developers when "building a server-rendered website with Node.js".[6] Where traditional React apps can only render their content in the client-side browser, Next.js extends this functionality to include applications rendered on the server-side.

The copyright and trademarks for Next.js are owned by Vercel,[7] which also maintains and leads its open-source development.[8]

Background

[edit]

Next.js is a React framework that enables several extra features, including server-side rendering and generating static websites.[9] React is a JavaScript library that is traditionally used to build web applications rendered in the client's browser with JavaScript.[10] Developers recognize several problems with this strategy however, such as not catering to users who do not have access to JavaScript or have disabled it, potential security issues, significantly extended page loading times, and harm to the site's overall search engine optimization.[10] Frameworks such as Next.js sidestep these problems by allowing some or all of the website to be rendered on the server-side before being sent to the client.[10][11] Next.js is one of the most popular frameworks for React.[12] It is one of several recommended "toolchains" available when starting a new app, all of which provide a layer of abstraction to aid in common tasks.[13] Next.js requires Node.js and can be initialized using Node Package Manager.

Google has contributed to the Next.js project, including 43 pull requests in 2019.[14] As of March 2022, the framework is used by many large websites, including Walmart, Apple, Nike, Netflix, TikTok, Uber, Lyft, and Starbucks.[10] In early 2020, Vercel raised $21 million in Series A funding to support improvements to the software.[1] The framework's original author, Guillermo Rauch, is currently the CEO of Vercel, and the project's lead maintainer is Tim Neutkens.[15]

Development history

[edit]

Next.js was first released as an open-source project on GitHub on October 25, 2016.[3] It was originally developed based on six principles: out-of-the-box functionality requiring no setup, JavaScript everywhere, all functions are written in JavaScript, automatic code-splitting and server-rendering, configurable data-fetching, anticipating requests, and simplifying deployment.[16]

Next.js 2.0 was announced in March 2017 including several improvements that made it easier to work with small websites. It also increased the build efficiency and improved the scalability of the hot-module replacement feature.[17]

Version 7.0 was released in September 2018 with improved error handling and support for React's context API for improved dynamic route handling. This was also the first version to upgrade to Webpack 4.[18]

Version 8.0 was released in February 2019 and was the first version to offer serverless deployment of applications, in which the code is split up into lambda functions that are run on demand. The version also reduced the time and resources required for static exports and improved prefetch performance.[19]

Version 9.3, announced in March 2020, included various optimizations and global Sass and CSS module support.[20]

On July 27, 2020 Next.js version 9.5 was announced, adding new capabilities including incremental static regeneration, rewrites, and redirect support.[21]

On June 15, 2021 Next.js version 11 was released, introducing among others: Webpack 5 support, preview of real-time collaborative coding functionality "Next.js Live", and experimental function of automatic conversion from Create React App to Next.js compatible form "Create React App Migration".[22]

On October 26, 2021, Next.js 12 was released, adding a Rust compiler, making the compilation faster, AVIF support, Edge Functions & Middleware, and Native ESM & URL Imports.[23]

On October 26, 2022, Vercel released Next.js 13. This major release brought about a new routing pattern in beta, with the addition of the App Router that includes support for layouts, React Server Components, streaming, and a new set of data fetching methods. Furthermore, Vercel announced a new toolchain for front-end development called Turbo, including Turbopack as a successor to Webpack, Turborepo for incremental build systems.[24]

In May 2023, Vercel released Next.js 13.4. This brought with it the stable version of App Router, which allows developers to use it in production.[25]

In October 2023, Vercel released Next.js 14, which comes with improved memory management with using edge runtime.[26]

Styling and features

[edit]

Next.js supports styling with CSS as well as precompiled Scss and Sass, CSS-in-JS, and styled JSX.[13] In addition, it is built with TypeScript support and smart bundling.[27] The open-source transpiler SWC is used to transform and compile code into JavaScript usable by a browser.[28] Webpack, another open-source tool, is used to bundle the modules afterward, however it is currently being replaced with TurboPack.[29] All of these tools are used with npm in a terminal.[14]

The main feature of Next.js is its use of server-side rendering to reduce the burden on web browsers and provide enhanced security[citation needed]. This can be done for any part of the application or the entire system, allowing for content-rich pages to be singled out for server-side rendering.[10] It can also be done only for first-time visitors, to reduce the burden on web browsers that have yet to download any of the site's assets.[11] The "hot reloading" feature detects changes as they are made and re-renders the appropriate pages so the server avoids the need to be restarted. This allows changes made to the application code to be immediately reflected in the web browser, though some browsers will require the page to be refreshed.[10] The software uses page-based routing for developer convenience and includes support for dynamic routing. Other features include hot-module replacement so that modules can be replaced live, automatic code splitting, which only includes code necessary to load the page, and page prefetching to reduce load time.[10]

Next.js also supports Incremental Static Regeneration[30] and static site generation - a compiled version of the website is usually built during build time and saved as a .next folder. When a user makes a request, the pre-built version which are static HTML pages are cached and sent to them. This makes the load time very fast, but it's not suitable for every website, particularly for interactive sites that change often and utilize a lot of user input.

See also

[edit]

References

[edit]
  1. ^ a b Asay, Matt (21 April 2020). "How Next.js aims to simplify front-end development". TechRepublic. Archived from the original on 2020-06-03. Retrieved 2020-10-20.
  2. ^ "vercel/next.js". GitHub. Archived from the original on 2019-03-16. Retrieved 2019-03-17.
  3. ^ a b "Next.js First Release". GitHub. 2019-03-14. Archived from the original on 2020-10-10. Retrieved 2019-03-17.
  4. ^ "Release 14.2.6". 21 August 2024. Retrieved 23 August 2024.
  5. ^ "Releases · vercel/next.js". GitHub. Vercel. Archived from the original on 2024-04-16. Retrieved 2024-04-16.
  6. ^ "Recommended Toolchains" (HTML). React documentation. Retrieved 10 July 2021.
  7. ^ Next.js Brand Guidelines, 26 August 2022
  8. ^ "Develop. Preview. Ship. For the best frontend teams – Vercel" (HTML). vercel.com. Archived from the original on 2021-10-06. Retrieved 2020-09-22.
  9. ^ "Differences Between Static Generated Sites And Server-Side Rendered Apps". Smashing Magazine. 2020-07-02. Retrieved 2020-10-19.
  10. ^ a b c d e f g Thakkar, Mohit (2020), Thakkar, Mohit (ed.), "Next.js", Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications, Berkeley, CA: Apress, pp. 93–137, doi:10.1007/978-1-4842-5869-9_3, ISBN 978-1-4842-5869-9, S2CID 241224880, retrieved 2020-10-20
  11. ^ a b Thakkar, Mohit (2020), Thakkar, Mohit (ed.), "Adding Server-Side Rendering to Your React Application", Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications, Berkeley, CA: Apress, pp. 139–152, doi:10.1007/978-1-4842-5869-9_4, ISBN 978-1-4842-5869-9, S2CID 216333955, retrieved 2020-10-20
  12. ^ Asay, Matt (2 December 2019). "Why front-end development may be the new frontier". TechRepublic. Retrieved 2020-10-20.
  13. ^ a b Lukman, Adebiyi Adedotun (2020-09-17). "Comparing Styling Methods In Next.js". Smashing Magazine. Retrieved 2020-10-20.
  14. ^ a b Asay, Matt (February 1, 2020). "An insider's look at Google's web framework contributions to Next.js and more". TechRepublic. Retrieved 2020-10-19.
  15. ^ Donovan, Ryan (2020-10-07). "Static site generation with single page app functionality? That's what's coming Next(.js)" (html). Stack Overflow Blog. Retrieved 2020-10-20.
  16. ^ Krill, Paul (2016-10-31). "Next step after Node.js: Framework for 'universal' JavaScript apps". InfoWorld. Retrieved 2020-10-20.
  17. ^ Krill, Paul (2017-03-28). "Next.js 2.0 plays better with React and JavaScript". InfoWorld. Retrieved 2020-10-20.
  18. ^ Krill, Paul (2018-09-21). "Next.js 7 framework compiles faster, supports WebAssembly". InfoWorld. Retrieved 2020-10-20.
  19. ^ Krill, Paul (2019-02-14). "Next.js 8 now supports serverless apps". InfoWorld. Retrieved 2020-10-20.
  20. ^ Krill, Paul (2020-03-12). "Next.js upgrade emphasizes static site generation". InfoWorld. Retrieved 2020-10-20.
  21. ^ Krill, Paul (July 27, 2020). "Next.js adds incremental static pages regeneration". InfoWorld. Archived from the original on October 2, 2020. Retrieved September 22, 2020.
  22. ^ "Next.js 11". Retrieved 2021-07-10.
  23. ^ "Next.js 12". nextjs.org. Retrieved 2021-10-27.
  24. ^ Orbán, Balázs (2022-10-25). "Next.js 13". nextjs.org. Retrieved 2023-06-09.
  25. ^ Markbåge, Sebastian; Neutkens, Tim (2023-05-04). "Next.js 13.4". nextjs.org. Retrieved 2023-06-07.
  26. ^ "Next.js 14.0.0". nextjs.org. 2023-12-08. Retrieved 2023-11-26.
  27. ^ Krill, Paul (February 14, 2019). "Next.js 8 now supports serverless apps". InfoWorld. Archived from the original on October 2, 2020. Retrieved September 22, 2020.
  28. ^ "Architecture: Next.js Compiler | Next.js". nextjs.org. Retrieved 2023-08-19.
  29. ^ "Architecture: Turbopack | Next.js". nextjs.org. Retrieved 2023-08-19.
  30. ^ "Incremental Static Regeneration with Next.js". Vercel. Retrieved 2022-03-06.
[edit]