بعد از رفتن Deno، رانتایمهای جاوااسکریپت دارن تکصدایی میشن
خلاصهٔ کاملتر
اوایل این ماه Deno اعلام کرد که کل تیمش به Cloudflare میره. Ryan Dahl، سازنده Node.js و Deno، گفته توسعه رانتایم Deno بعد از یه سال متوقف میشه. با این حساب، از رانتایمهای اصلی عمومی فقط Node.js (زیر نظر OpenJS Foundation) و Bun (متعلق به Anthropic) میمونن، کنار workerd که رانتایم Cloudflare هست و بیشتر برای پلتفرم Workers خودش ساخته شده. Kate Holterhoff از RedMonk تو این مقاله میگه این وضعیت نگرانش کرده.
نویسنده ماجرا رو با Internet Explorer 6 مقایسه میکنه. مایکروسافت سال 2001 منتشرش کرد، حدود نه از ده کاربر رو گرفت و بعد تقریباً ولش کرد. حدود پنج سال توسعهدهندهها مجبور بودن برای رفتارهای عجیب یه مرورگر کد بنویسن، نه برای استانداردها. بعدش Firefox و Safari و Chrome اومدن و رقابت برگشت. ولی دوباره همهچی جمع شد: Opera و Edge رفتن سراغ موتور Blink گوگل و امروز بیشتر مرورگرها روی موتور گوگل کار میکنن. سمت سرور هم Node یه بار درجا زد، سال 2014 فورک io.js ساخته شد و همین فشار باعث شد سال 2015 دوباره زیر یه بنیاد بیطرف یکی بشن.
به گفته نویسنده، Deno هیچوقت از Node جلو نزد ولی کل این حوزه رو جلو برد. چیزهایی مثل امنیت مبتنی بر مجوز (یعنی کد سمت سرور فقط به منابعی که صریحاً اجازه دادی دسترسی داره)، پشتیبانی درجهیک از TypeScript و ابزار تست داخلی الان تو خود Node هم هست. Bun هم همین فشار رو روی سرعت آورد. نویسنده میگه با رفتن هر رقیب، بخشی از این فشار هم از بین میره.
نگرانی اصلی نویسنده monoculture هست، یعنی وقتی همه روی یه پیادهسازی تکیه کنن. Node و Deno و workerd همه روی موتور V8 گوگل (موتور Chrome) اجرا میشن و Bun روی JavaScriptCore اپل (موتور Safari). یه استاندارد وب معمولاً دو تا پیادهسازی مستقل لازم داره و گروه WinterTC هم که APIهای مشترک رانتایمهای سرور رو تعریف میکنه، با صداهای کمتر عملاً رفتار پرکاربردترین رانتایم رو استاندارد میکنه. مشکل دیگه اینه که monoculture با هم خراب میشه، مثل Heartbleed تو OpenSSL سال 2014. تنوع جلوی باگ رو نمیگیره ولی دامنه آسیب رو کم میکنه.
نویسنده قبول داره که یکپارچه شدن همیشه بد نیست، مثلاً Linux استاندارد سرورها شد و اینترنت روش رشد کرد. ولی Linux کلی توزیع مستقل و کلی شرکت حامی داره، چیزی که رانتایمهای JS الان ندارن. چند تا فورک مستقل از Deno هم اومده: Ende اواسط اکتبر اولین نسخهش رو داد و سازگاری با Node رو کنار گذاشت، Dodo هم هنوز نسخهای نداره و باید از سورس build بشه. James Snell از Cloudflare و عضو قدیمی کمیته فنی Node هم به نویسنده گفته نبودن انتخاب هیچوقت خوب نیست و همین انتخابهاست که همهچی رو جلو میبره.
نکات کلیدی:
- تیم Deno به Cloudflare رفته و توسعه رانتایم Deno بعد از یه سال متوقف میشه
- رانتایمهای اصلی باقیمونده Node.js، Bun و workerd هستن
- Node و Deno و workerd روی V8 گوگل و Bun روی JavaScriptCore اپل اجرا میشن
- قابلیتهایی مثل ES Modules، fetch()، اجرای فایل .ts و test runner داخلی اول تو Deno بودن و بعد به Node اومدن
- فورکهای مستقل Deno یعنی Ende و Dodo تازه کارن و Dodo هنوز هیچ نسخهای منتشر نکرده
- RedMonk اعلام کرده Cloudflare، مایکروسافت و گوگل مشتریهاش هستن




