Next.js یک فریمورک متن باز برای توسعه نرمافزارهای تحت وب است. این فریمورک براساس کتابخانه React ساخته شده. React روی مباحث UI و مفاهیمی مثل کامپوننت، state و props تمرکز دارد. از این رو یک کتابخانه به حساب میآید که از آن برای پیادهسازی UIهای پیچیدهتر استفاده میکنیم. اگر بخواهیم یک برنامه با مقیاس بزرگتر با استفاده از React توسعه دهیم به موارد دیگری از جمله پکیجهای Routing نیاز خواهیم داشت.
Next.js دارای یکسری ویژگی میباشد که یا در React وجود ندارند و یا این که استفاده از آنها در React کمی پیچیدگی بیشتری دارد. همانطور که میدانیم فریمورک ابزار بزرگتری نسبت به کتابخانه است در نتیجه امکانات بیشتری میتواند داشته باشد. یعنی با استفاده از Next.js میتوانیم برنامهها با مقیاس بزرگتر را سادهتر توسعه دهیم.
نکته مهم این است که Next.js یکسری ویژگیهای اصلی دارد که مهمترین آنها Server Side Rendering (SSR) است. تفاوت SSR و CSR این است که در SSR کانتنت صفحات سایت روی سرور آماده میشوند اما در CSR این اتفاق در سمت کلاینت میافتد. این موضوع گاهی اوقات میتواند باعث ایجاد چالشهایی، از جمله مباحث بهینهسازی برای موتورهای جستجو شود.
یک ویژگی دیگر Next.js این است که میتوانیم سادهتر قسمت API برنامه را با استفاده از Node به Next.js اضافه کنیم. در نتیجه میتوانیم با پایگاه داده به شکل سادهتر ارتباط برقرار کنیم. پس میتوانیم بگوییم این ویژگی Next.js را به یک فریمورک فولاستک تبدیل میکند. همین موضوع میتواند باعث شود تا برنامههای فولاستک را خیلی سادهتر و استانداردتر پیادهسازی کنیم.
دوره آموزش Next.js فرانت کست از پایهایترین مفاهیم شروع شده و به صورت قدم به قدم طراحی شده است. برای شرکت در این دوره هیچ نیازی به دانش قبلی درمورد Next.js وجود ندارد زیرا آموزش همه مفاهیم بهطور جامع در این دوره صورت گرفته است. یادگیری در این دوره با انجام تمرین و چالشهای مختلف به شکل عمیق انجام میشود. پس از آن، پروژه دوره شروع میشود. پروژه دوره یک فروشگاه پیشرفته فولاستک میباشد که برای توسعه آن از ابزارهای مدرن استفاده کردهایم.
پیشنیاز دوره آموزش Next.js درک مفاهیم React و جاوااسکریپت است. اگر با کتابخانه React آشنا هستید و قصد مرور و یادآوری مفاهیم را دارید، دوره آموزش React – دوره فشرده را به شما پیشنهاد میکنیم. اما اگر هیچ دانش قبلی از React و مباحث مربوط به کامپوننت، state و props ندارید پیشنهاد ما آموزش React و Redux – دوره جامع میباشد که چالش و پروژه محور بوده و همه مفاهیم مربوط به React را شامل میشود. همینطور برای جاوااسکریپت هم دوره آموزش جاوااسکریپت – دوره جامع فرانت کست را پیشنهاد میکنیم.
آموزش Next.js یک دوره منتور محور است. به این معنی که اگر در هر مرحله از یادگیری به مشکل برخورد کردید میتوانید در روزهای غیر تعطیل از طریق واتساپ مشکل خود را با مدرس دوره درمیان بگذارید تا در سریعترین زمان ممکن آن را باهم بررسی کرده و برطرف نمایید.
مسعود صدری مدرس و توسعه دهنده نرم افزار، فارغ التحصیل از رشته مهندسی نرمافزار، برنامه نویسی را از سال ۱۳۹۱ به شکل حرفهای شروع کرده است. او در سالهایی که در حوزه برنامه نویسی حرفهای فعالیت داشته، با شرکت های نرم افزاری و تیمهای استارتاپی همکاری داشته و بیشتر بر روی فریلنسیگ تمرکز کرده است. او سالها به عنوان برنامه نویس فریلنسر مشغول به کار بوده و همین امر باعث شده تا نیازهای بازار کار را به خوبی بشناسد و تجربههای زیادی در این زمینه کسب کند.
مسعود صدری تدریس را از سال ۱۳۹۴ به شکل حرفهای، با آموزشگاه مجتمع فنی تهران شروع کرده و همیشه جزء یکی از برترین مدرسان برنامه نویسی بوده است. سپس تصمیم به برگزاری دورههای برنامه نویسی در دانشکده مهندسی برق و کامپیوتر دانشگاه تبریز گرفته که مورد استقبال بسیار خوب دانشجویان قرار گرفت. فعالیتهای او در دانشگاه تبریز، به عنوان مدرس دانشگاه ادامه داشته و اکنون تدریس کارگاههای مبانی برنامه سازی و برنامه سازی پیشرفته را برعهده دارد. نهایتا از سال ۱۳۹۷ تدریس آنلاین هم به لیست فعالیتهای آموزشی او اضافه شده است.
تمام تلاش مسعود صدری این است که نیازهای بازار کار را بصورت دقیق تحلیل کند و براساس روند پیشرفت محبوبیت یک تکنولوژی و نیازهای بازار کار جامعترین و بهروزترین سرفصلها را برای تکنولوژیهای مختلف آماده کند تا افرادی که به این حوزه علاقمند هستند بتوانند مطالب را به بهترین و سادهترین زبان ممکن یاد بگیرند و بطور مستقیم وارد بازار کار شوند.
یکی از موضوعات بسیار مهم در فرانت کست پشتیبانی دورهها میباشد که برعهده مدرس دوره است. مدرس به عنوان یک منتور از ابتدای مسیر قدم به قدم، تا زمانی که دانشجو تمامی مطالب را بصورت کامل یاد بگیرد، همراه اوست. ما بر این باور هستیم که هیچ شخصی بهتر از مدرس دوره نمیتواند پاسخگوی سوالات دانشجویان باشد. از این رو، در فرانت کست مدرس خود را موظف میداند تا در تمامی روزهای هفته، به جز روزهای تعطیل، سوالات دانشجویان را بررسی کند. برای پشتیبانی و دریافت مشاوره میتوانید از راههای ارتباطی نوشته شده در وبسایت استفاده کنید.
ما در فرانت کست به دورهها و محتوایی که آماده شده است ایمان کامل داریم و معتقد هستیم اگر دانشجویان براساس مسیر یادگیری که آماده کردهایم پیش بروند قطعا به هدفی که دارند دست پیدا میکنند. مهمترین هدف ما این است که دانشجویان در کمال آرامش و بدون کوچکترین استرسی یادگیری را شروع کنند. به همین جهت، گارانتی بازگشت وجه برای تمامی دورههای غیررایگان درنظر گرفتهایم. اگر شما به هر دلیل از ادامه دادن مسیر منصرف شوید، میتوانید تا ۷ روز بعد از ثبت نام برای بازگشت وجه درخواست بدهید. ما بدون هیچ سوالی تمام هزینهای که برای یادگیری خود سرمایهگذاری کرده بودید را عیناً به حساب شما بازمیگردانیم.
دیدگاهها:
hossein -parvian
خرداد 3, 1402 در 7:39 ب.ظ
سلام استاد خسته نباشید.
استاد میشه اموزش اتصال به هاست رو هم قرار بدین و چطوری بالا امدن سایت رو هم توضیح بدید
مسعود صدری
خرداد 4, 1402 در 4:54 ب.ظ
سلام
خیلی ممنون.
بله مباحث Deploy رو هم بررسی میکنیم.
meysam1366
اردیبهشت 26, 1402 در 5:39 ق.ظ
سلام استاد صدری
روزتون بخیر خسته نباشید
جایی که شما از getServerSideProps توی page Home استفاده کردید متاسفانه props رو undefined بر میگردونه ولی برای شما توی فیلم آموزشی داده ها رو از دیتابیس نمایش میده
بی زحمت راهنمایی می کنید که مشکل کجاست؟
مسعود صدری
اردیبهشت 26, 1402 در 1:08 ب.ظ
سلام
خیلی ممنونم.
باید کدتون رو بررسی کنم. میتونید از کدهای فایلهایی که در پنلتون قرار داره هم برای مقایسه استفاده کنید.
لطفا یک اسکرین شات از کدتون در تلگرام ارسال کنید.
alish511
اردیبهشت 16, 1402 در 4:33 ب.ظ
سلام
باتوجه به استیبل شدن دایرکتوری app آیا آموزشی برای اون میسازین ؟؟؟
مسعود صدری
اردیبهشت 16, 1402 در 7:35 ب.ظ
سلام
بله. بعد از تکمیل پروژه مفاهیم نسخه ۱۳ رو بررسی میکنیم.
frontendjalal
اردیبهشت 12, 1402 در 6:30 ب.ظ
استاد ادامه دوره کی بروزرسانی میشه؟
مسعود صدری
اردیبهشت 12, 1402 در 10:31 ب.ظ
دوشنبه ۱۸ اردیبهشت جلسات جدید به دوره اضافه میشن.
frontendjalal
اردیبهشت 12, 1402 در 6:28 ب.ظ
سلام استاد عزیز
روز معلم رو به شما تبریک میگم 🌸💐💐
مسعود صدری
اردیبهشت 12, 1402 در 10:31 ب.ظ
سلام
خیلی ممنونم، لطف کردین.
Parvin noori
اردیبهشت 7, 1402 در 11:59 ق.ظ
سلام استاد وقتتون بخیر باشه.
استاد میشه بیشتر توضیح بدین که چطور باید تشخیص بدیم کجا از getstaticprops و کجا از getserversideprops استفاده کنیم؟
مسعود صدری
اردیبهشت 10, 1402 در 10:31 ب.ظ
سلام
وقت بخیر.
به صورت کلی از تابع getServerSideProps برای دریافت دادههایی استفاده میکنیم که تغییرات زیادی برای اونها اعمال میشه و به روز بودن این دادهها برای ما اهمیت داره.
اما استفاده از تابع getStaticProps برای زمانی هست که تغییرات زیادی در دادههای نداریم.
برای درک بهتر نوع استفاده از این توابع پیشنهاد میکنم سعی کنید تمرینهای متنوعی رو انجام بدید.
محمد حبیب الهی
فروردین 29, 1402 در 10:42 ق.ظ
سلام وقتتون بخیر
api ای که داخل نکست نوشته میشه رو اپلیکیشن موبایل هم میتونه بگیرتش؟
مسعود صدری
فروردین 29, 1402 در 1:20 ب.ظ
سلام
وقت بخیر.
هدف اصلی استفاده از Next.js اجرای React سمت سرور هست.
اگر هدفتون فقط توسعه API باشه میتونید از زبانهای بکاند استفاده کنید.
طبیعتا API میتونه توسط Clientهای مختلف استفاده بشه.
alish511
فروردین 27, 1402 در 7:09 ب.ظ
سلام استاد عزیز
اولا آیا این دوره واسه آموزش نکست کافیه دوما از دوره چقدر مونده
مسعود صدری
فروردین 27, 1402 در 11:13 ب.ظ
سلام
بله قطعا. البته همیشه در کنار دوره، مطالعه مستندات و انجام تمرینهای متنوع رو برای درک بهتر مفاهیم پیشنهاد میکنم.
متاسفانه زمان دقیق نمیتونم بگم. هدف ما پیاده سازی حداکثری فیچرهای پروژه هست.
بعد از تکمیل پروژه، به روز رسانی بعدیمون شروع میشه که تصمیم داریم مباحث مربوط به نسخه ۱۳ رو بررسی کنیم.
شعیب الماسی
فروردین 26, 1402 در 4:09 ب.ظ
سلام. بقیه قسمت ها کی بارگزاری میشه؟
مسعود صدری
فروردین 27, 1402 در 1:01 ق.ظ
سلام
دوشنبه ۴ اردیبهشت.
amirht905
فروردین 23, 1402 در 5:59 ب.ظ
سلام احراز هویت و سطح دسترسی با jwt انجام میشه؟
مسعود صدری
فروردین 24, 1402 در 8:40 ب.ظ
سلام
برای احراز هویت از پکیج NextAuth.js استفاده کردیم.
sajjadkhaledi
فروردین 23, 1402 در 1:24 ب.ظ
قصد ندارید تخفیف بگذارید میخوام چندتا دوره بخرم اگه مشکلی نیست به مناسبت عید فطر نمیزارید لطفا بزارید
مسعود صدری
فروردین 23, 1402 در 1:51 ب.ظ
سلام
تا کمتر از یک هفته پیش تخفیف نوروز رو داشتیم.
تخفیف بعدیمون اوایل تابستان هست.
Parvin noori
فروردین 20, 1402 در 1:00 ق.ظ
سلام وقتتون بخیر باشه.
من وقتی میخوام mongodb رو نصب کنم، دقیقا کدهای شما رو تو ترمینال میزنم. بعد با خطای mongodb/bin/mongod: Permission denied مواجه میشم. میشه کمکم کنید چطور میتونم این خطا رو رفع کنم؟
مسعود صدری
فروردین 20, 1402 در 1:03 ب.ظ
سلام
وقت بخیر.
اگر از ویندوز استفاده میکنید باید به صورت Administrator برنامه رو اجرا کنید.
در صورتی که اجرا نشد لطفا در تلگرام پیام بدید تا بررسی کنم.
EhsanAryan
فروردین 19, 1402 در 12:03 ق.ظ
سلام وقت بخیر. از آخرین آپدیت دوره زمان زیادی میگذره ممنون میشم سریع تر دوره رو پیش ببرید.
مسعود صدری
فروردین 19, 1402 در 1:26 ق.ظ
سلام، وقت بخیر.
تعطیلات نوروز رو داشتیم، به روز رسانی هر یک هفته در میان انجام میشه.
جلسات بعدی دوشنبه ۲۱ فروردین به دوره اضافه میشن.
لطفا کانال تلگرام رو دنبال کنید.
mohammadshahi
فروردین 13, 1402 در 11:25 ق.ظ
با سلام
من دوره رو خریداری کردم اما میخواستم بدونم که از ریداکس هم در این پروژه استفاده میشه؟
مسعود صدری
فروردین 13, 1402 در 1:05 ب.ظ
سلام
ممنونم برای ثبت نامتون.
خیر، از Context API استفاده کردیم.
لطفا سرفصلها رو مطالعه کنید.
منوچهر قیایی
فروردین 8, 1402 در 3:03 ب.ظ
با سلام و عرض تبریک سال نو. قسمت بک اند رو با نودجی اس انجام میدین ؟ باتشکر
مسعود صدری
فروردین 8, 1402 در 5:07 ب.ظ
سلام
ممنونم، سال نو شما هم مبارک.
بله API رو با Node توسعه میدیم.
amirht905
فروردین 6, 1402 در 8:37 ب.ظ
سلام آیا در این دوره قسمت بک اند هم کار میشه؟
مسعود صدری
فروردین 7, 1402 در 7:00 ب.ظ
سلام
بله. در فصل API Routes مفاهیم بکاند رو بررسی میکنیم.
همین طور بکاند پروژه اصلی به صورت کامل پیاده سازی میشه.
ali ghanefard
فروردین 5, 1402 در 11:22 ب.ظ
واقعا برنامه نویس و استاد عالی هستین که این موقع شب هم پاسخ گویی رو انجام میدهید ، الان دوره رو دارم تهیه میکنم ، من بعد از دو سال باز هم به این سایت برگشتم چون واقعا به روز هستید و هیچ دوره ای رو بدون اپدیت رها نمیکنید
مسعود صدری
فروردین 6, 1402 در 12:30 ق.ظ
ممنونم، شما لطف دارین.
ali ghanefard
فروردین 5, 1402 در 10:57 ب.ظ
استاد صدری عزیز من یکی از شاگرد های قدیمی شما هستم ، ایا با دیدن این دوره میتونم نکست رو خوب یاد بگیرم ، من ریکت ریدکس شما رو قبلا دیدم عالی بود
مسعود صدری
فروردین 5, 1402 در 11:05 ب.ظ
سلام
ممنونم، باعث افتخار هست.
قطعا میتونید. در طول دوره هم هر جایی سوال داشتید بهم بگید.
مسعود
فروردین 5, 1402 در 1:06 ب.ظ
سلام استاد
عیدتان مبارک
با آرزوی سالی پر موفقیت و سلامتی برای شما استاد عزیز
—-
به روزرسانی در ایام عید انجام نمی شود؟
مسعود صدری
فروردین 5, 1402 در 10:22 ب.ظ
سلام
خیلی ممنونم، سال نو شما هم مبارک.
به روز رسانی ۱۹ فروردین شروع میشه.
mrhajian
فروردین 2, 1402 در 7:52 ب.ظ
سلام خسته نباشید
مفاهیم پیشرفته ای که توی ریکت داریم مثل private route ها و authorization , authentication هم تو دوره بررسی میشه؟
مسعود صدری
فروردین 3, 1402 در 1:43 ب.ظ
سلام
خیلی ممنونم.
بله. مفاهیم احراز هویت در طول پیاده سازی پروژه دوره با Next.js بررسی شدند.
البته این موارد رو به شکل کامل نمیشه در یک دوره React بررسی کرد. چون برای پیاده سازی کامل، قسمت بکاند رو هم نیاز داریم.
armanm
فروردین 2, 1402 در 7:39 ب.ظ
درود
آیا در این دوره یا دوره نود جی اس، به تناسبات و نحوه استفاده همزمان یا جدا از هم نکست و نود جی اس پرداخته شده؟
مسعود صدری
فروردین 3, 1402 در 1:38 ب.ظ
سلام
در این دوره مفاهیم توسعه API رو از ابتدا و در طول پیاده سازی یک پروژه واقعی باهم بررسی کردیم.
دوره Node شامل مباحث مربوط به توسعه وباپلیکیشن (بکاند) میشه.
پیشنهاد میکنم سرفصلها رو مطالعه کنید. عناوین به صورت دقیق نوشته میشن.
ali.dev
فروردین 2, 1402 در 9:37 ق.ظ
سلام جناب صدری وقتتون بخیر
از نظر شما برای زدن داشبوردها با توجه به اینکه نیاز به سئو نیست استفاده از next درسته ؟ و اینکه به طور کلی کسی که next رو بلده کار درستیه که تو همه پروژه های ری اکتی از نکست استفاده کنه ؟ بخاطر بحث روت بندی ها و … که نکست خیلی کارها رو تسهیل میکنه
مسعود صدری
فروردین 3, 1402 در 1:35 ب.ظ
سلام
وقت بخیر.
پیشنهاد میکنم کنفرانسهای مربوط به Vercel رو ببینید. جزییات دقیقتری در مورد کاربردهای Next.js در این سخنرانیها بررسی میشن.
من استفاده از Next.js رو در حال حاضر ترجیح میدم. اکوسیستم جاوااسکریپت بر خلاف سالهای گذشته توجه بیشتری به SSR داره.
این میتونه نشون دهنده حرکت کتابخانهها و چهارچوبها برای آینده در این مسیر باشه.
parsaSH
فروردین 1, 1402 در 7:06 ب.ظ
سلام استاد خسته نباشید ،، استاد نیاز هست برای این دوره node بلد باشیم ؟
مسعود صدری
فروردین 2, 1402 در 1:30 ق.ظ
سلام
خیلی ممنونم.
خیر نیازی نیست. اگر Node رو تا اندازهای یاد گرفته باشید میتونه برای درک بهتر مفاهیم بکاند بهتون کمک کنه.
EhsanAryan
اسفند 29, 1401 در 7:48 ب.ظ
سلام وقت بخیر. من قصد دارم این دوره را تهیه کنم ولی قبلش ۳ تا سوال داشتم که ممنون میشم جواب بدید.
۱) دوره حدوداً چه زمانی به پایان میرسه؟
۲) در این دوره نسخه ۱۲ یا ۱۳ از NextJS تدریس میشه؟
۳) آیا مفاهیم نسخه ۱۲ و ۱۳ از NextJS مشابه هستند؟ یعنی تفاوت زیادی بینشون وجود نداره؟ (چون من جایی خوندم که در نسخه ۱۳ به جای پوشهی pages از پوشهی app استفاده میشه، میخواستم ببینم تفاوت بزرگی نداشته باشن)
مسعود صدری
فروردین 2, 1402 در 1:28 ق.ظ
سلام
خواهش میکنم، در خدمتتون هستم.
۱. متاسفانه زمان دقیق نمیتونم بگم، چون هدف ما پیاده سازی پروژه با حداکثر فیچرها هست.
۲. پروژه دوره با نسخه ۱۲ پیاده سازی شده.
۳. یک سری تغییرات در نسخه ۱۳ هستند که در جلسه ۴۲ بررسی کردیم. بر اساس مستندات وبسایت Next.js این تغییرات در مرحله آلفا و بتا هستند. بعد از ارایه نسخه پایدار ۱۳، مثل همیشه به صورت رایگان دوره با مفاهیم جدید به روز رسانی میشه.
داریوش حمیدی
اسفند 28, 1401 در 1:57 ق.ظ
سلام استاد وقت شما بخیر
استاد Backend این دوره یک پروژه جداگانه است که بهمون میدید ؟ یا تو همین دوره پیاده سازی می کنید ؟
مسعود صدری
اسفند 28, 1401 در 12:47 ب.ظ
سلام
وقت بخیر.
قسمت Backend به صورت کامل و از ابتدا در طول پروژه پیاده سازی میشه.
مسعود
اسفند 26, 1401 در 4:17 ب.ظ
سلام استاد
قسمت ۶۴ (به روز شدن header)
بعد از انجام تغییراتی که گفتید بازم هم بعد از رفرش صفحه همون پیغام خطا دارد حتی من کدی که داخل قسمت دانلود هم بود تست کردم بازم پیغام خطا دارد لطفا راهنمایی کنید
مسعود صدری
اسفند 26, 1401 در 10:47 ب.ظ
سلام
لطفا کدهای پروژه که در پنلتون هستند رو بر اساس توابع و به صورت جداگانه مقایسه کنید.
برای بررسی دقیقتر میتونید در تلگرام پیام بدید و از کدهای خودتون و خطا اسکرین شات ارسال کنید.