Redaktor:TheEnglishTranslator/Next.js
Vzhľad
Poznámka: Aby sa zmeny prejavili, po uložení musíte vymazať vyrovnávaciu pamäť vášho prehliadača. Mozilla / Firefox / Safari: držte stlačený Shift a kliknite na Reload alebo stlačte buď Ctrl-F5 alebo Ctrl-R (Command-R na Macintosh); Konqueror:: kliknite na tlačidlo Reload alebo stlačte F5; Opera vymazať vyrovnávaciu pamäť prehliadača v ponuke Tools→Preferences; Internet Explorer: držte Ctrl a kliknite na Refresh alebo stlačte Ctrl-F5;
{{db-author}}
'''Next.js''' je [[Open-source|open source]] vývojový framework postavený na prostredí [[Node.js|Node.js,]] ktorý rozširuje funkcionalitu webových aplikácií vytvorených v knižnici [[React (webový framework)|React]] o ďalšie funkcie ako napríklad: [[Skriptovanie na strane servera|vykresľovanie na strane servera]] a generovanie [[Statická webová stránka|statických webových stránok]] . Dokumentácia knižnice React uvádza nástroj Next.js medzi "Odporúčanými nástrojmi", a odporúča tento nástroj vývojárom ako riešenie pri "vytváraní serverom vykresľovanej webovej stránky s Node.js". <ref name="React documentation">{{Citácia elektronického dokumentu|url=https://reactjs.org/docs/create-a-new-react-app.html#recommended-toolchains}}</ref> Štandardné aplikácie React vykresľujú svoj obsah v prehliadači na zariadení klienta, Next.js je používaný na rozšírenie tejto funkcie tak, aby umožnila aplikácie vykresľovať na strane servera.
Autorské práva a ochranné známky pre technológiu Next.js vlastní spoločnosť Vercel (predtým nazývaná ZEIT), ktorá taktiež udržiava a vedie open-source vývoj tejto technológie. <ref>{{Citácia elektronického dokumentu|url=https://vercel.com/home}}</ref>
== Informácie ==
Next.js je framework založený na knižnici [[React (webový framework)|React,]] ktorý rozširuje knižnicu React o niekoľko ďalších funkcií ako napríklad: [[Skriptovanie na strane servera|vykresľovania na strane servera]] a generovania [[Statická webová stránka|statických webových stránok]] . <ref name="compareStatic">{{Citácia elektronického dokumentu|url=https://www.smashingmagazine.com/2020/07/differences-static-generated-sites-server-side-rendered-apps/}}</ref> React je [[JavaScript knižnica|JavaScript knižnica,]] ktorá sa štandardne používa na vytváranie webových aplikácií vykresľovaných v prehliadači klienta pomocou programovacieho jazyka JavaScript. <ref name="thakkar1">{{Citácia Harvard|URL=https://doi.org/10.1007/978-1-4842-5869-9_3}}</ref> Vývojári si však uvedomujú niekoľko problémov tohto spôsobu vývoja webových aplikácií, ako napríklad nefunkčnosť webovej stránky v prehliadačoch bez podpory programovacieho jazyka JavaScript, potenciálne bezpečnostné problémy, výrazne predĺžené časy načítania stránky čo môže to poškodiť celkovú [[Optimalizácia pre vyhľadávače|optimalizáciu]] stránky pre vyhľadávače. <ref name="thakkar1" /> Frameworky ako Next.js riešia tieto problémy tým, že umožňujú vykreslenie niektorých alebo všetkých častí webových stránok na strane servera pred odoslaním na zariadenie klientovi. <ref name="thakkar1" /> <ref name="thakkar2">{{Citácia Harvard|URL=https://doi.org/10.1007/978-1-4842-5869-9_4}}</ref> Next.js je jedným z najpopulárnejších komponentov dostupných v knižnici React. <ref>{{Citácia elektronického dokumentu|url=https://www.techrepublic.com/article/why-front-end-development-may-be-the-new-frontier/}}</ref> Je to jeden z niekoľkých odporúčaných „toolchainov“, ktoré sú k dispozícii pri vytváraní novej webovej aplikácie, pričom všetky poskytujú nástroje na zjednodušenie bežných činností. <ref name="SmashingStyle">{{Citácia elektronického dokumentu|url=https://www.smashingmagazine.com/2020/09/comparison-styling-methods-next-js/}}</ref> Next.js vyžaduje prostredie [[Node.js]] a tento framework je možné nataviť pomocou technológie [[Správca balíkov uzlov|Node Package Manager]] .
Spoločnosť [[Google]] prispela do projektu Next.js v roku 2019 pomocou 43 žiadostí o úpravy kódu, v rámci ktorých pomohla zredukovať nepoužívaný [[JavaScript]] kód, znížiť náročnosť na výpočtový výkon a pridať vylepšené metriky. <ref name="insiders">{{Citácia elektronického dokumentu|url=https://www.techrepublic.com/article/insiders-look-at-googles-web-framework-contributions-to-next-js-and-more/}}</ref> K marcu 2020 tento framework používa mnoho veľkých webových stránok vrátane [[Netflix]], [[GitHub]], [[Uber]], [[Ticketmaster]] a [[Starbucks]]. Začiatkom roku 2020 bolo oznámené, že spoločnosť Vercel zabezpečila financovanie série A vo výške 21 miliónov dolárov na podporu vylepšovania a zdokonaľovania softvéru<ref>{{Citácia elektronického dokumentu|url=https://stackoverflow.blog/2020/10/07/qa-with-the-creators-of-next-js-on-version-9-5/}}</ref>. Pôvodný autor frameworku, Guillermo Rauch, je v súčasnosti generálnym riaditeľom spoločnosti Vercel a hlavným vývojárom projektu je Tim Neutkens. <ref>{{Citácia elektronického dokumentu|url=https://www.infoworld.com/article/3136337/next-step-after-nodejs-framework-for-universal-javascript-apps.html}}</ref>
== História vývoja ==
Next.js bol prvýkrát vydaný ako open-source projekt na platforme [[GitHub]] dňa {{Počiatočný dátum a vek|2016|10|25}}.<ref>{{Citácia elektronického dokumentu|url=https://www.infoworld.com/article/3185385/nextjs-20-plays-better-with-react-and-javascript.html}}</ref> Pôvodne bol vyvinutý na základe šiestich princípov: predpripravená funkcionalita nevyžadujúca žiadne nastavenie, využívanie programovacieho jazyka JavaScript na všetky činnosti, všetky funkcie sú napísané v programovacom jazyku JavaScript, automatické delenie kódu a vykresľovanie obsahu stránok na strane servera, konfigurovateľné načítavanie údajov, predvídanie požiadaviek a zjednodušenie nasadenia. <ref>{{Citácia elektronického dokumentu|url=https://www.infoworld.com/article/3307190/nextjs-7-framework-compiles-faster-supports-webassembly.html}}</ref> Next.js 2.0 bol ohlásený v marci 2017. Táto verzia pridala niekoľko vylepšení, ktoré uľahčili prácu s malými webovými stránkami. Zvýšila sa taktiež efektivita zostavovania a zlepšila sa škálovateľnosť funkcie výmeny hot-modulov. <ref>{{Citácia elektronického dokumentu|url=https://www.infoworld.com/article/3340817/nextjs-8-now-supports-serverless-apps.html}}</ref> Verzia 7.0 bola vydaná v septembri 2018 s vylepšeným spracovaním chýb a podporou pre kontextové API knižnice React pre vylepšené dynamické spracovanie webových trás. Bola to taktiež prvá verzia, ktorá prešla na [[webpack]] 4. <ref>{{Citácia elektronického dokumentu|url=https://www.infoworld.com/article/3532316/nextjs-upgrade-emphasizes-static-site-generation.html}}</ref> Verzia 8.0 bola vydaná vo februári 2019 a bola prvou verziou, ktorá pridala funkciu vytvárania aplikácií bez servera, v ktorých je kód rozdelený na [[Funkcia lambda (počítačové programovanie)|funkcie lambda,]] ktoré sa spúšťajú na požiadanie. Nové funkcie v tejto verzii taktiež skrátili čas a zdroje potrebné na statické exporty a zlepšila výkon predbežného načítania obsahu webových stránok. <ref>{{Citácia elektronického dokumentu|url=https://www.infoworld.com/article/3568468/nextjs-adds-incremental-static-pages-regeneration.html}}</ref> Verzia 9.3, ohlásená v marci 2020, zahŕňala rôzne optimalizácie a globálnu podporu modulov [[Sass]] a CSS. <ref name=":0" /> Dňa 27. júla 2020 bola ohlásená verzia Next.js 9.5, ktorá pridala nové možnosti vrátane prírastkovej statickej regenerácie, prepisov a podpory presmerovania. <ref name=":1" /> Dňa 15. júna 2021 bola vydaná verzia Next.js 11, ktorá okrem iného pridala funkcie ako: podpora [[webpack]] 5, ukážka funkcie spoločného kódovania v reálnom čase „Next.js Live“ a experimentálnu funkciu automatického prevodu z aplikácie Create React App na Next.js kompatibilnú podobu „Create React App Migration“. <ref name=":0">{{Citácia elektronického dokumentu|url=https://nextjs.org/blog/next-11}}</ref> Dňa 26. októbra 2021 bol vydaný Next.js 12, ktorý pridál kompilátor Rust, vďaka čomu je kompilácia rýchlejšia, podpora [[AVIF]], Edge Functions & Middleware a Native ESM & URL Imports. <ref name=":1">{{Citácia elektronického dokumentu|url=https://nextjs.org/blog/next-12}}</ref>
== Štylizovanie a funkcie ==
Framework Next.js využíva architektúru [[JAMstack]], ktorá oddeľuje front-end a back-end kód a umožňuje efektívny vývoj front-endu, ktorý je nezávislý od akýchkoľvek back-endových API<ref>{{Citácia elektronického dokumentu|url=https://stackoverflow.blog/2020/10/07/qa-with-the-creators-of-next-js-on-version-9-5/}}</ref>. Framework Next.js podporuje bežné [[Kaskádové štýly|CSS,]] ako aj predkompilované [[Sass (jazyk šablóny so štýlmi)|Scss]] a [[Sass (jazyk šablóny so štýlmi)|Sass]], [[CSS-in-JS]] a štylizované [[JSX (JavaScript)|JSX]] . <ref name="SmashingStyle">{{Citácia elektronického dokumentu|url=https://www.smashingmagazine.com/2020/09/comparison-styling-methods-next-js/}}</ref> Navyše Next.js podporuje programovací jazyk [[TypeScript]] a inteligentné viazanie<ref>{{Cite web|url=https://www.infoworld.com/article/3340817/nextjs-8-now-supports-serverless-apps.html|title=Next.js 8 now supports serverless apps|first=Paul|last=Krill|date=February 14, 2019|website=[[InfoWorld]]|access-date=September 22, 2020|archive-date=October 2, 2020|archive-url=https://web.archive.org/web/20201002001850/https://www.infoworld.com/article/3340817/nextjs-8-now-supports-serverless-apps.html|url-status=live}}</ref>. Open source [[transpiler]] [[Babel (transkompilátor)|Babel]] sa používa na transformáciu a kompiláciu kódu do jazyka JavaScript použiteľného vo webovom prehliadači. Webpack, ďalší open-source nástroj, sa používa na následné spojenie modulov. Všetky tieto nástroje sa používajú s technológiou [[Npm (softvér)|npm]] v príkazovom riadku. <ref name="insiders">{{Citácia elektronického dokumentu|url=https://www.techrepublic.com/article/insiders-look-at-googles-web-framework-contributions-to-next-js-and-more/}}</ref>
Hlavnou črtou frameworku Next.js je použitie vykresľovania obsahu webových stránok na strane servera na zníženie zaťaženia webových prehliadačov a poskytnutie vylepšenej bezpečnosti. Túto funkciu je možné použiť pre ktorúkoľvek časť aplikácie alebo pre celý projekt, čo umožňuje vyčleniť obsahovo náročné stránky a vykresľovať tieto stránky na strane servera. Taktiež je možné túto funkciu použiť len pre nových návštevníkov webových stránok vyvinutých s Next.js, aby sa znížilo zaťaženie webových prehliadačov, ktoré ešte nemajú načítané všetky potrebné súbory webovej stránky. Funkcia "hot reloading" deteguje zmeny a znova vykresľuje príslušné stránky, takže server nemusí byť reštartovaný. To umožňuje, aby sa zmeny vykonané v kóde aplikácie okamžite prejavili vo webovom prehliadači, avšak niektoré prehliadače budú vyžadovať opätovné obnovenie webovej stránky. <ref name="thakkar1" /> Softvér používa smerovanie založené na stránkach pre zjednodušenie práce vývojárov a zahŕňa podporu pre dynamické smerovanie. Medzi ďalšie funkcie patrí výmena tzv. "hot-modulov", aby bolo možné moduly vymieňať za behu aplikácie, automatické rozdeľovanie kódu, ktoré rozdelí kód na časti potrebné na načítanie stránky a predbežné načítanie stránky na skrátenie celkového času načítania webovej . <ref name="thakkar1" />
== Podobný softvér ==
* [[AngularJS]]
* [[LAMP (softvér)]]
* [[Nuxt.js]]
* [[Vue.js]]
<nowiki>
[[Kategória:Softvér pod licenciou MIT]]
[[Kategória:Category:JavaScript knižnice]]</nowiki>