Корисник:GM Red Wing~srwiki/песак

Next.js је веб развојни оквир отвореног кода који је креирала приватна компанија Vercel која пружа веб апликације засноване на React-у са рендеровањем на страни сервера и генерисањем статичког веб сајта .

React документација помиње Next.js међу „препорученим алаткама“ саветујући је програмерима приликом „израде веб локације коју приказује сервер са Node.js“. [1] Док традиционалне React апликације могу рендерујовати свој садржај само у претраживачу на страни клијента, Next.js проширује ову функционалност тако да укључује апликације које се приказују на страни сервера.

Ауторска права и заштитни знаци за Next.js су у власништву Vercel-a, [2] који такође одржава и води развој отвореног кода. [3]

Позадина уреди

Next.js је React оквир који омогућава неколико додатних функција, укључујући приказивање на страни сервера и генерисање статичких веб локација . [4] React је JavaScript библиотека која се традиционално користи за прављење веб апликација које се приказују у клијентовом претраживачу помоћу JavaScript-а. [5] Међутим, програмери су препознали неколико проблема са овом стратегијом, као што је неусклађеност корисника који немају приступ Javascript-u или су га онемогућили, потенцијални безбедносни проблеми, значајно продужено време учитавања страница и штета по општу оптимизацију сајта за претраживаче . [5] Оквири као што је Next.js заобилазе ове проблеме тако што дозвољавају да се нека или цела веб локација прикаже на страни сервера пре него што се пошаље клијенту. [5] [6] Next.js је један од најпопуларнијих оквира за React. [7] То је један од неколико препоручених „ланаца алата“ доступних приликом покретања нове апликације, а сви обезбеђују слој апстракције за помоћ у уобичајеним задацима. [8] Next.js захтева Node.js и може се иницијализовати помоћу нпм-а .

Google је допринео пројекту Next.js, укључујући 43 pull request-a у 2019. [9] Од марта 2022. године, оквир користе многе велике веб странице, укључујући Волмарт, Apple, Најки, Netflix, TikTok, Uber, Lift и Starbucks . [5] Почетком 2020. године, Vercel је прикупио 21 милион долара у финансирању Серије А како би подржао побољшања софтвера. Оригинални аутор оквира, Гиљермо Раух, тренутно је извршни директор Vercela, а водећи одржавач пројекта је Тим Њуткенс. [10]

Next.js је први пут објављен као пројекат отвореног кода на GitHub-а 25. октобра 2016. Првобитно је развијен на основу шест принципа: тренутачно доступна функционалност која не захтева подешавање, доступност JavaScript-а, све функције су написане у JavaScript-у, аутоматско дељење кода и приказивање на серверу, подесиво преузимање података, антиципирање захтева и поједностављивање имплементације. [11]

Next.JS 2.0 је најављен у марту 2017. укључујући неколико побољшања која су олакшала рад са малим веб локацијама. Такође је повећао ефикасност израде и побољшао скалабилност функције замене модула уживо . [12]

Верзија 7.0 је објављена у септембру 2018. са побољшаним руковањем грешкама и подршком за React-ов контекст API за унапређено динамичко управљање рутама. Ово је такође била прва верзија која је надограђена на Webpack 4. [13]

Верзија 8.0 је објављена у фебруару 2019. и била је прва која је понудила примену апликација без сервера, у којој је код подељен на анонимне функције које се покрећу на захтев. Верзија је такође смањила време и ресурсе потребне за статички извоз и побољшала перформансе претходног преузимања. [14]

Верзија 9.3, најављена у марту 2020, је укључивала различите оптимизације и глобалну подршку Sass (стилски језик) и CSS модуле. [15]

Дана 27. јула 2020. објављена је верзија Next.js 9.5, додајући нове могућности као што су инкрементална статичка регенерација, поновно уписивање и подршку за преусмеравања. [16]

15. јуна 2021. објављена је верзија Next.js 11, која је између осталог увела: подршку за Webpack 5, преглед функционалности за колаборативно кодирање у реалном времену „Next.js Live“ и експерименталну функцију аутоматске конверзије из Create React апликације у Next.js компатибилан образац „Create React App Migration“. [17]

26. октобра 2021, Next.js 12 је пуштен у продају, додајући Rust компајлер, чинећи компилацију бржом, подршку за AVIF, Edge Functions & Middleware и Native ESM & URL Imports. [18]

Vercel је 26. октобра 2022. објавио Next.js 13. Ово велико издање донело је нови образац рутирања у бета верзији, са додатком App Router-а који укључује подршку за распореде, компоненте React Server, стриминг и нови сет метода за преузимање података. Штавише, Vercel је најавио нови ланац алата за фронт-енд развој под називом Turbo, укључујући Turbopack као наследника Webpack-а, Turborepo за инкременталне системе израде. [19]

У мају 2023. Vercel је објавио Next.js 13.4. Ово је са собом донело стабилну верзију App Router-а, која омогућава програмерима да га користе у производњи. [20]

У октобру 2023. Vercel је објавио Next.js 14, који долази са побољшаним управљањем меморијом уз коришћење edge runtime-а. [21]

Стил и карактеристике уреди

Next.js подржава стилизовање са CSS-ом, као и унапред компајлирани Sass и Scss, CSS-in-JS и стилизовани JSX . [8] Поред тога, израђен је са подршком за TypeScript и паметним пакетом. [22] Transpiler отвореног кода SWC се користи за трансформацију и превођење кода у JavaScript који може да користи претраживач. [23] Webpack, још једна алатка отвореног кода, користи се за накнадно спајање модула, међутим тренутно се замењује TurboPack-ом. [24] Сви ови алати се користе са npm-ом у терминалу. [9]

Главна карактеристика Next.js-а је његова употреба рендеровања на страни сервера како би се смањио терет веб претраживача и обезбедила побољшана безбедност[тражи се извор]</link> . Ово се може урадити за било који део апликације или цео систем, омогућавајући да се странице богате садржајем издвајају за приказивање на страни сервера. [5] Такође се то може урадити и за посетиоце који први пут посећују страницу, како би се смањило оптерећење веб претраживача који тек треба да преузме било које од средстава сајта. [6] Функција „hot reloading“ детектује промене у ходу и поново приказује одговарајуће странице како би сервер избегао потребу за поновним покретањем. Ово омогућава да се измене у коду апликације одмах прикажу у веб претраживачу, иако ће неки претраживачи захтевати да се страница освежи. [5] Софтвер користи рутирање засновано на страницама за погодност програмерима и укључује подршку за динамичко рутирање. Остале карактеристике укључују замену hot modul-а тако да се могу заменити уживо, аутоматско раздвајање кода, које укључује само код потребан за учитавање странице, и претходно преузимање странице како би се смањило време учитавања. [5]

Next.js такође подржава инкременталну статичку регенерацију [25] и генерисање статичког сајта – компајлирана верзија веб локације се обично прави током израде и чува као .next фолдер. Када корисник упути захтев, унапред направљене верзија преко статичних HTML страница се кешује и шаље се назад. Ово чини време учитавања веома брзим, али није погодно за сваку веб локацију, посебно за интерактивне сајтове који се често мењају и користе много корисничког уноса.

Такође видети уреди

Референце уреди

  1. ^ „Recommended Toolchains” (HTML). React documentation (на језику: енглески). Приступљено 10. 7. 2021. 
  2. ^ Next.js Brand Guidelines, 26. 8. 2022 
  3. ^ „Develop. Preview. Ship. For the best frontend teams – Vercel” (HTML). vercel.com (на језику: енглески). Архивирано из оригинала 2021-10-06. г. Приступљено 2020-09-22. 
  4. ^ „Differences Between Static Generated Sites And Server-Side Rendered Apps”. Smashing Magazine (на језику: енглески). 2020-07-02. Приступљено 2020-10-19. 
  5. ^ а б в г д ђ е Thakkar, Mohit (2020), Thakkar, Mohit, ур., „Next.js”, Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications (на језику: енглески), Berkeley, CA: Apress: 93—137, ISBN 978-1-4842-5869-9, doi:10.1007/978-1-4842-5869-9_3, Приступљено 2020-10-20 
  6. ^ а б Thakkar, Mohit (2020), Thakkar, Mohit, ур., „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: 139—152, ISBN 978-1-4842-5869-9, doi:10.1007/978-1-4842-5869-9_4, Приступљено 2020-10-20 
  7. ^ Asay, Matt (2. 12. 2019). „Why front-end development may be the new frontier”. TechRepublic (на језику: енглески). Приступљено 2020-10-20. 
  8. ^ а б Lukman, Adebiyi Adedotun (2020-09-17). „Comparing Styling Methods In Next.js”. Smashing Magazine (на језику: енглески). Приступљено 2020-10-20. 
  9. ^ а б Asay, Matt (1. 2. 2020). „An insider's look at Google's web framework contributions to Next.js and more”. TechRepublic (на језику: енглески). Приступљено 2020-10-19. 
  10. ^ Donovan, Ryan (2020-10-07). „Static site generation with single page app functionality? That's what's coming Next(.js)” (html). Stack Overflow Blog (на језику: енглески). Приступљено 2020-10-20. 
  11. ^ Krill, Paul (2016-10-31). „Next step after Node.js: Framework for 'universal' JavaScript apps”. InfoWorld (на језику: енглески). Приступљено 2020-10-20. 
  12. ^ Krill, Paul (2017-03-28). „Next.js 2.0 plays better with React and JavaScript”. InfoWorld (на језику: енглески). Приступљено 2020-10-20. 
  13. ^ Krill, Paul (2018-09-21). „Next.js 7 framework compiles faster, supports WebAssembly”. InfoWorld (на језику: енглески). Приступљено 2020-10-20. 
  14. ^ Krill, Paul (2019-02-14). „Next.js 8 now supports serverless apps”. InfoWorld (на језику: енглески). Приступљено 2020-10-20. 
  15. ^ Krill, Paul (2020-03-12). „Next.js upgrade emphasizes static site generation”. InfoWorld (на језику: енглески). Приступљено 2020-10-20. 
  16. ^ Krill, Paul (27. 7. 2020). „Next.js adds incremental static pages regeneration”. InfoWorld. Архивирано из оригинала 2. 10. 2020. г. Приступљено 22. 9. 2020. 
  17. ^ „Next.js 11”. Приступљено 2021-07-10. 
  18. ^ „Next.js 12”. nextjs.org (на језику: енглески). Приступљено 2021-10-27. 
  19. ^ Orbán, Balázs (2022-10-25). „Next.js 13”. nextjs.org (на језику: енглески). Приступљено 2023-06-09. 
  20. ^ Markbåge, Sebastian, Tim Neutkens (2023-05-04). „Next.js 13.4”. nextjs.org (на језику: енглески). Приступљено 2023-06-07. 
  21. ^ „Next.js 14.0.0”. nextjs.org (на језику: енглески). 2023-12-08. Приступљено 2023-11-26. 
  22. ^ Krill, Paul (14. 2. 2019). „Next.js 8 now supports serverless apps”. InfoWorld. Архивирано из оригинала 2. 10. 2020. г. Приступљено 22. 9. 2020. 
  23. ^ „Architecture: Next.js Compiler | Next.js”. nextjs.org (на језику: енглески). Приступљено 2023-08-19. 
  24. ^ „Architecture: Turbopack | Next.js”. nextjs.org (на језику: енглески). Приступљено 2023-08-19. 
  25. ^ „Incremental Static Regeneration with Next.js”. Vercel (на језику: енглески). Приступљено 2022-03-06. 

Спољашње везе уреди

[[Категорија:Софтвер са МИТ лиценцом]] [[Категорија:Веб фрејмворк]] [[Категорија:CS1 одржавање: BOT: статус параметра оригинални-URL непознат]]