Expo SDK 57 اومد؛ سادهترین آپدیت تا حالا
خلاصهٔ کاملتر
تیمِ Expo نسخهی SDK 57 رو منتشر کرد؛ یه انتشارِ کوچیک و متمرکز که کارِ اصلیش رسوندنِ React Native 0.86 به اکسپوئه. نسخهی React فرقی نکرده و مثلِ SDK 56 همون 19.2 مونده. به گفتهی تیم، React Native 0.86 هیچ تغییرِ شکنندهای نسبت به 0.85 نداره و قراره سادهترین آپدیتی باشه که تا حالا انجام دادی.
نکتهی مهمترِ این انتشار، آزمایشِ یه چرخهی انتشارِ جدیده. تا حالا Expo سالی سه بار نسخهی بزرگ میداد، ولی React Native داره به مدلی میره که تقریباً هر دو نسخه یهبار، یه انتشارِ بدونِ تغییرِ شکننده بده. تیمِ Expo میگه اگه بشه این نسخهها رو تقریباً بلافاصله و بهصورتِ اختیاری، فقط با اجرای npx expo install expo@latest --fix به دستِ توسعهدهندهها رسوند، ارزششو داره—و همینو با SDK 57 امتحان میکنن.
شاید بپرسی چرا اگه 0.86 شکننده نیست، از همون SDK 56 نیومد. جوابِ تیم اینه که حجمِ تغییرها برای یه آپدیتِ معمولی زیاد بود: بینِ 0.85.0 و 0.86.0، ۶۰۱ کامیت روی ۱۵۵۲ فایل دست خورده. برای همین ترجیح دادن این پرش عمدی و آگاهانه باشه و تو یه نسخهی جدید بیاد، نه اینکه ناخواسته وارد یه نسخهی پایدارِ فعلی بشه.
چندتا بهبودِ دیگه هم کنارش اومده: expo prebuild حالا بهصورتِ پیشفرض پوشههای android و ios رو پاک و بازسازی میکنه (با --no-clean میتونی جلوشو بگیری)، به expo-image متدهای خواندن و نوشتنِ کش اضافه شده، و نسخههای reanimated و worklets و gesture-handler هم بالا رفته.
یه رگرسیونِ شناختهشده هم هست: روی اندروید، صرفِ importِ react-native-reanimated میتونه مصرفِ حافظهی اپ رو ۲۵ تا ۳۰ درصد بالا ببره، حتی اگه ازش استفاده نکنی؛ ریشهش یه تغییر تو Hermes هست که با React Native 0.85 اومده و SDK 56 رو هم درگیر میکنه. راهکارِ موقت، فعالکردنِ worklets bundle mode هست و یه fix هم تو راهِ Hermes V1 داره میاد.
به گفتهی تیم، آپدیت از SDK 56 باید سرراست باشه، و هر نسخهی SDK حدودِ یه سال پشتیبانی میشه. نسخهی جدیدِ Expo Go برای SDK 57 هنوز منتظرِ تأییدِ فروشگاههاست، ولی از الان با eas go و Expo CLI در دسترسه.
نکات کلیدی:
- SDK 57 فقط React Native رو از 0.85 به 0.86 میبره و نسخهی React همون 19.2 میمونه
- این نسخه بدونِ تغییرِ شکنندهست و قراره سادهترین آپدیتِ Expo باشه
- Expo داره یه چرخهی انتشارِ سریعترِ اختیاری با آپدیتهای بیدردسر رو امتحان میکنه
- رگرسیونِ شناختهشده: مصرفِ حافظهی اندروید با reanimated حدودِ ۲۵ تا ۳۰ درصد بالا میره
- هر نسخهی SDK حدودِ یه سال پشتیبانی میشه




