Next.js مقابل Gatsby في 2026: دليل القرار الشامل للإنتاج
لقد كنت أبني مواقع الإنتاج باستخدام Next.js و Gatsby منذ عام 2019. شاهدت Gatsby تجمع 46 مليون دولار، تتم الاستحواذ عليها من قبل Netlify، ثم يتم التخلي عنها بهدوء. لقد هاجرت ثلاثة مواقع Gatsby للمؤسسات إلى Next.js في عام 2025 وحده. هذا ليس مقارنة نظرية — إنه تحليل ما بعد الوفيات لإطار عمل وتقييم صادق للآخر.
إذا كنت تقوم بتشغيل Gatsby في الإنتاج، فأنت بحاجة إلى خطة هجرة. إذا كنت تختار إطار عمل لمشروع جديد، فالإجابة مباشرة لكن دقيقة. دعني أسير معك من خلال كل شيء.
جدول المحتويات
- حالة Gatsby في 2026
- Next.js في 2026: ما الذي تغير فعلاً
- معايير الأداء: Lighthouse، حجم الحزمة، Core Web Vitals
- مقارنة العمارة: RSC، App Router، SSG، ISR
- تجربة المطور والنظام البيئي
- إجمالي تكلفة الملكية
- مسار الهجرة: Gatsby إلى Next.js
- عندما لا يكون Next.js هو الحل
- الحكم
- الأسئلة الشائعة

حالة Gatsby في 2026
لا نغلف الأمور. Gatsby مهجورة عملياً بكل المعايير.
استحوذت Netlify على Gatsby Inc. في فبراير 2023. كان الوعد بالاستمرار في التطوير والتكامل مع منصة Netlify. ما حدث فعلاً كان انحداراً بطيئاً. آخر إصدار مهم من Gatsby (v5.13) صدر في أواخر 2023. كان لدى مستودع GitHub حد أدنى من التزامات الصيانة منذ منتصف 2024. غادر المسؤولون الرئيسيون. النظام البيئي للبرامج الإضافية توقف — لم يتم تحديث العديد من البرامج الإضافية الشهيرة منذ أكثر من 18 شهراً.
إليك الجدول الزمني الذي يهمك:
| التاريخ | الحدث |
|---|---|
| فبراير 2023 | استحوذت Netlify على Gatsby Inc. |
| الربع الثالث 2023 | تم إصدار Gatsby v5.13 (آخر إصدار مهم) |
| الربع الأول 2024 | تم إيقاف Gatsby Cloud رسمياً |
| الربع الثاني 2024 | غادر أعضاء الفريق الأساسيين Netlify |
| الربع الرابع 2024 | تنزيلات npm الأسبوعية تنخفض إلى أقل من 150k (من ذروة 800k+) |
| الربع الأول 2025 | أزالت Netlify مستندات Gatsby المحددة من التنقل الأساسي |
| 2026 | لا إصدار v6، لا خارطة طريق، فعلياً في وضع الصيانة |
أرقام تنزيلات npm تحكي القصة. في ذروتها في 2021، كانت Gatsby تسحب أكثر من 800000 تنزيل أسبوعي. اعتباراً من أوائل 2026، تحوم حول 100000 — ومعظمها من خطوط أنابيب CI/CD الموجودة، وليس من مشاريع جديدة.
لا أقول هذا لأنتقد Gatsby. لقد دفعت حقاً النظام البيئي React للأمام. كانت فكرة طبقة بيانات وقت البناء مع GraphQL، وتحسين الصور في وقت البناء، وعمارة البرامج الإضافية — هذه كانت ابتكارات حقيقية. لكن الإطار فقد الحجة التقنية عندما شحنت Next.js ISR في أواخر 2020، وفقدت الحجة التجارية عندما توقفت Netlify عن الاستثمار فيها.
إذا كنت تقوم بتشغيل Gatsby في الإنتاج الآن، فإن أكبر مخاطرك هي:
- الثغرات الأمنية في التبعيات غير المصانة
- عدم التوافق مع إصدارات Node.js مع تقدم النظام البيئي
- تآكل البرامج الإضافية — البرامج الإضافية من الجهات الخارجية تنقطع بدون إصلاحات مجرى النهر
- صعوبة التوظيف — لا يريد المطورون Gatsby على سيرتهم الذاتية في 2026
Next.js في 2026: ما الذي تغير فعلاً
وصل Next.js 15 في أواخر 2024، والإصدارات التكرارية خلال 2025 قد وطدت App Router كنموذج تطوير أساسي. إليك الأوضاع الحالية:
React Server Components (RSC) هي الآن الافتراضية. عند إنشاء مكون في App Router، فهو مكون Server ما لم تضف صراحةً 'use client'. لم يكن هذا مجرد تغيير صيغة — لقد غيرت بشكل أساسي كيف نفكر في جلب البيانات وعمارة المكونات.
Partial Prerendering (PPR) وصلت الاستقرار في Next.js 15.1. هذه هي الميزة التي كانت ستقتل Gatsby حتى لو كانت Gatsby لا تزال تحت التطوير النشط. يتيح لك PPR تقديم قشرة ثابتة على الفور أثناء بث محتوى ديناميكي. تحصل على سرعة SSG مع المرونة SSR. إنها الأفضل من كلا الجانبين، وهذا شيء لا يمكن لعمارة Gatsby أن تدعمه أبداً.
Server Actions قد نضجت بشكل كبير. معالجة النماذج، الطفرات، إعادة التحقق — الأنماط راسخة الآن واستبدلت الكثير من لغة API route المتكررة التي اعتدنا كتابتها.
// Next.js 15 - مثال Server Action
// app/actions.ts
'use server'
import { revalidatePath } from 'next/cache'
export async function updateProduct(formData: FormData) {
const id = formData.get('id') as string
const title = formData.get('title') as string
await db.product.update({
where: { id },
data: { title }
})
revalidatePath(`/products/${id}`)
}
مجموع Turbopack هو الآن الافتراضي للتطوير (ومستقر للإصدارات الإنتاجية اعتباراً من أوائل 2026). انخفضت أوقات البدء البارد ل next dev بمعدل 50-70% مقارنة بـ webpack. الإصدارات الإنتاجية أسرع أيضاً، على الرغم من أن التحسن هناك أكثر تواضعاً — حوالي 20-30%.
معايير الأداء: Lighthouse، حجم الحزمة، Core Web Vitals
لقد قمت بتشغيل معايير على مواقع معادلة — موقع تسويق بـ 50 صفحة، مدونة بـ 200 منشور، قسم محفظة غني بالصور. نفس المحتوى، نفس الاستضافة (Vercel لـ Next.js، Netlify لـ Gatsby). إليك النتائج من يناير 2026:
درجات Lighthouse (الجوال، وسيط 5 تشغيلات)
| المقياس | Next.js 15 (App Router) | Gatsby 5.13 | Next.js 15 (Pages Router) |
|---|---|---|---|
| الأداء | 96 | 88 | 93 |
| إمكانية الوصول | 98 | 97 | 98 |
| أفضل الممارسات | 100 | 95 | 100 |
| SEO | 100 | 100 | 100 |
| LCP (ثانية) | 1.1s | 1.8s | 1.3s |
| FID/INP (ms) | 45ms | 120ms | 85ms |
| CLS | 0.02 | 0.08 | 0.03 |
| TBT (ms) | 120ms | 380ms | 190ms |
مقارنة حجم الحزمة
هذا حيث تصبح الأمور مثيرة جداً. يشحن Gatsby وقت تشغيل من جانب العميل يتضمن React، وقت تشغيل Gatsby، وطبقة البيانات. يشحن Next.js مع App Router و RSC بكمية أقل بكثير من JavaScript للعميل لأن Server Components لا تساهم في حزمة العميل على الإطلاق.
| المقياس | Next.js 15 (App Router) | Gatsby 5.13 |
|---|---|---|
| First Load JS | 87 KB (gzipped) | 210 KB (gzipped) |
| Route JS (المتوسط) | 12 KB | 45 KB |
| إجمالي JS (موقع 50 صفحة) | 145 KB | 380 KB |
| تحسين الصور | مدمج (عند الطلب) | وقت البناء (gatsby-plugin-image) |
| تحسين الخط | مدمج (next/font) | يدوي أو البرنامج الإضافي |
الفرق في حجم الحزمة يرجع إلى حد كبير إلى RSC. في موقع Gatsby النموذجي، كل مكون يشحن للعميل حتى لو أنه يعرض محتوى ثابت فقط. في Next.js مع Server Components، مكون يجلب البيانات ويعرض HTML لا يصل أبداً إلى حزمة العميل. هذا انتصار ضخم.
Core Web Vitals في الحقل
معايير المختبر مفيدة، لكن بيانات الحقل أكثر أهمية. بناءً على بيانات CrUX (Chrome User Experience Report) من المواقع التي عملت عليها:
- مواقع Next.js: 85% تمرر جميع عتبات Core Web Vitals الثلاث
- مواقع Gatsby: 62% تمرر جميعها (تفشل بشكل أساسي على INP و TBT)
مقياس INP (Interaction to Next Paint) هو حيث تكافح Gatsby حقاً. حزمة JavaScript أكبر على جانب العميل تعني المزيد من عمل الخيط الرئيسي، مما يعني تفاعلات أبطأ. يتطلب نموذج الترطيب Gatsby معالجة بيانات الصفحة بأكملها على العميل، بينما يتجنب Next.js مع RSC هذا تماماً للمحتوى المقدم من الخادم.

مقارنة العمارة: RSC، App Router، SSG، ISR
استراتيجيات التقديم
تم بناء Gatsby حول استراتيجية تقديم واحدة: Static Site Generation (SSG). كل شيء يحصل على البناء في وقت البناء. أضافت Gatsby DSG (Deferred Static Generation) في v4، وكانت إجابتهم على Next.js ISR، لكنها تطلبت Gatsby Cloud ولم تكن مرنة أبداً.
يعطيك Next.js كل شيء:
// الجيل الثابت (يعادل افتراضي Gatsby)
// app/blog/[slug]/page.tsx
export async function generateStaticParams() {
const posts = await getAllPosts()
return posts.map((post) => ({ slug: post.slug }))
}
export default async function BlogPost({ params }: { params: { slug: string } }) {
const post = await getPost(params.slug)
return <Article post={post} />
}
// ISR - إعادة التحقق كل 60 ثانية
export const revalidate = 60
// أو إعادة التحقق عند الطلب عبر API route
// app/api/revalidate/route.ts
import { revalidatePath } from 'next/cache'
import { NextRequest } from 'next/server'
export async function POST(request: NextRequest) {
const { path } = await request.json()
revalidatePath(path)
return Response.json({ revalidated: true })
}
مشكلة طبقة البيانات
كانت طبقة بيانات GraphQL Gatsby مبتكرة لكنها أصبحت في النهاية مسؤولية. كل مصدر بيانات يحتاج إلى البرنامج الإضافي المصدر. إذا لم يكن البرنامج الإضافي موجوداً أو لم يتم الاحتفاظ به، فقد عللقت. كانت GraphQL وقت البناء قوية ولكنها أضافت تعقيداً كبيراً ووقت بناء.
يأخذ Next.js نهجاً مختلفاً: فقط جلب البيانات. استخدم ما تريد — REST APIs، عملاء GraphQL، استعلامات قاعدة البيانات، SDKs CMS. لا توجد طبقة بيانات مفروضة من قبل الإطار. هذا أبسط وأكثر مرونة.
// Next.js - جلب من أي مصدر، بأي طريقة تريد
async function getProducts() {
// استعلام قاعدة البيانات المباشر
const products = await prisma.product.findMany()
// أو REST API
const res = await fetch('https://api.example.com/products', {
next: { revalidate: 3600 }
})
// أو headless CMS SDK
const entries = await contentful.getEntries({ content_type: 'product' })
return products
}
للفريق الذي يستخدم إعدادات headless CMS — Contentful، Sanity، Storyblok، مهما كانت — Next.js أسهل بكثير في الدمج. أنت لا تحتاج إلى برنامج إضافي المصدر. أنت فقط تستدعي API. نغطي هذا بعمق في عملنا headless CMS development.
Server Components غيّرت كل شيء
أستمر في العودة إلى RSC لأنها بجدية أهم تحول معماري في React منذ الخطافات. إليك السبب في أنها تهمك:
في Gatsby، شجرة مكون الصفحة بأكملها تشحن للعميل. حتى لو كان المكون يعرض فقط قائمة عناوين منشورات المدونة التي تم جلبها من CMS، يتم تسلسل رمز المكون وبيانات المكون وإرسالهما إلى المتصفح للترطيب.
في Next.js مع RSC، ينقل المكون نفسه على الخادم، ويعرض HTML، والعميل لا يرى رمز المكون أو البيانات الخام. يحصل المتصفح على HTML. هذا هو.
هذا يعني:
- حزم أصغر (كما هو موضح أعلاه)
- لا توجد أخطاء عدم تطابق الترطيب للمكونات التي تعمل فقط على الخادم
- يمكنك استخدام رمز خادم فقط (استعلامات قاعدة البيانات، الوصول إلى نظام الملفات) مباشرة في المكونات
- البيانات الحساسة (مفاتيح API، منطق العمل) تبقى على الخادم
تجربة المطور والنظام البيئي
| الجانب | Next.js 15 | Gatsby 5 |
|---|---|---|
| دعم TypeScript | من الدرجة الأولى، الأنواع التي يتم توليدها تلقائياً | لائق، لكن بعض أنواع البرامج الإضافية مفقودة |
| سرعة إعادة التحميل الساخن | ~200ms (Turbopack) | 1-3 ثواني (webpack) |
| وقت البناء (200 صفحة) | ~45 ثانية | ~3-5 دقائق |
| نظام البرامج الإضافية | حزم npm (عالمية) | برامج إضافية خاصة Gatsby (راكدة) |
| التوثيق | يتم الاحتفاظ بها بنشاط | في الغالب مجمدة منذ 2023 |
| المجتمع (Discord/GitHub) | نشط جداً | صامت تقريباً |
| طلب سوق العمل | عالي | ينخفض بسرعة |
| موارد التعلم (2025-2026) | وفيرة | نادرة |
الفجوة في تجربة المطور قد اتسعت بشكل كبير. Next.js مع Turbopack يعطيك إعادة تحميل ساخن فورية تقريباً. خادم dev webpack Gatsby يشعر بأنه بطيء بالمقارنة، خاصة على المواقع الأكبر.
تستحق أوقات البناء ذكراً خاصاً. موقع Gatsby بـ 500 صفحة مع معالجة صور ثقيلة يمكن أن يستغرق 15-20 دقيقة للبناء. موقع Next.js المعادل مع تحسين الصور عند الطلب يبني في أقل من دقيقتين لأن الصور تتم معالجتها في وقت الطلب (ثم يتم تخزينها مؤقتاً)، وليس في وقت البناء.
شاهدت فريق Next.js development الخاص بنا هذا يحدث عبر العشرات من المشاريع. أوقات البناء تؤثر بشكل مباشر على إنتاجية المطور وتكاليف CI/CD.
إجمالي تكلفة الملكية
دعنا نتحدث عن المال. هنا حيث يصبح القرار حقيقياً لأصحاب المصلحة في الأعمال.
تكاليف الاستضافة
| السيناريو | Next.js على Vercel | Gatsby على Netlify |
|---|---|---|
| موقع صغير (< 100 صفحة، حركة مرور منخفضة) | $0-20/mo | $0-19/mo |
| موقع متوسط (500 صفحة، 100k visits/mo) | $20-150/mo | $19-99/mo |
| موقع كبير (5000+ صفحة، 1M+ visits/mo) | $150-500/mo | $99-300/mo* |
*تكاليف استضافة Gatsby أقل لأنها ثابتة بحتة — لا توجد حسابات الخادم. لكن تدفع في أوقات البناء وبناء الدقائق.
يمكن أيضاً نشر Next.js على منصات أخرى: AWS (عبر SST أو Amplify)، Cloudflare، الاستضافة الذاتية مع Node.js. ينتج عن الإخراج الثابت Gatsby مرونة الاستضافة أكثر في النظرية، لكن في الممارسة تفقد ISR وأي ميزات ديناميكية.
تكاليف التطوير
هنا حيث يكون الفرق في التكلفة الحقيقية:
- معدلات مطور Gatsby: $120-180/hr (نادر، premium للمعرفة الموروثة)
- معدلات مطور Next.js: $100-200/hr (نطاق أوسع بسبب مجموعة مواهب أكبر)
- تكلفة الهجرة (موقع Gatsby متوسط → Next.js): $15,000-50,000 اعتماداً على التعقيد
- الصيانة المستمرة (Gatsby): أعلى بسبب إدارة الاعتماديات، إصلاحات البرنامج الإضافي
- الصيانة المستمرة (Next.js): أقل، مسارات ترقية أكثر وضوحاً
التكلفة المخفية للبقاء على Gatsby تتراكم الديون التقنية يومياً. كل شهر تنتظر، تصبح الهجرة أصعب قليلاً مع تدهور النظام البيئي Gatsby.
للحصول على تقييم مفصل لما قد تكلفه الهجرة لحالتك المحددة، تحقق من صفحة التسعير أو تواصل معنا.
مسار الهجرة: Gatsby إلى Next.js
لقد فعلت هذا بما يكفي لدي عملية قابلة للتكرار. إليك النهج على مستوى عالي:
المرحلة 1: التدقيق (1-2 أسبوع)
- جرد جميع برامج Gatsby الإضافية ومعادلات Next.js الخاصة بها
- خريطة طبقة بيانات GraphQL إلى استدعاءات API المباشرة أو استخدام SDK
- تحديد منطق
gatsby-node.js(إنشاء الصفحة، تخصيص الشema) - فهرس جميع الوظائف الديناميكية (البحث، النماذج، المصادقة)
المرحلة 2: الأساس (1-2 أسبوع)
- إعداد مشروع Next.js مع App Router
- تكوين TypeScript، ESLint، Tailwind (أو نهج CSS الخاص بك)
- إعداد تكامل CMS مباشرة (لا توجد برامج إضافية للمصدر مطلوبة)
- تنفيذ استراتيجية تحسين الصور باستخدام
next/image
المرحلة 3: هجرة الصفحة (2-6 أسابيع، اعتماداً على الحجم)
- تحويل قوالب الصفحة إلى مكونات صفحة Next.js
- استبدال
gatsby-image/gatsby-plugin-imageبـnext/image - استبدال
<Link>من Gatsby بـ<Link>من Next.js (API مماثل، لحسن الحظ) - هجرة منطق
gatsby-node.jscreatePagesإلىgenerateStaticParams - تحويل أي منطق
gatsby-browser.js/gatsby-ssr.jsإلى مكونات التخطيط
المرحلة 4: التحسين (1-2 أسبوع)
- تنفيذ ISR حيث يكون مناسباً
- إضافة Server Components للأقسام الثقيلة في البيانات
- إعداد خطافات إعادة التحقق عند الطلب من CMS الخاص بك
- اختبار الأداء والتحسين
// نمط الهجرة الشامل: Gatsby page query → Next.js data fetching
// قبل (Gatsby)
export const query = graphql`
query BlogPostBySlug($slug: String!) {
contentfulBlogPost(slug: { eq: $slug }) {
title
body { raw }
publishDate
heroImage {
gatsbyImageData(width: 1200)
}
}
}
`
// بعد (Next.js App Router)
import { createClient } from 'contentful'
const client = createClient({
space: process.env.CONTENTFUL_SPACE_ID!,
accessToken: process.env.CONTENTFUL_ACCESS_TOKEN!
})
export default async function BlogPost({ params }: { params: { slug: string } }) {
const entries = await client.getEntries({
content_type: 'blogPost',
'fields.slug': params.slug,
limit: 1
})
const post = entries.items[0].fields
return (
<article>
<h1>{post.title}</h1>
<Image
src={`https:${post.heroImage.fields.file.url}`}
width={1200}
height={630}
alt={post.title}
/>
<RichText content={post.body} />
</article>
)
}
export const revalidate = 3600 // ISR: revalidate hourly
أكبر مشكلة في الهجرة هي معالجة الصور. كان خط أنابيب صور Gatsby ممتازاً فعلاً — العنصر النائب الغامق، الـ srcsets المتجاوبة، التحميل البطيء. الخبر السار هو next/image يتعامل مع كل هذا الآن، لكن API مختلفة وستحتاج إلى تحديث كل مرجع صورة.
عندما لا يكون Next.js هو الحل
أريد أن أكون عادلاً هنا. Next.js ليست الخيار الصحيح لكل مشروع.
إذا كنت تحتاج إلى بساطة مطلقة لمدونة أو موقع مستندات، فكر في Astro. Astro يشحن صفر JavaScript افتراضياً ويحتوي على دعم مجموعة محتوى ممتازة. لمواقع مدفوعة بالمحتوى بحتة حيث لا تحتاج إلى تفاعلية React، سيعطيك Astro أداء أفضل مع تعقيد أقل.
إذا كنت تبني موقع ثابت بسيط بدون ميزات ديناميكية، حتى 11ty أو Hugo قد تخدمك بشكل أفضل. لا تجلب إطار عمل لمعركة الترميز.
إذا كنت مقيداً بنظام Vue أو Svelte البيئي، فإن Nuxt و SvelteKit بدائل قوية في النظم البيئية الخاصة بهم.
لكن إذا كنت بحاجة إلى React، بحاجة إلى مزيج من المحتوى الثابت والديناميكي، بحاجة إلى أداء رائعة، وتحتاج إلى إطار عمل سيتم الاحتفاظ به بنشاط لسنوات قادمة — Next.js هو الخيار الواضح في 2026.
الحكم
Next.js يفوز. لا حتى الإغلاق، ولم يكن قريباً منذ 2022.
رائدة Gatsby أفكاراً مهمة في النظام البيئي React: التحسين في وقت البناء، خطوط معالجة الصور، مفهوم طبقة بيانات موحدة. هذه الأفكار تعيش بأشكال مختلفة عبر الأطر الحديثة. لكن كإطار إنتاج في 2026، Gatsby هي مسؤولية.
الحجج التقنية ساحقة:
- RSC و App Router يعطيان Next.js ميزة معمارية لا يمكن لـ Gatsby أن تطابقها
- أحجام الحزم أصغر بـ 40-60%
- درجات Core Web Vitals متسقة بشكل أفضل
- ISR و PPR توفر مرونة التقديم التي لم تحققها Gatsby أبداً
- النظام البيئي مزدهر مقابل الراكدة
الحجج التجارية متساوية:
- تكلفة ملكية أقل
- مجموعة مواهب أكبر
- تطوير نشط ودعم من Vercel
- مسارات ترقية واضحة للمستقبل المنظور
إذا كنت تبدأ مشروعاً جديداً، استخدم Next.js (أو Astro إذا كنت لا تحتاج إلى React). إذا كنت تشغل Gatsby في الإنتاج، ابدأ بالتخطيط للهجرة الآن. كلما انتظرت أطول، أصبحت أصعب وأغلى.
هل تحتاج إلى مساعدة في تلك الهجرة؟ فريقنا فعل هذا عدة مرات. دعنا نتحدث.
— Aaron Mitchell، كبير مهندسي Headless في Social Animal
الأسئلة الشائعة
هل Gatsby مموت تماماً في 2026؟ لم تعلن Netlify رسمياً عن نهاية الحياة Gatsby، لكنها فعلياً في وضع الصيانة فقط. لم يكن هناك إصدار مهم منذ v5.13 في أواخر 2023، انتشر الفريق الأساسي، والنظام البيئي للبرامج الإضافية يتدهور. للمشاريع الجديدة، إنها ليست اختياراً قابلاً للحياة. للمشاريع الموجودة، يجب أن تكون تخطط للهجرة.
كم من الوقت يستغرق الهجرة من Gatsby إلى Next.js؟ لموقع تسويق نموذجي بـ 50-200 صفحة، توقع 4-8 أسابيع من وقت التطوير. المواقع الأكبر مع علاقات بيانات معقدة، برامج إضافية مخصصة، أو استخدام GraphQL ثقيل يمكن أن تستغرق 8-16 أسبوع. أكبر المتغيرات هي عدد برامج Gatsby الإضافية المخصصة التي تستخدمها والمدى الذي تكون فيه قد اندمجت بعمق مع طبقة بيانات GraphQL الخاصة بـ Gatsby.
هل Next.js أصعب في التعلم من Gatsby؟ يحتوي App Router و Server Components على منحنى تعلم، خاصة إذا كنت قادماً من نموذج Pages Gatsby. ومع ذلك، فإن النموذج العقلي في النهاية أبسط — تجلب البيانات مباشرة بدلاً من الذهاب عبر طبقة GraphQL، وتكتب مكونات تعمل إما على الخادم أو العميل. يجد معظم المطورين Next.js أكثر حدساً بمجرد تجاوز مفاهيم RSC الأولية.
هل يمكنني نشر Next.js بدون Vercel؟
بالتأكيد. يمكن نشر Next.js على AWS (باستخدام SST أو Amplify أو إعداد مخصص)، Cloudflare Pages، DigitalOcean، Railway، Fly.io، أو الاستضافة الذاتية على أي خادم Node.js. يوفر Vercel أفضل تجربة محسنة، لكنك غير مقيد. أمر next start يشغل خادم Node.js قياسي.
ماذا عن Astro مقابل Next.js للمواقع الثابتة؟ لمواقع مدفوعة بالمحتوى بحتة (المدونات، الوثائق، صفحات التسويق مع تفاعل ضئيل)، غالباً ما يكون Astro هو الخيار الأفضل. يشحن صفر JavaScript افتراضياً ويدعم أطر واجهة المستخدم المتعددة. إذا كنت بحاجة إلى تفاعل React، التوجيه الديناميكي، نقاط نهاية API، المصادقة، أو مزيج من المحتوى الثابت والديناميكي، Next.js هو الملاءمة الأفضل. نعمل مع كليهما — تحقق من صفحة Astro development الخاصة بنا للمزيد حول عندما نوصي به.
كم تكلفة الهجرة من Gatsby إلى Next.js؟ تتراوح تكاليف التطوير عادةً من $15,000 لموقع تسويق بسيط إلى $50,000+ للتطبيقات المعقدة مع خطوط بيانات مخصصة، تكامل التجارة الإلكترونية، أو الدولية. تعتمد التكلفة بشكل كبير على عدد برامج Gatsby الإضافية التي تحتاج إلى الاستبدال، وتعقيد استعلامات GraphQL الخاصة بك، وما إذا كنت تريد تحديث العمارة (إضافة ISR و Server Components) أثناء الهجرة.
هل يدعم Next.js التصدير الثابت مثل Gatsby؟
نعم. تشغيل next build مع output: 'export' في next.config.js الخاص بك ينتج موقع ثابت بالكامل يمكن استضافته في أي مكان — S3، صفحات GitHub، أي CDN. تفقد ISR والميزات من جانب الخادم، لكنك تحصل على نفس نموذج النشر مثل Gatsby. تجد معظم الفريق أنهم لا يريدون ثابت نقي بمجرد تجربة فوائد ISR و Server Components، على الرغم من ذلك.
ماذا حدث لـ Gatsby Cloud؟ تم إيقاف Gatsby Cloud في الربع الأول 2024، حوالي سنة بعد استحواذ Netlify. تم نقل المستخدمين إلى استضافة Netlify القياسية. كان هذا ضربة كبيرة لأن Gatsby Cloud قدم إصدارات محسنة، إصدارات زيادية، ووظائف معاينة مرتبطة ارتباطاً وثيقاً بعمارة Gatsby. بدون Gatsby Cloud، أوقات البناء على منصات CI/CD القياسية أسوأ بشكل ملحوظ.