سلام خسته نباشید میخواستم بدونم به نظرتون برای یک وبسایت فروشگاهی یا کلا یک سیستم محتوا محور به نظرتون بهتره که از ssr استفاده کنیم و فریمورک های جاوااسکریپتی یا اینکه نه مثل روند های قدیمی mpa کار کنیم ؟
و اگر میشه دلایل خودتون را هم بیان کنید.
با سلام
دوست عزیز ssr/spa VS mpa به نظر بنده بستگی به وب سایت شما داره اگه ساییتون (همون طور که فرمودید) صفحات زیادی داره چون تو ساختار ssr صفخات قبل نمایش بع کاربر رندر میشن لود تایم زیادی اولیه زیادی خواهد داشت و باعث مشکلاتی از جملع ضریب خروج از سایت و .... که برای سئو هم
مضر هستند و بهتر برای سایتهایی که با صفحات بالا از ساختار mpa استفاده بشه
البته این نظرو خودم طبق مطالعه و انجام چند پروژه کوچیک spa با reactjs انجام دادم و به نظرم برای پروژه های کوچیک مثل سایت هاس معرفی خیلی عالیه و برای پروژه بزرگ شاید انتخاب مناسبی نباشه
تو ساختار ssr صفخات قبل نمایش بع کاربر رندر میشن لود تایم زیادی اولیه زیادی خواهد داشت و باعث مشکلاتی از جملع ضریب خروج از سایت و ...
لود تایم SSR با MPA باید تقریبا یکی باشن و حتی SSR باید از MPA کمی کمتر هم باشه. اینطور نیست؟
@golshahimohammadreza
@ariaieboy
@Alvandi
حقیقت امر من با SSR خیلی کار نکردم و نظر صد در صد درستی شاید ندم.
اما در کل یکی از مشکلات SPA ها حالا چه با SSR و چه بدون اون این هست که لود اولیه معمولا طولانی تر هست.
چراکه معمولا شما یک صفحه خالی را دریافت میکنید با یک اسکریپت جاوااسکریپتی بعد تازه میاد شروع میکنه به دریافت اطلاعات و رندر صفحه.
اما توی نویگیشن های بعدی خوب بخاطر اینکه دیگه کل صفحه رفرش نمیشه. و فقط داده های مد نظر گرفته میشه و نمایش داده میشه خوب به مراتب سریعتر هست.
تا جایی که من میدونم توی سیستم های فعلی که وجود داره روی پرفورمنس خیلی کار شده. و خوب بحث کش و... هم استفاده شده تا سرعت رندر صفحات بالاتر بره.
اما خوب SSR معایب خودش را هم داره.
اول اینکه شما باید حتما یک سرور مجزا داشته باشید تا اون اسکریپت SSR ران بشه صفحه رندر بشه و به دست کاربر برسه.
مسئله بعدی این هست که تا جایی که من میدونم روند کار SSR به این صورت هست که داخل سرور صفحه رندر میشه و کد های ساخته شده برای کاربر ارسال میشه که خوب همین قضیه خودش کلی زمانبر هست و منابع زیادی مصرف میکنه. و خوب برای اینکه هردفعه رندر تکرار نشه کش انجام میشه که خوب کش هم ممکنه توی بعضی پروژه ها خیلی کارایی چندانی نداشته باشه. مخصوصا جایی که محتوا به صورت مداوم داره تغییر میکنه.
اینم مد نظر داشته باشید که چون داده ها داره از طریق وب سرویس معمولا تامین میشه همین کال کردن وب سرویس ها درحین رندر سمت سرور و دریافت اطلاعات از یک سرویس خارجی اینا همش میتونه روی پرفورمنس و کارایی کلی برنامه تاثیر بذاره.
بخاطر همینم توصیه میشه برای جا هایی که لازم نیست اصلا از SSR استفاده نکنید. مثلا بخش داشبورد کاربری که خوب اگر لود اولیه یکم بیشتر باشه به جایی برنمیخوره و بحث سئو و خزشگر ها روش تاثیری نداره.
یا مثلا برای صفحات تمام استاتیک مثل درباره ما و... توصیه شده از preload استفاده بشه بجای SSR یعنی یکبار در حین دپلوی شما این صفحات بیلد یا همان به اصطلاح pre-load کنید و ذخیره کنید و اگر کاربر درخواستی به این صفحات داد همان محتوای از قبل رندر شده را براش ارسال کنید.
توی ورژن جدید فریمورک nuxtjs قرار هست سیستم هیبریدی اضافه بشه برای این قضیه که شما بتونید راحت مشخص کنید کدام روت یا کامپوننت سرور ساید بشه کدام pre-load یا کدوم کلا سمت کلاینت رندرش انجام بشه تا این مشکلات کمتر بشه.
یک چیز دیگه را هم نباید فراموش کنیم.
اونم این هست که ما با اضافه کردن هر کدوم از این موارد مثل pre-load و ssr و... داریم یک سربار فنی هم به پروژه اضافه میکنیم علاوه بر اون سربار مربوط به تهیه سرور و ...
چراکه خیلی راحت نمیشه این بحث را پیاده سازی کرد. حتی توی فریمورک هایی مثل nuxtjs که به صورت پیش فرض SSR دارند بازم شما باید این بدونید که api های سمت کلاینت داخل سرور اجرا نمیشه چرا که رندر داره داخل سرور نود جی اس اتفاق میوفته. و ممکنه این موارد باعث درست رندر نشدن بشه و...
و خوب راه اندازی ،مدیریت و بعد نگهداری سرور رندرینگ هم خودش سربار فنی خودش داره.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟