مروری بر پیشرفتهای مرورگر Ladybird در اکتبر ۲۰۲۶: از JIT و معماری چندرشتهای تا مهاجرت به Rust — This Month in Ladybird – October 2026
خلاصه
پروژه مرورگر مستقل Ladybird در اکتبر ۲۰۲۶ به دستاوردهای بزرگی نظیر انتقال استایل و لایهبندی به ترد جداگانه، پیادهسازی JIT برای جاوا اسکریپت و موتور جدید WebAssembly دست یافت. این تغییرات عملکرد وبسایتها را بهطور چشمگیری بهبود داده و پروژه را به انتشار نسخه آلفا نزدیکتر کرده است.
مقدمه
مرورگر متنباز و مستقل Ladybird در ماه اکتبر ۲۰۲۶ روند توسعه بسیار سریعی را پشت سر گذاشت. این پروژه که هدف آن ساخت یک موتور مرورگر کاملاً جدید و مستقل از موتورهای رایج مانند Blink و WebKit است، در این ماه توانست به نقاط عطف فنی مهمی دست پیدا کند؛ از جمله جداسازی تردها، راهاندازی JIT موتور جاوا اسکریپت و توسعه یک موتور WebAssembly جدید.
معماری چندرشتهای: استایل و لایهبندی مستقل از جاوا اسکریپت
بهطور سنتی در مرورگرها، کدهای جاوا اسکریپت، محاسبات استایل و لایهبندی (Layout) روی ترد اصلی (Main Thread) و به نوبت اجرا میشوند. این امر باعث میشود هنگام اجرای اسکریپتهای سنگین، صفحه فریز شود.
توسعهدهندگان Ladybird استایل و لایهبندی را به ترد دیگری منتقل کردند و ثبت نقاشی (Paint Recording) را نیز به تردی دیگر سپردند. این یعنی:
- انیمیشنهای CSS حتی هنگام اجرای اسکریپتهای سنگین جاوا اسکریپت به کار خود ادامه میدهند.
- رویدادهای
:hoverبدون تاخیر فریز شدن ترد اصلی پردازش میشوند و عناصر زیر ماوس به سرعت واکنش نشان میدهند.
موتور جاوا اسکریپت JIT و WebAssembly جدید
تیم توسعهدهنده تصمیم گرفت یک کامپایلر JIT (Just-In-Time) محافظهکارانه برای LibJS روی لینوکس و macOS (برای معماریهای x86-64 و AArch64) پیادهسازی کند. این کامپایلر با استفاده از پروفایلبندی انواع در زمان اجرا، کدهای داغ را به ماشینکد تبدیل میکند تا عملکرد موتور جاوا اسکریپت بهبود یابد.
همچنین موتور قدیمی WebAssembly کنار گذاشته شده و موتور جدیدی با مفسر و JIT اختصاصی جایگزین آن شده است. این موتور جدید از قابلیتهایی نظیر مدیریت استثناها و زبالهروب (GC) پشتیبانی میکند و در بنچمارکها نتایج چشمگیری ثبت کرده است.
تستهای پلتفرم وب (WPT) و نقش هوش مصنوعی
یکی از رخدادهای جالب این ماه، جهش چشمگیر در گذراندن آزمونهای WPT (Web Platform Tests) بود؛ بهطوریکه این مرورگر موفق شد از Safari Technology Preview پیشی بگیرد. بخش عمدهای از این پیشرفت با کمک ایجنتهای کدنویسی هوش مصنوعی حاصل شد که توابع گمشده و پیادهسازیهای ناقص را با کدهای سازگار پر کردند.
بهبود امنیت و ایزولهسازی فرآیندها
مقوله سندباکس و امنیت فرآیندها تقویت شد:
- ایفرامهای متقاطع (Cross-site iframes) بهطور پیشفرض رندرکننده (Renderer) اختصاصی خود را دریافت میکنند.
- فرآیندهای شبکه، رمزگشایی تصویر و پردازش صدا برای هر وبسایت ایزوله شدند تا در صورت بروز نقص امنیتی، نفوذ به کل سیستم محدود شود.
مهاجرت گسترده کدهای C++ به زبان Rust
بخش زیادی از کدهای پروژه به زبان Rust منتقل شد. زمان اجرایی LibJS و همچنین موتور جدید WebAssembly اکنون کاملاً با Rust نوشته شدهاند (بهجز مفسر و زبالهروب). محاسبه استایل نیز دیگر کاملاً به Rust منتقل شده و کدهای C++ قدیمی پاکسازی شدهاند.
نگاه جامعه هکرنیوز
در بحثهای هکرنیوز، توسعهدهندگان از پیشرفت سریع این مرورگر شگفتزده شده بودند. برخی کاربران اشاره کردند که به طور روزانه کدهای مخزن را کامپایل کرده و از آن برای کارهای روزمره استفاده میکنند. همچنین چالشهای حجم فایلهای خروجی بیلد (Build Artifacts) هنگام کار با ابزارهای مبتنی بر Rust و ایجنتهای هوش مصنوعی مورد بحث قرار گرفت.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل