یک اپ، سیزده فریمورک، یک بنچمارک
خلاصهٔ کاملتر
پروژهٔ Framework Benchmarks یک ایدهٔ ساده رو تا تهش برده: یک اپلیکیشن وب یکسان رو با همهٔ فریمورکهای فرانتاند بنویس، بعد همه رو با یک روش یکسان بسنج. تو صفحهٔ پروژه اومده که ۱۳ پیادهسازی آمادهست: React، Angular، Svelte، Preact، Solid.js، Qwik، Vue، jQuery، Alpine.js، Lit، VanJS، Lume.js و Vanilla JS. برای هر فریمورک هم یک صفحهٔ جدا هست که نتیجهها و کد همون اپ رو نشون میده.
نکتهٔ اصلی همین «یکسان بودن اپ»ه. وقتی کاری که برنامه انجام میده ثابته، تفاوت عددها رو میشه به خود فریمورک نسبت داد، نه به این که هر دمو چقدر بزرگ یا پیچیده بوده. این همون چیزیه که مقایسهٔ فریمورکها معمولاً کم داره.
سنجهها چند دستهان: حجم کل و حجم فشردهٔ باندل، امتیاز performance تو Lighthouse، شاخصهای زمان لود، مصرف CPU و حافظه در طول تست، زمان بیلد پروداکشن، و از طرف تجربهٔ توسعهدهنده هم زمان بالا اومدن dev server و سرعت HMR. اندازه و پیچیدگی سورسکد هر پیادهسازی هم اندازهگیری شده.
خروجی روی صفحهٔ اصلی به شکل نمودارهای تعاملیه و میتونی فریمورکها رو خاموش و روشن کنی تا مقایسه شلوغ نشه. چند نمودار هم رابطهها رو نشون میده، مثل حجم باندل در برابر performance یا زمان بیلد در برابر حجم خروجی — یعنی جایی که باید بین سرعت بیلد و سبکی خروجی انتخاب کنی.
بنچمارکها هر شب و با آخرین نسخهٔ هر فریمورک اجرا میشن، پس عددها بیات نمیمونن. نتایج خام و تاریخی هم به شکل JSON تو برنچ results مخزن گیتهاب پروژه در دسترسه، هم فایل کامل و هم یک خلاصهٔ TSV؛ یعنی میتونی خودت روی دادهها تحلیل بزنی و به نمودارهای سایت بسنده نکنی.
کنار این، ابزار جداگانهای به اسم Stack Match هم معرفی شده: ترجیحهات رو انتخاب میکنی و بر پایهٔ همین دادههای بنچمارک یک پیشنهاد فریمورک میگیری. کد خود پروژه و Stack Match هر دو متنبازن و روی گیتهاب هستن.
نکات کلیدی:
- یک اپلیکیشن یکسان تو ۱۳ فریمورک فرانتاند، برای مقایسهٔ منصفانه
- سنجهها: حجم باندل، Lighthouse، زمان لود، CPU و حافظه، زمان بیلد، dev server و HMR
- اجرای هر شب با آخرین نسخهٔ هر فریمورک
- دادههای خام JSON و خلاصهٔ TSV تو برنچ results گیتهاب
- ابزار Stack Match بر پایهٔ همین دادهها فریمورک پیشنهاد میده




