Next.js: Difference between revisions

Content deleted Content added
remove "size" infobox field due to highly ambiguous meaning (bundle size? npm package?)
top: logo class = skin-invert
 
(2 intermediate revisions by 2 users not shown)
Line 3:
| name = Next.js
| logo = Next.js wordmark.svg
| logo class = skin-invert
| logo alt = The Next.js wordmark
| logo caption = Vercel Next.js wordmark
Line 10 ⟶ 11:
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest preview version = v15.34.0-canary.2074 <ref>{{cite web |url=https://github.com/vercel/next.js/releases/tag/v15.34.0-canary.2074 |title=Release v15.34.0-canary.2074 · vercel/next.js |website=GitHub |publisher=Vercel |access-date=2025-0306-2410 }}</ref>
| programming language = [[JavaScript]], [[TypeScript]], and [[Rust (programming language)|Rust]]
| platform = [[Web platform]]
Line 18 ⟶ 19:
}}
 
'''Next.js''' is an [[open-source]] [[Web framework|web development framework]] created by the private company [[Vercel]] providing [[React (JavaScript librarysoftware)|React]]-based web applications with [[server-side rendering]] and [[static rendering]].
 
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.
Line 25 ⟶ 26:
 
== Background ==
Next.js is a [[React (web frameworksoftware)|React]] framework that enables several extra features, including [[server-side rendering]] and [[static rendering]].<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>{{cite web |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>{{cite web |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 [[npm]].
 
[[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 October 2024, the framework is used by many large websites, including [[Walmart]], [[Apple Inc|Apple]], [[Nike, Inc.|Nike]], [[Netflix]], [[TikTok]], [[Uber]], [[Lyft]], [[Starbucks]] and [[Spotify]].<ref name=thakkar1 /><ref>{{cite web |title=Spotify.com Technology Stack |url=https://www.wappalyzer.com/lookup/spotify.com/ |website=Wappalyzer |access-date=15 October 2024}}</ref> 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>