Next.js

Next.js היא ספריית תוכנה בקוד פתוח שנבנתה על גבי Node.js המאפשרת פונקציונליות של יישומי אינטרנט מבוססי React כגון עיבוד בצד השרת ויצירת אתרים סטטיים. תיעוד React מציין את Next.js בין "שרשרת הכלים המומלצת" וממליץ עליו למפתחים כפתרון כאשר "בונים אתר עם Node.js". אפליקציות React המסורתיות מציגות את כל התוכן שלהן בדפדפן בצד הלקוח, Next.js משמש להרחבת פונקציונליות זו כך שתכלול יישומים המעובדים בצד השרת. זכויות היוצרים והסימנים המסחריים של Next.js הם בבעלות חברת Vercel (ששמה בעבר ZEIT), שגם מתחזקת ומובילה את פיתוח הקוד הפתוח שלה. Next.js היא ספריית React המאפשרת מספר תכונות נוספות, כולל עיבוד בצד השרת ויצירת אתרים סטטיים. React היא ספריית JavaScript המשמשת באופן מסורתי לבניית יישומי אינטרנט המעובדים בדפדפן של הלקוח עם JavaScript. עם זאת, מפתחים מזהים מספר בעיות באסטרטגיה זו, כמו אי שירות למשתמשים שאין להם גישה ל-JavaScript או שהשביתו אותו, בעיות אבטחה פוטנציאליות, זמני טעינת דפים ארוך באופן משמעותי, וזה יכול לפגוע באופטימיזציה הכוללת של האתר למנועי החיפוש. ספריות כגון Next.js עוקפות את הבעיות הללו על ידי מתן אפשרות לעיבוד חלק מהאתר או כולו בצד השרת לפני שליחתו ללקוח. Next.js הוא אחד הרכיבים הפופולריים ביותר הזמינים ב-React. זוהי אחת מכמה "שרשראות כלים" מומלצות הזמינות בעת הפעלת אפליקציה חדשה, כולן מספקות שכבת הפשטה כדי לסייע במשימות נפוצות. Next.js דורש Node.js וניתן לאתחל אותו באמצעות Node Package Manager (או NPM). גוגל תרמה לפרויקט Next.js, ותרמה 43 בקשות משיכה בשנת 2019 שבהן הם עזרו ב"חיתוך" קטעי JavaScript שאינו בשימוש, צמצום זמן תקורה והוספה של מדדים משופרים. החל ממרץ 2020, הספרייה נמצאת בשימוש על ידי אתרים גדולים רבים, כולל Netflix, GitHub, Uber, Ticketmaster וסטארבקס. בתחילת 2020, הוכרז כי Vercel השיגה עשרים ואחד מיליון דולר במימון סדרה A כדי לתמוך בשיפורים בתוכנה. המחבר המקורי של הספרייה, גיירמו ראוך, הוא כיום מנכ"ל Vercel והמפתח הראשי של הפרויקט הוא טים נייטקנס. Next.js שוחררה לראשונה כפרויקט קוד פתוח ב-GitHub ב-25 באוקטובר 2016. היא פותחה במקור על בסיס שישה עקרונות: פונקציונליות מחוץ לקופסה שאינה דורשת הגדרה, JavaScript בכל מקום, כל הפונקציות כתובות ב-JavaScript, פיצול קוד ועיבוד שרת אוטומטי, שליפת נתונים ניתנים להגדרה, ציפייה לבקשות ופישוט הפריסה. Next.js 2.0 הוכרז במרץ 2017 כולל מספר שיפורים שהקלו על העבודה עם אתרים קטנים. זה גם הגדיל את יעילות הבנייה ושיפר את יכולת ההרחבה של תכונת החלפת המודול החם. גרסה 7.0 שוחררה בספטמבר 2018 עם טיפול משופר בשגיאות ותמיכה ב-Context API של React לטיפול משופר במסלולים דינמיים. זו הייתה גם הגרסה הראשונה ששדרגה ל-webpack 4. גרסה 8.0 שוחררה בפברואר 2019 והייתה הגרסה הראשונה שהציעה פריסה ללא שרת של אפליקציות, שבהן הקוד מפוצל לפונקציות למדא המופעלות לפי דרישה. הגרסה גם צמצמה את הזמן והמשאבים הדרושים ליצוא סטטי ושיפור ביצועי השליפה מראש. גרסה 9.3, שהוכרזה במרץ 2020, כללה אופטימיזציות שונות ותמיכה גלובלית במודול Sass ו-CSS. ב-27 ביולי 2020 הוכרזה גרסה 9.5 של Next.js, שהוסיפה יכולות חדשות לרבות חידוש סטטי מצטבר, שכתובים ותמיכה בהפניה מחדש. ב-15 ביוני 2021 שוחררה גרסה 11 של Next.js, המציגה בין היתר: תמיכה ב-Webpack 5, תצוגה מקדימה של פונקציונליות קידוד שיתופי בזמן אמת "Next.js Live", ופונקציה ניסיונית של המרה אוטומטית מאפליקציית Create React ל-Next.js טופס תואם "Create App Migration React". ב-26 באוקטובר 2021, Next.js 12 שוחררה, והוסיפה מהדר Rust, מה שהופך את ההידור למהיר יותר, תמיכה ב-AVIF, Edge Functions & Middleware, וייבוא מקורי של ESM ו-URL. Angular LAMP "Case Study - Hulu | Next.js". nextjs.org (באנגלית). נבדק ב-2020-10-16. Smith, Craig S. "Have You Noticed The New Web? It's Faster, More Secure". Forbes (באנגלית). נבדק ב-2020-10-16. April 3, Matt Asay in Developer on; 2020; Pst, 4:07 Pm. "Front-end frameworks are about to get even cooler, says Google lead". TechRepublic (באנגלית). נבדק ב-2020-10-16.{{cite web}}: תחזוקה - ציטוט: numeric names: authors list (link) Asay, Matt (2020-06-01). "How GraphQL turned web development on its head". InfoWorld (באנגלית). נבדק ב-2020-10-20. "Recommended Toolchains". React documentation. נבדק ב-10 ביולי 2021. {{cite web}}: (עזרה) "Develop. Preview. Ship. For the best frontend teams – Vercel". vercel.com. אורכב מ-המקור ב-2021-10-06. נבדק ב-2020-09-22. "Differences Between Static Generated Sites And Server-Side Rendered Apps". Smashing Magazine (באנגלית). 2020-07-02. נבדק ב-2020-10-19. Thakkar, Mohit (2020), Thakkar, Mohit (ed.), "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, doi:10.1007/978-1-4842-5869-9_3, ISBN 978-1-4842-5869-9, נבדק ב-2020-10-20 Thakkar, Mohit (2020), Thakkar, Mohit (ed.), "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, doi:10.1007/978-1-4842-5869-9_4, ISBN 978-1-4842-5869-9, נבדק ב-2020-10-20 December 2, Matt Asay in Developer on; 2019; Pst, 11:58 Am. "Why front-end development may be the new frontier". TechRepublic (באנגלית). נבדק ב-2020-10-20.{{cite web}}: תחזוקה - ציטוט: numeric names: authors list (link) "Comparing Styling Methods In Next.js". Smashing Magazine (באנגלית). 2020-09-17. נבדק ב-2020-10-20. January 31, Matt Asay in Developer on; 2020; Pst, 6:33 Pm. "An insider's look at Google's web framework contributions to Next.js and more". TechRepublic (באנגלית). נבדק ב-2020-10-19.{{cite web}}: תחזוקה - ציטוט: numeric names: authors list (link) "Static site generation with single page app functionality? That's what's coming Next(.js)". Stack Overflow Blog (באנגלית אמריקאית). 2020-10-07. נבדק ב-2020-10-20. Krill, Paul (2016-10-31). "Next step after Node.js: Framework for 'universal' JavaScript apps". InfoWorld (באנגלית). נבדק ב-2020-10-20. Krill, Paul (2017-03-28). "Next.js 2.0 plays better with React and JavaScript". InfoWorld (באנגלית). נבדק ב-2020-10-20. Krill, Paul (2018-09-21). "Next.js 7 framework compiles faster, supports WebAssembly". InfoWorld (באנגלית). נבדק ב-2020-10-20. Krill, Paul (2019-02-14). "Next.js 8 now supports serverless apps". InfoWorld (באנגלית). נבדק ב-2020-10-20. Krill, Paul (2020-03-12). "Next.js upgrade emphasizes static site generation". InfoWorld (באנגלית). נבדק ב-2020-10-20. Krill, Paul (27 ביולי 2020). "Next.js adds incremental static pages regeneration". InfoWorld. אורכב מ-המקור ב-2 באוקטובר 2020. נבדק ב-22 בספטמבר 2020. {{cite web}}: (עזרה) "Next.js 11". נבדק ב-2021-07-10. "Next.js 12". nextjs.org (באנגלית). נבדק ב-2021-10-27.