Next Js
Next Js
1. Introduction to Next.js
- What is Next.js?
3. Core Concepts
- API Routes
4. Styling in Next.js
- Styled Components
- Global Styles
5. Data Fetching
- getStaticProps
magdy zahran
MERN Stack Developer
- getServerSideProps
6. API Routes
7. Dynamic Routing
8. Middleware in Next.js
- What is Middleware?
9. Advanced Features
- Image Optimization
- Built-in Analytics
10. Deployment
- Deploying on Vercel
magdy zahran
MERN Stack Developer
11. Practical Projects
- Building a Blog
- Performance Optimization
magdy zahran
MERN Stack Developer
.1ليه Next.js؟
هو إطار عمل بيبني فوق Reactوبيوفر مزايا جبارة زي:
لو لسه بتستخدم Reactبس ،فده الوقت المناسب إنك تبدأ تستخدم .Next.js
تثبيت :Node.js
:pagesده المجلد الأساسي اللي بتعمل فيه صفحات الموقع .كل ملف هنا بيتحول
:publicأي صور أو ملفات ثابتة ( )Static Filesممكن تضيفها هنا وتستخدمها مباشرة
:node_modulesمش بتعدل عليه ،ده مكان حفظ جميع المكتبات اللي بتثبتها عن طريق
.npm
هنا إنك تفهم إزاي تعدل صفحة موجودة وتشوف التغيير على طول:
افتح الملف :pages/index.jsده ملف الصفحة الرئيسية للمشروع .أي حاجة هتعدلها
< :>pده النص اللي تحت العنوان عشان تضيف رسالة ترحيب بسيطة.
الرئيسية.
- Pages and Routing.5الصفحات والروتنج ️🗂
في ،Next.jsكل فايل بتحطه في فولدر pagesبيتحول تلقائيا لصفحة
يتم استخدام
أقواس مربعة [ ]
أكثر تعقيًد ا من يدعم الروابط DYNAMIC
في أسماء الملفات
/PRODUCT/123 FILE-BASED الديناميكية.
.ROUTING مرن للغاية.
إلنشاء روابط ROUTING
ديناميكية ،مثًال
PRODUCT/[ID].JS/
يمكنك إنشاء
تنظيم أفضل
فولدرات داخل
قد يصبح للصفحات.
فولدر PAGES NESTED
/ABOUT/TEAM معقًد ا مع كثرة مناسب
لتنظيم الصفحات ROUTING
الفولدرات. للمشاريع
وجعلها تظهر
الكبيرة.
كروابط متداخلة.
مثال عملي:
تنظيم الفولدر:
نصائح:
حط الملفات اللي مش هتتغير
كتير (زي الصور ،األيقونات ،أو
CSSثابت).
حافظ عىل تنظيم الملفات
بفولدرات فرعية جوه .public
- API Routes .7إنشاء Endpointsداخل المشروع ️🛠
ليه الميزة دي مهمة؟
الـ API Routesشغال بنفس بيئة المشروع ،فبتقدر تستخدم مميزات Next.js
زي Middlewareبسهولة.
إزاي تبدأ؟
😆 كدا !
كيفية االختبار؟
رسم توضيحي:
ملحوظه :نزلت قبل كدا بوست منفصل عن ال API Routesممكن تطلع عليه من هنا
واحدة من أهم الخطوات اللي الزم تاخد بالك منها هي اختيار الطريقة المناسبة
لتنسيق الموقع next.js .بيدعم طرق مختلفة لالستايلينج وكل طريقة ليها
هي بالظبط عامله زي لما تيجي تجهز بيتك وتفكر أشطب الحيطة دي ورق حائط
وال ألونها؟ نفس الفكرة تقريبا بتحصل مع االستايلينج في الكود اختيارك للطريقة
وسهولة التعديالت .فلو اخترت طريقة معقدة لمجرد إنها تريندي ممكن تالقي
التانية.
إزاي نستخدمها؟
بتسمي الكالسات بطريقة عادية جًد ا ،وبعد كده تستدعيها جوه الـ .Component
إزاي نستخدمها؟
إزاي نستخدمها؟
كل COMPONENTبيستخدم
لما تحتاج تنظيم بسيط
SCOPED CSS -تلقائي ملف CSSأو SASSمستقل CSS & SASS
للستايالت الخاصة بكل
سهل التنظيم بيتم استيراده واالستايالت
COMPONENTبدون إضافة -مدمج مباشرة في NEXT.JS بتكون SCOPEDللـ MODULES
مكتبات خارجية.
COMPONENTده بس.
...Next.jsهنركز على:
getStaticProps
getServerSideProps
إمتى تستخدمها؟
لما يكون عندك بيانات مش بتتغير كتير ،زي صفحة منتجات أو مقالة ثابتة.
إمتى تستخدمها؟
إمتى تستخدمها؟
لما تكون عايز تستفيد من سرعة الصفحات الثابتة مع تحديث البيانات باستمرار،
Incremental Static
):Regeneration (ISR
ملحوظة Next.js :بيتيحلك تدمج الطرق دي مع بعض لو مشروعك محتاج أكتر من طريقة عىل حسب الحالة👌 .
API Routes .10
لو بتفكر تضيف Backendخفيف في مشروعك من غير وجع دماغ أو سيرفر
Routesفي نيكست.
الرسم التوضيحي ده بيشرح العالقة بين 3أجزاء أساسية في بناء الـ API Routesفي Next.js
:Building API Endpointsدا الجزء اللي بتحدد فيه كل نقطة وصول للـ APIبتاعك.
:Handling Requestsده الجزء اللي بيتعامل مع الطلبات اللي جاية زي إنك تعرف الطلب
نوعه إيه وترد عليه بشكل مناسب.
:Middlewareمرحلة قبل الوصول للنهاية بتحصل فيها معالجة زي التحقق من البيانات أو الـ
.Authentication
🏗️ Building API Endpoints .1
أي ملف هتحطه جوا فولدر /pages/apiهيبقى أوتوماتيك .Endpointيعني
مثال عملي:
لما تدوس على api/hello/هيرجعلك الرد اللي مكتوب فوق ...الطريقة دي
عليه. بساطة .الفكرة إنك بتحدد نوع الطلب وتعمل اللي محتاجه بناًء
مثال عملي:
بيبعته. على اللي اليوزر هنا الكود بيتعامل مع أكتر من نوع طلب بناًء
⚙️ Middleware and Custom Functions .3
لو عندك Logicبيتكرر زي التحقق من الـ Authenticationأو Validating
مثال عملي:
الفكرة هنا إنك تفصل الـ Logicبتاع التحقق وتستخدمه في أي مكان بسهولة.
هيكون مفيد عشان تحمي الـ API Keyأو تعمل Manipulationللبيانات قبل ما
توصل للمستخدم.
مثال عملي:
كده اليوزر بتاعك هيدوس على api/external/وأنت اللي هتدير التفاصيل في الخلفية.
Middleware .11
لو بتدور على طريقة تتحكم في الطلبات اللي بتوصل للسيرفر قبل ما توصل
.Middleware
مثال عملي:
هنا بنعمل إعادة توجيه لأي حد يحاول يدخل على dashboard/من غير ما يكون
مسجل دخول.
.3استخدامات الـ 💡 Middleware
أ .التحقق من المستخدمين:
عايز تتأكد إن المستخدم اللي داخل الصفحة مسجل دخول؟ ممكن تستخدم الكود ده:
التحقق من الصالحيات.
MIDDLEWAREيتحقق من إذا كود يتم تنفيذه بين استقبال تعريف
كان المستخدم مسجل الدخول الطلب من المستخدم MIDDLEWARE
التوجيه حسب الشروط. قبل الوصول لصفحة معينة. وتسليمه للـ ROUTEالنهائي.
طلبDASHBOARD/ :
:MIDDLEWAREيتحقق إذا كان يستقبل الطلب > يتحقق من
تغيير مسار الطلب.
فحص البيانات.
المستخدم "."ADMIN الشرط > يوجه الطلب بناًء دورة العمل
نتيجة :يوجه المستخدم للصفحة عىل النتيجة.
أو يعيد خطأ .401
التحقق من المصادقة
(.)AUTHENTICATION
حماية الصفحات الحساسة. أقل شوية بسبب التحميل اللحظي
التوجيه الديناميكي
أشهر الحاالت
(.)DYNAMIC ROUTING