Next.js je open source vývojový framework postavený na prostredí Node.js, ktorý rozširuje funkcionalitu webových aplikácií vytvorených v knižnici React o ďalšie funkcie ako napríklad: vykresľovanie na strane servera a generovanie 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“.[1] Š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.

Next.js

Logo
Základné informácie
AutorGuillermo Rauch
VývojárVercel a open-source komunita
Posledná stabilná verzia12.0.1 (26. október 2021)
Repozitárgithub.com/vercel/next.js
Vyvinutý vJavaScript, TypeScript a Rust
LicenciaMIT licencia
Ďalšie odkazy
Webová stránkanextjs.org

Pozri aj Informačný portál

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.[2]

Informácie upraviť

Next.js je framework založený na knižnici React, ktorý rozširuje knižnicu React o niekoľko ďalších funkcií ako napríklad: vykresľovania na strane servera a generovania statických webových stránok.[3] React je 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.[4] 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áciu stránky pre vyhľadávače.[4] 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.[4][5] Next.js je jedným z najpopulárnejších komponentov dostupných v knižnici React.[6] 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í.[7] Next.js vyžaduje prostredie Node.js a tento framework je možné nastaviť pomocou technológie 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.[8] 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.[9] 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.[10]

História vývoja upraviť

Next.js bol prvýkrát vydaný ako open-source projekt na platforme GitHub dňa 25. október 2016; pred 2747 dňami.[11] 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.[12] 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.[13] 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.[14] 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 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.[15] Verzia 9.3, ohlásená v marci 2020, zahŕňala rôzne optimalizácie a globálnu podporu modulov Sass a CSS.[16] 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.[17] 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“.[16] Dňa 26. októbra 2021 bol vydaný Next.js 12, ktorý pridal kompilátor Rust, vďaka čomu je kompilácia rýchlejšia, podpora AVIF, Edge Functions & Middleware a Native ESM & URL Imports.[17]

Štylizovanie a funkcie upraviť

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.[9] Framework Next.js podporuje bežné CSS, ako aj predkompilované Scss a Sass, CSS-in-JS a štylizované JSX.[7] Navyše Next.js podporuje programovací jazyk TypeScript a inteligentné viazanie.[18] Open source transpiler 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 v príkazovom riadku.[8]

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, ale niektoré prehliadače budú vyžadovať opätovné obnovenie webovej stránky.[4] 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.[4]

Podobný softvér upraviť

Referencie upraviť