Next.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
abbozzo nuova voce
 
Aggiunta tabella non completa con le versioni rilasciate.
 
(8 versioni intermedie di 3 utenti non mostrate)
Riga 1:
{{S|informatica}}{{Software
|Sviluppatore = Vercel
|SistemaOperativo = Multipiattaforma
|Linguaggio2 = typescript
|Linguaggio = javascript
|Genere = web framework}}'''Next.js''' è un [[framework per applicazioni web]] [[open source]], sviluppato da [[Vercel]] - che ne detiene i [[Copyright|diritti]] - e da una comunità di collaboratori individuali, che consente sia la generazione di pagine statiche che il rendering automatico a lato server.<ref name=":0">{{Cita web|url=https://nextjs.it/posts/framework-react-per-la-produzione-web|titolo=Il framework React per la produzione web {{!}} Next.js Italia|sito=nextjs.it|data=2021-02-20|lingua=it|accesso=2023-12-06}}</ref><ref name=":1">{{Cita web|url=https://sdtimes.com/softwaredev/next-js-14-is-now-officially-available-with-addition-of-server-actions-and-partial-prerendering-features/|titolo=Next.js 14 is now officially available, with addition of Server Actions and Partial Prerendering features|autore=Jenna Barron|sito=SD Times|data=2023-10-26|lingua=en-US|accesso=2023-12-06}}</ref><ref name=":2">{{Cita web|url=https://www.infoworld.com/article/3709608/nextjs-14-previews-partial-prerendering.html|titolo=Next.js 14 previews partial prerendering|autore=Paul Krill|sito=InfoWorld|data=2023-10-26|lingua=en|accesso=2023-12-06}}</ref><ref name=":3">{{Cita web|url=https://react.dev/learn/start-a-new-react-project|titolo=Start a New React Project – React|sito=react.dev|lingua=en|accesso=2023-12-06}}</ref><ref name=":4">{{Cita web|url=https://medium.com/bina-nusantara-it-division/next-js-the-complete-overview-and-why-its-gaining-popularity-77db5c47dc6d|titolo=Next.js: The Complete Overview and Why It’s Gaining Popularity|autore=tong eric|sito=Bina Nusantara IT Division|data=2023-06-30|lingua=en|accesso=2023-12-06}}</ref>
|Linguaggio2 =
|Linguaggio3 = typescript
|Genere = web framework
|Licenza = [[Licenza MIT]]
|SoftwareLibero = sì
|SitoWeb = [https://nextjs.org nextjs.org]
}}'''Next.js''' è un [[framework per applicazioni web]] [[open source]], sviluppato da [[Vercel]] - che ne detiene i [[Copyright|diritti]] - e da una comunità di collaboratori individuali, che consente sia la generazione di pagine statiche che il rendering automatico a lato server.<ref name=":0">{{Cita web|url=https://nextjs.it/posts/framework-react-per-la-produzione-web|titolo=Il framework React per la produzione web {{!}} Next.js Italia|sito=nextjs.it|data=2021-02-20|lingua=it|accesso=2023-12-06}}</ref><ref name=":1">{{Cita web|url=https://sdtimes.com/softwaredev/next-js-14-is-now-officially-available-with-addition-of-server-actions-and-partial-prerendering-features/|titolo=Next.js 14 is now officially available, with addition of Server Actions and Partial Prerendering features|autore=Jenna Barron|sito=SD Times|data=2023-10-26|lingua=en-US|accesso=2023-12-06}}</ref><ref name=":2">{{Cita web|url=https://www.infoworld.com/article/3709608/nextjs-14-previews-partial-prerendering.html|titolo=Next.js 14 previews partial prerendering|autore=Paul Krill|sito=InfoWorld|data=2023-10-26|lingua=en|accesso=2023-12-06}}</ref><ref name=":3">{{Cita web|url=https://react.dev/learn/start-a-new-react-project|titolo=Start a New React Project – React|sito=react.dev|lingua=en|accesso=2023-12-06}}</ref><ref name=":4">{{Cita web|url=https://medium.com/bina-nusantara-it-division/next-js-the-complete-overview-and-why-its-gaining-popularity-77db5c47dc6d|titolo=Next.js: The Complete Overview and Why It’s Gaining Popularity|autore=tong eric|sito=Bina Nusantara IT Division|data=2023-06-30|lingua=en|accesso=2023-12-06}}</ref>
 
Next.js è basato sulla [[Libreria (software)|libreria]] per [[JavaScript]] [[React (web framework)|React]] e utilizza [[Node.js]] come [[Run-time system|ambiente di runtime]] per eseguire il server. Supporta linguaggi come [[TypeScript]] e [[Sass]].<ref name=":32" /><ref>{{Cita web|urlname=https"://www.infoworld.com/article/3709608/nextjs-14-previews-partial-prerendering.html|titolo=Next.js3" 14 previews partial prerendering|autore=Paul Krill|sito=InfoWorld|data=2023-10-26|lingua=en|accesso=2023-12-06}}</ref>
 
È uno dei framework per applicazioni web più popolari nell'industria.<ref name=":4" /><ref>{{Cita web|url=https://www.businessinsider.com/vercel-nextjs-pitch-deck-40-million-zeit-2020-12|titolo=Here's the pitch deck Vercel used to raise a $40 million Series B — its second funding round of the year — as it sees 'skyrocketing' popularity for its developer tools|autore=Rosalie Chan|sito=Business Insider|lingua=en-US|accesso=2023-12-06}}</ref>
 
== Caratteristiche Principali ==
Next.js si distingue dagli altri framework web per diverse ragioni.
 
#Il Server-Side Rendering (SSR): il, rendering lato server) di Next.js permette un caricamento più veloce delle pagine e l'esecuzione di processi privati da parte del server.<ref name=":0" /><ref name=":1" /><ref name=":2" /><ref name=":4" />
 
# Static Site Generation (SSG): la capacità di generare pagine statiche durante la fase di compilazione consente di ottimizzare ulteriormente le prestazioni di distribuzione di siti web attraverso [[Content Delivery Network|CDN]].<ref name=":0" /><ref name=":1" />
La capacità di generare pagine statiche durante la fase di compilazione (Static Site Generation, SSG) consente inoltre al framework di ottimizzare ulteriormente le prestazioni di distribuzione di siti web attraverso [[Content Delivery Network|CDN]].<ref name=":0" /><ref name=":1" />
# Routing Dinamico: il sistema di routing di Next.js è basato su pagina, semplificandone il funzionamento e rimuovendo la necessità di librerie aggiuntive.<ref name=":0" /><ref name=":2" /><ref name=":4" />
 
# Hot Module Replacement (HMR): Next.js supporta HMR, consentendo agli sviluppatori di visualizzare le modifiche in tempo reale senza dover ricaricare l'intera pagina.<ref name=":0" /><ref name=":4" />
Il sistema di routing dinamico di Next.js è basato su pagina, semplificandone il funzionamento e rimuovendo la necessità di librerie aggiuntive.<ref name=":0" /><ref name=":2" /><ref name=":4" />
# Ecosistema React: essendo basato su React.js, Next.js sfrutta il vasto ecosistema di librerie e componenti di React.<ref name=":3" />
 
Next.js supporta il HMR (Hot Module Replacement), consentendo agli sviluppatori di visualizzare le modifiche in tempo reale senza dover ricaricare l'intera pagina.<ref name=":0" /><ref name=":4" />
 
Infine, essendo basato su React.js, Next.js sfrutta il vasto ecosistema di librerie e componenti di React.<ref name=":3" />
 
== Storia ==
Next.js fu rilasciato inizialmente come progetto open-source su [[GitHub]] il [[25 ottobre]] [[2016]].<ref>{{Cita web|lingua=en|url=https://github.com/vercel/next.js/releases/tag/1.0.0|titolo=Release 1.0.0 · vercel/next.js|sito=GitHub|accesso=2025-02-25}}</ref> Era basato principalmente su sei principi: funzionalità pronte all'uso senza installazioni, uso completo di [[JavaScript]], tutte le funzioni scritte in JavaScript, [[Lato server|server-rendering]] e suddivisone del codice automatici, data-fetching configurabile, richieste anticipate, sviluppo semplificato.
 
Dalla prima pubblicazione vennero poi implementati aggiornamenti con cadenza annuale. Aggiornamento degno di nota fu Next.js 13, pubblicato il [[26 ottobre]] [[2022]], che portò un nuovo pattern per il routing in [[Ciclo di vita del software|beta]], con l'aggiunta di App Router e il supporto ai layout, React Server Components, lo streaming e un nuovo set di metodi per il data-fetching. A questo si aggiunse l'annuncio di nuovi strumenti per lo sviluppo [[Front-end e back-end|front-end]] chiamato Turbo, incluso Turbopack come successore di Webpack, Turborepo per sistemi di build incrementale.<ref name=":5">{{Cita web|lingua=en|autore=Balázs Orbán, Delba de Oliveira, DongYoon Kang, Jiachi Liu, J. J. Kasper, Lee Robinson, Maia Teegarden, Sebastian Markbåge, Shu Ding, Steven, Tim Neutkens|url=https://nextjs.org/blog/next-13|titolo=Next.js 13|sito=nextjs.org|data=2022-10-25|accesso=2025-02-25}}</ref>
 
=== Versioni ===
Di seguito una lista non completa delle versioni pubblicate con indicazione in grassetto delle [[Versione (sviluppo software)|major release]].
{| class="wikitable"
|+
!Versione
!Data di pubblicazione
!Cambiamenti
!Note
|-
|'''1.0.0'''
|25 ottobre 2016
|Versione pubblica iniziale.
|
|-
|'''2.0.0'''
|marzo 2017
|
|<ref>{{Cita web|lingua=en|url=https://www.infoworld.com/article/2257962/nextjs-20-plays-better-with-react-and-javascript.html|titolo=Next.js 2.0 plays better with React and JavaScript|sito=InfoWorld|accesso=2025-02-25}}</ref>
|-
|'''7.0.0'''
|settembre 2018
|Aggiunto il supporto per l'[[Application programming interface|API]] React Context, miglioramenti alla gestione degli errori, aggiunto [[Webpack]] 4.
|<ref>{{Cita web|lingua=en|url=https://www.infoworld.com/article/2257076/nextjs-7-framework-compiles-faster-supports-webassembly.html|titolo=Next.js 7 framework compiles faster, supports WebAssembly|sito=InfoWorld|accesso=2025-02-25}}</ref>
|-
|'''8.0.0'''
|11 febbraio 2019
|Distribuzione serverless delle app, con codice suddiviso in [[Funzione anonima|funzioni lamda]] avviate su richiesta. Ridotto il tempo per le esportazioni statiche e migliorate le performance di pre-fetch.
|<ref>{{Cita web|lingua=en|url=https://www.infoworld.com/article/2259193/nextjs-8-now-supports-serverless-apps.html|titolo=Next.js 8 now supports serverless apps|sito=InfoWorld|accesso=2025-02-25}}</ref>
|-
|'''9.0.0'''
|8 luglio 2019
|Supporto a [[TypeScript]] automatico, routing file-based,
|<ref>{{Cita web|lingua=en|autore=Connor Davis, J. J. Kasper, Joe Haddad, Luis Alvarez, Lukáš Huvar, Tim Neutkens|url=https://nextjs.org/blog/next-9|titolo=Next.js 9|sito=nextjs.org|data=2019-07-08|accesso=2025-02-25}}</ref>
|-
|9.3.0
|9 marzo 2020
|Supporto a [[Sass]] e moduli [[CSS]].
|<ref>{{Cita web|lingua=en|autore=J. J. Kasper, Joe Haddad, Luis Alvarez, Shu Uesugi, Tim Neutkens|url=https://nextjs.org/blog/next-9-3|titolo=Next.js 9.3|sito=nextjs.org|data=2020-03-09|accesso=2025-02-25}}</ref>
|-
|9.5.0
|27 luglio 2020
|Aggiunta il supporto alla rigenerazione statica, riscrittura e reindirizzamento incrementale.
|<ref>{{Cita web|lingua=en|url=https://www.infoworld.com/article/2259321/nextjs-adds-incremental-static-pages-regeneration.html|titolo=Next.js adds incremental static pages regeneration|sito=InfoWorld|accesso=2025-02-25}}</ref>
|-
|'''10.0.0'''
|27 ottobre 2020
|Supporto a [[React (web framework)|React]] 17, ottimizzazione automatica delle immagini, supporto all'importazione CSS di terze parti tramite [[Npm (software)|npm]].
|<ref>{{Cita web|lingua=en|autore=Belén Curcio, Connor Davis, J. J. Kasper, Joe Haddad, Luis Alvarez, Shu Uesugi, Steven, Tim Neutkens|url=https://nextjs.org/blog/next-10|titolo=Next.js 10|sito=nextjs.org|data=2020-10-27|accesso=2025-02-25}}</ref>
|-
|'''11.0.0'''
|15 giugno 2021
|Aggiunto il supporto a [[Webpack]] 5, la funzionalità in anteprima "Next.js Live" per lo sviluppo real-time collaborativo, una funzione sperimentale per la conversione e migrazione automatica da Create React App a Next.js.
|<ref>{{Cita web|lingua=en|autore=J. J. Kasper, Shu Ding, Tim Neutkens, Tobias Koppers|url=https://nextjs.org/blog/next-11|titolo=Next.js 11|sito=nextjs.org|data=2021-06-15|accesso=2025-02-25}}</ref>
|-
|'''12.0.0'''
|26 ottobre 2021
|Aggiunto il compiler Rust, supporto [[AVIF]], funzioni Edge e Middleware, importazione nativa ESM & URL. Supporto a [[React (web framework)|React]] 18,
|<ref>{{Cita web|lingua=en|autore=Connor Davis, DongYoon Kang, Gerald Monaco, Javi Velasco, Jiachi Liu, J. J. Kasper, Kara Erickson, Maia Teegarden, Shu Ding, Steven, Tim Neutkens, Tobias Koppers|url=https://nextjs.org/blog/next-12|titolo=Next.js 12|sito=nextjs.org|data=2021-10-26|accesso=2025-02-25}}</ref>
|-
|'''13.0.0'''
|26 ottobre 2022
|Aggiunto un nuovo pattern in beta per il routing, con App Router e supporto ai layouts, React Server Components, streaming e un nuovo set di metodi per il data-fetching. Annunciato un nuovo set di strumenti per lo sviluppo front-end chiamato Turbo, con Turbopack in sostituzione di Webpack e Turborepo per sistemi di build incrementali.
|<ref name=":5" />
|-
|13.1.0
|22 dicembre 2022
|
|<ref>{{Cita web|lingua=en|autore=O. J. Kwon, Tim Neutkens|url=https://nextjs.org/blog/next-13-1|titolo=Next.js 13.1|sito=nextjs.org|data=2022-12-22|accesso=2025-02-25}}</ref>
|-
|13.2.0
|23 febbraio 2023
|
|<ref>{{Cita web|lingua=en|autore=Casey Gowrie, Jimmy Lai, Luba Kravchenko, Tim Neutkens|url=https://nextjs.org/blog/next-13-2|titolo=Next.js 13.2|sito=nextjs.org|data=2023-02-23|accesso=2025-02-25}}</ref>
|-
|13.3.0
|6 aprile 2023
|
|<ref>{{Cita web|lingua=en|autore=Delba de Oliveira, Tim Neutkens|url=https://nextjs.org/blog/next-13-3|titolo=Next.js 13.3|sito=nextjs.org|data=2023-04-06|accesso=2025-02-25}}</ref>
|-
|13.4.0
|4 maggio 2023
|Versione stabile di App Router per l'uso in produzione.
|<ref>{{Cita web|lingua=en|autore=Sebastian Markbåge, Tim Neutkens|url=https://nextjs.org/blog/next-13-4|titolo=Next.js 13.4|sito=nextjs.org|data=2023-05-04|accesso=2025-02-25}}</ref>
|-
|13.5.0
|19 settembre 2023
|
|<ref>{{Cita web|lingua=en|autore=Jimmy Lai, Tim Neutkens, Tobias Koppers|url=https://nextjs.org/blog/next-13-5|titolo=Next.js 13.5|sito=nextjs.org|data=2023-09-19|accesso=2025-02-25}}</ref>
|-
|'''14.0.0'''
|26 ottobre 2023
|Migliorata la gestione della memoria.
|<ref>{{Cita web|lingua=en|url=https://github.com/vercel/next.js/releases/tag/v14.0.0|titolo=Release v14.0.0 · vercel/next.js|sito=GitHub|accesso=2025-02-25}}</ref>
|-
|14.1.0
|18 gennaio 2024
|
|<ref>{{Cita web|lingua=en|autore=Jiachi Liu, Jimmy Lai|url=https://nextjs.org/blog/next-14-1|titolo=Next.js 14.1|sito=nextjs.org|data=2024-01-18|accesso=2025-02-25}}</ref>
|-
|14.2.0
|11 aprile 2024
|
|<ref>{{Cita web|lingua=en|autore=Delba de Oliveira, Tim Neutkens|url=https://nextjs.org/blog/next-14-2|titolo=Next.js 14.2|sito=nextjs.org|data=2024-04-11|accesso=2025-02-25}}</ref>
|-
|'''15.0.0'''
|21 ottobre 2024
|Supporto a [[React (web framework)|React]] 19, miglioramenti a Turbopack, aggiunta API per l'osservazione della [[Ciclo di vita del software|life-cycle]], miglioramenti ai form HTML per la navigazione lato client, supporto [[TypeScript]] per il file di configurazione, supporto a ESLint 9.
|<ref>{{Cita web|lingua=en|autore=Delba de Oliveira, Jimmy Lai, Rich Haines|url=https://nextjs.org/blog/next-15|titolo=Next.js 15|sito=nextjs.org|data=2024-10-21|accesso=2025-02-25}}</ref>
|-
|15.1.0
|10 dicembre 2024
|
|<ref>{{Cita web|lingua=en|autore=Janka Uryga, Jiachi Liu, Sebastian Silbermann|url=https://nextjs.org/blog/next-15-1|titolo=Next.js 15.1|sito=nextjs.org|data=2024-12-10|accesso=2025-02-25}}</ref>
|}
 
== Note ==
Line 32 ⟶ 150:
* [[Front-end e back-end]]
* [[Sito web]]
 
{{Portale|informatica}}
== Collegamenti esterni ==
[[Categoria:Framework per applicazioni web]]
* {{Collegamenti esterni}}
[[Categoria:JavaScript]]
{{Framework per applicazioni web}}
{{Portale|informatica|software libero}}