Saeed Alipoor
Saeed Alipoor
خواندن ۱ دقیقه·۴ سال پیش

جستجوی محتوا با مرورگر، فدای لیست‌های مجازی


توی یک صفحه وب بودم و می‌خواستم از توی یک لیست طولانی چیزی رو پیدا کنم، طبق عادت Ctrl + F رو زدم تا سریع پیدا کنم یا خیالم راحت بشه که اونجا پیدا نمیشه(البته مطمئن بودم که اونجاست فقط باید پیداش می‌کردم)، اما جستجو ثمری نداشت. چرا؟

اگر توسعه‌دهندهٔ سمت کاربر باشید (فرقی نداره وب‌اپلیکیشن یا اپ‌های موبایل) به احتمال زیاد با لیست‌های مجازی آشنایی دارید. مقالهٔ بهبود تجربه اسکرول کردن در لیستهای خیلی بلند خیلی مفصل در مورد پیاده‌سازیش روی وب با vuejs پرداخته و پیشنهاد می‌کنم بخونیدش. ساده‌اش میشه این که برای بهبود سرعت صفحه‌ای که یه لیست طولانی داره فقط مواردی که در قسمت قابل دیدن صفحه یا همون view-port هستند در صفحه پردازش بشه.

لیست‌های مجازی برای بهبود سرعت صفحات در بسیاری از اپ‌هایی که لیست‌های طولانی دارند استفاده می‌شوند
لیست‌های مجازی برای بهبود سرعت صفحات در بسیاری از اپ‌هایی که لیست‌های طولانی دارند استفاده می‌شوند


تصویر بالا به طور خلاصه مشکلی که من توی جستجوی اون صفحه باهاش مواجه شدم رو نشون می‌ده. اون صفحه داشت برای بهبود سرعت صفحه از اسکرول مجازی استفاده می‌کرد و اون دسته از کاربرانی که با جستجو در صفحه می‌خواستن به چیزی برسن رو قلم گرفته (شاید فعلاً).


این مطلب رو بیشتر برای این نوشتم که در جریان چنین رفتاری از کاربران مرورگرها (مخصوصاً دسکتاپ و لپ‌تاپ) باشیم، اما اگه بخوام راه‌حلی هم براش بگم میشه به این‌ها اشاره کرد:

  • یه فرم جستجو برای لیست‌های این‌چنینی به کاربر ارائه بدید تا بتونه بین اون موارد جستجو کنه. گاهی بسته به نوع جستجو و اولویتش در صفحه می‌شه فوکوس خودکار گذاشت روش یا به کاربر یه میونبر معرفی کرد.
  • یه راه دیگه که توسعه‌اش کمی هزینه‌ٔ بیشتری داره، این که اون متن‌ها رو در محلی که کامپوننت اصلی می‌خواد رندر بشه نمایش بدین تا توسط جستجوی خود مرورگر پیدا بشه در محل خودش و بعد از اسکرول به صورت کامل رندر بشه.
کاربردپذیریتجربه کاربربرنامه‌نویسیوبux
A 3D Man; Dad, Dreamer, Devigner :)
شاید از این پست‌ها خوشتان بیاید