TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.4K subscribers
Post #12444 6.73K
تا حالا شده یک فیچر بزنید که کل دیتاش لود شده، ولی تا کاربر یک چیزی سرچ می‌کنه یا فیلتر رو تغییر میده، صفحه برای چند ثانیه Freeze میشه؟ Spinnerها قفل می‌کنند، Inputها لگ می‌زنند و کلاً Application حس سنگینی میده.

برای حل این چالش، سراغ یک تغییر معماری جالب توی فرانت‌اند رفتم تا پردازش‌های سنگین محاسباتی را کاملاً بفرستم توی Background. اینطوری Main Thread کاملا آزاد موند تا بدون حتی یک فریم افت کیفیت، به کارش ادامه بده و UI مثل روز اول روان شد.

توی این مقاله جدیدی که نوشتم، سیر تا پیاز این سناریو، دلیل این که چرا Debouncing کافی نیست و چالش‌های این ساختار را کاملاً باز کردم. یک دمو واقعی هم براش ساختم که می‌توانید تفاوت پرفورمنس را با چشم ببینید. پیشنهاد می‌کنم این مقاله را بخوانید:

Demo: https://webworker-vs-main-thread.netlify.app/
Github: https://github.com/MiladSadeghi/webworker-vs-main-thread

https://www.linkedin.com/pulse/main-thread-vs-web-workers-milad-sadeghi-hqbie/

@DevTwitter | <Milad Sadeghi/>
  • ❤ 29
  • 👍 9
  • 🍌 8
More from @devtwitter
  1. Oct 3, 2026آسیب‌پذیری جدید Docker | CVE-2026-17106 یه آسیب‌پذیری با نام CopyEscape در Docker پیدا شده…
  2. Oct 3, 2026یک API و ۴ خروجی؛ یک تغییر و ۴ دردسر! این اتفاق زمانی میفته که SDK، CLI، Documentation و S…
  3. Oct 3, 2026🍁 آخرین روز تخفیف‌های پاییزی دوره‌های کندو 🔥 اگه منتظر زمان مناسب برای شروع یادگیری یه م…
  4. Oct 3, 2026بعضی پروژه‌ها از یه نیاز شروع میشن، بعضیها هم از یه پست لینکدین چند وقت پیش تو لینکدین یه…
  5. Oct 3, 2026سایت serv00.com سرور freebsd مادام العمر با ۵۱۲ مگ رم و ۳ گیگ فضا فقط به ۳۰۰۰ نفر می‌ده. @…
  6. Oct 2, 2026با RyzerDNS، تحریم‌ها دیگر مانع شما نیستند. از هوش مصنوعی‌هایی مثل ChatGPT، Gemini و Claud…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →