Rocket Forge Studio logo
Rocket Forge Studio
استودیو وب و محصول

کسب‌وکار و رشد

React Native 0.80 معماری قدیمی را منجمد کرد. چک‌لیست ارتقای شما از اینجا شروع می‌شود.

Amir Behrouzi۸ دقیقه مطالعه
  • React Native
  • موبایل
  • مهندسی
  • TypeScript
  • ارتقا
اینفوگرافیک دوقسمتی React Native 0.80 Is a Deadline: چپ Legacy Architecture با X قرمز برای Frozen، No new features، No bug fixes، Tech debt rising روی دفتر شلوغ تیره؛ راست New Architecture با تیک سبز برای Strict TypeScript، Default، Future updates، Faster builds روی دفتر مدرن منظم

React Native 0.80 معماری قدیمی را منجمد کرد. اگر اپ شما هنوز به عادت‌های Legacy Architecture وابسته است، این انتشار رویداد تقویمی است—not فقط یک bump جزئی.

[React Native 0.80](https://reactnative.dev/blog/2025/06/12/version-0.80) در ۱۲ ژوئن ۲۰۲۵ با تم روشن منتشر شد: تثبیت API عمومی JavaScript، آماده‌سازی برای New Architecture به‌عنوان مسیر بلندمدت، و بهبودهای عملکرد قابل اندازه‌گیری.

React 19.1.0 در React Native

۰.۸۰ با **React 19.1.0** هم‌راستا می‌شود. **Owner stacks** زمینه خطای بهتر در توسعه می‌دهند.

توجه: owner stacks ممکن است با `@babel/plugin-transform-function-name` در preset پیش‌فرض تداخل کند. بعد از ارتقا dev build را تست کنید.

Deep importها اکنون هشدارند

importهایی مثل `import { Alert } from 'react-native/Libraries/Alert/Alert'` در console و ESLint هشدار می‌دهند. الگوی توصیه‌شده: **root import** — `import { Alert } from 'react-native'`.

قبل از merge در کل repo دنبال `react-native/Libraries` بگردید.

Strict TypeScript API اختیاری

تایپ‌های تولیدشده از سورس RN—بدون تغییر runtime. در `tsconfig.json`: extend `@react-native/typescript-config` و `"customConditions": ["react-native-strict-api"]`. خطاهای تایپ را روی branch جدا fix کنید.

Legacy Architecture منجمد شد

از ۰.۷۶ New Architecture پیش‌فرض است. در ۰.۸۰ **Legacy Architecture frozen** است—بدون feature یا bugfix جدید. DevTools برای APIهایی که با New Arch درست کار نمی‌کنند هشدار می‌دهد.

عملکرد و موتور

**Android:** IPO می‌تواند APK را حدود **۱ مگابایت** کوچک‌تر کند. **iOS:** prebuild آزمایشی وابستگی‌ها (~**۱۲٪** build سریع‌تر) با `RCT_USE_RN_DEP=1` قبل از `pod install`. **JSC:** آخرین نسخه با پشتیبانی رسمی؛ بعداً پکیج community. **Hermes** پیش‌فرض و توصیه‌شده است.

breaking changeها قبل از merge

**JavaScript:** فیلد `exports`، `eslint-plugin-react-hooks` v5.2، نام component نباید با `_` شروع شود. **Android:** Kotlin 2.1.20، حذف `StandardCharsets`. **iOS:** حذف `RCTFloorPixelValue` از `RCTUtils.h`.

چک‌لیست ارتقای عملی

از [React Native Upgrade Helper](https://react-native-community.github.io/upgrade-helper/) استفاده کنید.

  • **Deep import**ها را به root import تبدیل کنید
  • **Strict TypeScript API** را روی branch تست کنید
  • **هشدارهای Legacy** را بخوانید و taskهای New Arch بسازید
  • **Hermes** را تأیید کنید
  • **Clean rebuild**: `pod install`، پاک‌سازی artifact، `run-android` / `run-ios`
  • **lint، تست و smoke روی دستگاه** (auth، پرداخت، offline)

پروژه جدید: `npx react-native@0.80 init MyApp`. Expo: سازگاری canary SDK را چک کنید.

اگر وب هم ship می‌کنید

۰.۸۰ قدم‌های کوچک زود در import و New Architecture را پاداش می‌دهد—not پرش بزرگ بعد از بحران مشتری.

نتیجه

۰.۸۰ **نشان مرزی** است: API پایدار JS، مسیر legacy منجمد، Hermes به‌عنوان default، Strict TS در افق. deep importها را الان fix کنید. New Arch را مثل deadline محصول برنامه‌ریزی کنید. نظر دوم برای ترتیب ارتقا؟ پیام بدهید.

← All articles