ادغام راست در هسته کامپایلر ری‌اکت

تیم توسعه‌دهنده کتابخانه ری‌اکت (React)، نسخه راستی (Rust) کامپایلر این کتابخانه را به مخزن اصلی خود ادغام کرده است. این اقدام با هدف افزایش سرعت بیلد پروژه‌ها و یکپارچه‌سازی عمیق‌تر با زنجیره ابزارهای جاوااسکریپتی مبتنی بر راست انجام شده است. کامپایلر ری‌اکت که پیش‌تر با نام React Forget شناخته می‌شد، وظیفه مموایز کردن (Memoization) خودکار کامپوننت‌ها و هوک‌ها را بر عهده دارد تا توسعه‌دهندگان دیگر نیازی به استفاده دستی از useMemo و useCallback نداشته باشند.

این پول ریکوئست (Pull Request) جدید، کامپایلر مذکور را از تایپ‌اسکریپت به راست بازنویسی می‌کند. توسعه‌دهندگان این انتقال را یک نسخه آزمایشی در حال پیشرفت توصیف کرده‌اند.

جهش سرعت بیلد و عملکرد چشمگیر

آمارهای منتشرشده نشان‌دهنده جهش قابل‌توجه در عملکرد است. نسخه راست به‌عنوان یک پلاگین جایگزین برای بابل (Babel)، حدود 3 برابر سریع‌تر از نسخه اصلی تایپ‌اسکریپت اجرا می‌شود. در حالت ایزوله، منطق تبدیل داده‌ها در برخی موارد تا 10 برابر سریع‌تر عمل می‌کند؛ هرچند سربار سریالایز شدن داده‌ها، این عدد را در شرایط واقعی کمی کاهش می‌دهد.

بر اساس خبرنامه Rust Bytes، تمامی 1725 تست فیکسچر با موفقیت پاس شده‌اند و وضعیت‌های میانی، تقریباً بایت‌به‌بایت با نسخه تایپ‌اسکریپت مطابقت دارد. چنین دستاوردی با بازسازی بخش‌های داخلی با استفاده از تخصیص آرنا (Arena Allocation) و ساختارهای داده مبتنی بر ایندکس محقق شده است.

حذف سربار پلاگین و یکپارچگی با Turbopack

مهم‌ترین بهره‌وری‌ها زمانی خود را نشان می‌دهند که کامپایلر از حالت پلاگین خارج می‌شود. در گذشته، کامپایلر ری‌اکت به‌عنوان یک Babel Transform اجرا می‌شد و باندلرها در هر بیلد این سربار را تحمل می‌کردند. اتصال مستقیم نسخه راست به ترنبوپک (Turbopack)، باندلر مبتنی بر راست شرکت ورسل (Vercel)، این گلوگاه را کاملا برطرف کرده است.

اندرو ایم (Andrew Imm)، مهندس ارشد ورسل، گزارش داد که این تغییر هنگام آزمایش روی اپلیکیشن بزرگ Next.js شرکت، موجب افزایش 40 درصدی سرعت کامپایل شده است. مسیر پلاگین SWC قبلی از کندی شروع سرد (Cold Start) وابسته به وب‌اسمبلی رنج می‌برد. حساب رسمی نکست‌جی‌اس نیز محدوده بهبود را 20 تا 50 درصد سریع‌تر در کامپایل مسیرها اعلام کرد و پشتیبانی آزمایشی از این قابلیت در نسخه Next.js 16.3 ارائه خواهد شد.

کدنویسی با زبان راست و کامپایلر ری‌اکت

نقش مدل‌های زبانی و نگرانی‌های جامعه توسعه‌دهندگان

یکی از جالب‌ترین بخش‌های این انتقال، استفاده گسترده از مدل‌های زبانی بزرگ (LLM) برای انجام کارهای مکانیکی بوده است؛ نقشی که انسان‌ها در آن صرفاً به معماری و بازبینی کدها محدود شده‌اند. این موضوع بحث‌های فراوانی را در میان توسعه‌دهندگان برانگیخته است.

در هکر نیوز (Hacker News)، کاربران نظرات متفاوتی درباره این رویکرد ابراز کردند. یک کاربر به انتقال به زبان‌های کامپایل‌شونده خوشامد گفت اما هشدار داد: «پرداخت بدهی شناختی برای تیمی که در درازمدت باید این کد را نگهداری کند، بسیار دشوار خواهد بود». کاربر دیگری پروژه مشابهی را با بان (Bun) مقایسه کرد و تأثیر بلندمدت استفاده از هوش مصنوعی را زیر سؤال برد:

آیا پایه مدل‌های زبانی برای ساخت و توسعه بیشتر به‌اندازه کافی محکم است؟ یا این روش باعث می‌شود پروژه‌ها غیرقابل نگهداری شوند، زیرا هیچ انسانی پیاده‌سازی کدها را دیگر درک نمی‌کند؟

کاربر دیگری نیز در همین رابطه اشاره کرد که «فقط به این دلیل که چیزی با راست نوشته شده، لزوماً راست خوبی نیست». چرا که یک مدل هوش مصنوعی برای ارضای بروچکر (Borrow Checker) ممکن است به RefCell متوسل شود و خطاهای کامپایل را به زمان اجرا منتقل کند.

تغییرات برای کاربران فعلی و آینده ابزارهای فرانت‌اند

کاربران فعلی تا حد زیادی از این تغییرات در امان هستند. رابط برنامه‌نویسی عمومی (API) همچنان شبیه به بابل باقی مانده و ارتقا به‌سادگی جایگزینی یک پلاگین انجام می‌شود، بدون آنکه نیاز به تغییر تنظیمات فعلی باشد. تیم‌های تازه‌وارد می‌توانند از راهنمای معرفی و اتخاذ تدریجی ری‌اکت استفاده کنند تا کدهای ناسازگار را به‌تدریج مستثنی کنند.

این بازنویسی بخشی از روند گسترده‌تری است که در آن راست به ابزارهای فرانت‌اند نفوذ بیشتری پیدا می‌کند. SWC به کامپایلر رسمی راست مهاجرت کرده، Oxc آن را به‌عنوان کریت‌های قابل انتشار ارائه می‌دهد و Rspack 2.1 نیز از پشتیبانی بومی بهره‌مند شده است. البته همه یکپارچه‌سازی‌ها به‌خوبی پیش نرفته‌اند؛ برای مثال، تیم نگهدارنده Rolldown، ادغام کامپایلر راست ری‌اکت را از این ابزار و Vite پس گرفته تا ابتدا کدها را پاکسازی و بهینه‌سازی کند.

نسخه جدید هم‌اکنون در مونوریپو (Monorepo) ری‌اکت در دسترس است و توسعه آن از طریق گروه کاری کامپایلر ری‌اکت قابل پیگیری است.