Hermes؛ موتور جاوااسکریپت فیسبوک برای React Native
خلاصهٔ کاملتر
Hermes یه موتور جاوااسکریپت متنبازه که فیسبوک توسعهش میده و مخصوص استارت سریع اپهای React Native بهینه شده. تمرکز اصلیش روی همینه: اینکه اپ سریعتر بالا بیاد. برای این کار از دو تا تکنیک استفاده میکنه؛ بهینهسازی ایستای پیش از اجرا (ahead-of-time static optimization) و تولید بایتکد فشرده (compact bytecode).
برای اینکه بفهمی چرا این مهمه، باید بدونی موتورهای جاوااسکریپت معمولی بخش زیادی از کار رو موقع اجرا انجام میدن. Hermes بهجاش خیلی از این کار رو از قبل و در زمان build انجام میده و کد رو به بایتکدی تبدیل میکنه که هم جمعوجوره هم سریع بارگذاری میشه. نتیجهش اینه که کاربر کمتر پشت صفحهی لود منتظر میمونه.
طبق توضیح مخزن، اگه فقط میخوای از Hermes آماده تو یه اپ React Native جدید یا موجود استفاده کنی، اصلاً لازم نیست سورس Hermes رو داشته باشی یا خودت بسازیش؛ کافیه طبق مستندات React Native فعالش کنی. ساختن از روی سورس فقط وقتی لازمه که بخوای خود Hermes رو توسعه بدی یا یه build سفارشی رو تو اپت یکپارچه کنی.
یه هشدار مهم هم تو مستندات هست: هر ریلیز Hermes برای یه نسخهی مشخص از React Native هدفگذاری شده. قاعدهی کلی اینه که همیشه دقیقاً نسخههای اعلامشدهی Hermes رو دنبال کنی، چون ناسازگاری نسخهها تو بدترین حالت میتونه باعث کرش آنی اپ بشه.
مخزن یه بخش Hermes Blog هم داره که مقالههای فنی و بررسیهای عمیق دربارهی درونکار Hermes رو جمع کرده، برای کسی که میخواد بیشتر با ساختار داخلیش آشنا شه. خود پروژه هم با لایسنس MIT منتشر شده و از مشارکت جامعه برای رفع باگ و بهبودها استقبال میکنه.
نکات کلیدی:
- Hermes یه موتور جاوااسکریپت متنبازه که فیسبوک برای استارت سریع اپهای React Native ساخته
- با بهینهسازی ایستای پیش از اجرا و بایتکد فشرده، زمان بالا اومدن اپ رو کم میکنه
- برای استفادهی معمولی لازم نیست سورس رو بسازی؛ فقط تو React Native فعالش میکنی
- هر نسخهی Hermes برای یه نسخهی مشخص از RN طراحی شده و ناسازگاری میتونه اپ رو کرش کنه
- پروژه متنباز و با لایسنس MIT منتشر شده




