سلام دوستان،
من یه برنامه‌نویس تازه‌کارم که این چند وقت اخیر وارد پروژه طراحی فروشگاه اینترنتی شدم و با دوستانم همکاری میکنم. تیم ما تصمیم گرفته یه وب اپلیکیشن فروشگاهی بسازه که هم ظاهرش مدرن باشه هم عملکردش بهینه، ولی الان وسط کار یه سری مشکلات فنی جدی برام پیش اومده که واقعا نمی‌دونم چطوری حل کنم.
مسئله اصلی اینه که ما از فریم‌ورک React برای رابط کاربری استفاده کردیم و به‌خاطر پویایی زیاد و قابلیت واکنش‌گرایی، کاربر می‌تونه راحت توی صفحات مختلف بگرده و کالاها رو ببینه. ولی وقتی صفحات فروشگاه پر از کامپوننت‌های سنگین و API کال‌های متعدد میشن، سرعت لود و رندر صفحات شدیدا کاهش پیدا می‌کنه، مخصوصا روی موبایل‌هایی که سخت‌افزار قوی ندارن.
من به شخصه خیلی سعی کردم با تکنیک‌های Lazy Loading و Code Splitting حجم اولیه صفحه رو کمتر کنم، اما بازم وقتی صفحات محصولات شامل فیلترهای متعدد، اسلایدرهای بزرگ و تصاویر با کیفیت بالا هستن، احساس می‌کنم کاربرها با تأخیر طولانی مواجه میشن. این موضوع اصلا خوب نیست چون باعث میشه نرخ پرش (Bounce Rate) بالاتر بره و در نهایت فروش پایین بیاد.
یه مشکل دیگه هم اینه که چون پروژه تازه‌کار هستم، هنوز تجربه کافی برای بهینه‌سازی State Management ندارم. تیم ما از Redux استفاده می‌کنه، ولی مدیریت استیت‌های پیچیده و به‌روزرسانی‌های مکرر باعث میشه رندرهای غیرضروری اتفاق بیفته که فشار بیشتری به DOM وارد می‌کنه.
الان دقیقاً دنبال یه راهکار جامع هستم:

  • چطور میشه طراحی فروشگاه اینترنتی رو طوری بهینه کرد که هم UI/UX جذاب و مدرن حفظ بشه، هم عملکرد سایت رو بهینه نگه داشت؟
  • آیا بهتره روی بهینه‌سازی تصاویر کار کنم یا روش‌های کشینگ (Caching) رو قوی‌تر کنم؟
  • یا اینکه باید ساختار کامپوننت‌ها رو ساده‌تر کنم و از کتابخونه‌های سبک‌تر استفاده کنم؟
  • به نظرتون در پروژه‌های مشابه، چطوری تونستین سرعت لود و رندر رو توی فروشگاه‌های اینترنتی بالا ببرید؟

خیلی ممنون میشم اگه تجربه یا منابع مفیدی در این زمینه دارین، بهم معرفی کنین. هدفم اینه که هم تجربه برنامه‌نویسی خودمو بالا ببرم، هم پروژه‌ای بسازم که کاربرها دوست داشته باشن استفاده کنن و فروش خوبی داشته باشه.
منتظر نظرات و راهنمایی‌هاتون هستم.