الكل
5 سبتمبر 202412 دقيقةتطوير الويب
Next.js 14: Server Actions وTurbopack والميزات الجديدة
DR
فريق Dev Ring
خبراء تطوير الويب
Next.js 14
يمثل Next.js 14 خطوة مهمة مع تثبيت Server Actions وتحسينات كبيرة في الأداء بفضل المصرّف الجديد Turbopack.
Server Actions: ثورة على مستوى الخادم
تتيح Server Actions تنفيذ كود خادمي مباشرة من مكوّنات العميل، مما يبسّط إدارة النماذج وعمليات التعديل بشكل كبير.
مثال عملي
typescript
// app/actions.ts
'use server'
export async function createPost(formData: FormData) {
const title = formData.get('title') as string;
const content = formData.get('content') as string;
// تحقق على مستوى الخادم
if (!title || !content) {
throw new Error('العنوان والمحتوى مطلوبان');
}
// إدخال في قاعدة البيانات
await db.post.create({
data: { title, content }
});
revalidatePath('/posts');
}
// app/create-post/page.tsx
import { createPost } from '../actions';
export default function CreatePost() {
return (
<form action={createPost}>
<input name="title" placeholder="العنوان" required />
<textarea name="content" placeholder="المحتوى" required />
<button type="submit">إنشاء</button>
</form>
);
}تحسينات Turbopack
يُقدّم Turbopack مكاسب أداء كبيرة:
- أسرع بنسبة 53% في التحديثات المحلية
- أسرع بنسبة 94% في بناء الإنتاج
- تحسين إدارة tree-shaking
Partial Prerendering (Preview)
نهج هجين يجمع بين الرندر الثابت والديناميكي:
صفحة مع رندر جزئي
tsx
// صفحة مرندرة جزئيا
export default function ProductPage({ params }: { params: { id: string } }) {
return (
<div>
{/* محتوى ثابت - مسبق الرندر */}
<Header />
<Navigation />
{/* محتوى ديناميكي - عند الطلب */}
<Suspense fallback={<ProductSkeleton />}>
<ProductDetails id={params.id} />
</Suspense>
</div>
);
}تحسينات Metadata API
إدارة أفضل للبيانات الوصفية الخاصة بـ SEO:
Metadata ثابتة وديناميكية
ts
import type { Metadata } from 'next'
export const metadata: Metadata = {
title: 'مقالي',
description: 'وصف المقال',
openGraph: {
images: ['./opengraph-image.jpg'],
},
}الترحيل وأفضل الممارسات
للانتقال إلى Next.js 14:
- تحديث الحزم
- ترحيل تدريجي للصفحات إلى Server Actions
- تفعيل Turbopack في التطوير
- اختبارات شاملة للميزات الجديدة
يمثّل Next.js 14 نقلة كبيرة لمنظومة React، مع إمكانيات جديدة وتجربة مطور ممتازة.