React native大版本迭代信息记录

记录react native,版本迭代中的重大变化

v0.74.0-(2024年4月)

Yoga 3.0
New Architecture:

  • Bridgeless by Default
  • Batched onLayout Updates
    Yarn 3 for New Projects
    Breaking Changes
  • Android Minimum SDK Bump (Android 6.0)
    API Changes to PushNotificationIOS (Deprecated)
    Removal of Deprecated PropTypes
    Removal of Flipper React Native Plugin
    Other Breaking Changes
v0.73.x-(2023年12月)

Debugging Improvements (调试改进)
Stable Symlink Support in Metro (Metro中符号链接解析的支持)
Kotlin Template on Android (模版调整为Kotlin)
Android 14 Support (支持适配Android14)

  • Android Gradle Plugin(AGP) used to build Android apps from 7.4.x to 8.1.x (8.0重大更改)
  • Java JDK version to 17
  • minSDK supports Android 5.0 (API Level 21)
    New Architecture Updates
  • Remote JavaScript Debugging
    Deprecated Debugging Features
  • Raise minimum Node.js requirement to 18.x ( Node.js最低要求提高到18.x)
  • The template now uses TypeScript 5.0 .
  • React Native types continue working on TypeScript 4.8.
  • Android: Java 17 is now a requirement to build Android apps (基础Java 17).
  • Android: Major bump of Fresco to 3.0 .
  • iOS: Raise minimum iOS version to 13.4 (最低iOS版本提高到13.4).
  • iOS: Metro will no longer be automatically started when running builds via Xcode .
  • Android: Bump to AGP 8.1.1 (discussion) (Android:升级到 AGP 8.1.)
v0.72.x-(2023年6)
  • New Metro Features
  • Developer Experience Improvements
  • Moving New Architecture Updates
    重大变化​
  • Deprecated Component Removals
  • Package Renames
v0.71.x-(2023年1月)
  • 默认情况下使用 TypeScript
  • 使用 Flexbox Gap 简化布局
  • Web-inspired props for accessibility, styles, and events(受网络启发的可访问性、样式和事件的道具)
  • Restoring PropTypes ( 恢复 PropType )
v0.70.x -(2022年9月)
  • 新架构的新文档 (Fabric 是新的渲染系统,它将取代当前的 UI Manager。)
  • Hermes 作为默认引擎
  • Codegen 的新统一配置
  • 新架构库的 Android 自动链接
  • 对 Android 构建的完整 CMake 支持
  • Bump Android Gradle Plugin to 7.2.1
  • Bump Gradle to 7.5.1
v0.69.x
  • React 18 支持和捆绑的 Hermes(JavaScript引擎)
  • 弃用对 iOS/tvOS SDK 11.0 的支持,现在需要 12.4+ 版本
  • 更好地支持为 Android 开发的 M1 用户
  • 添加新.xcode.env配置文件以更确定地获取节点可执行文件
  • React Native 现在使用来自 Android 11 的最新状态栏 API
  • 支持 C++17
  • iOS 调试菜单中的新 hotkeysEnabled选项
v0.68.x ( 发布:2022 年 3 月 30 日)
  1. CI 移至节点 16。此更改强制 Node >= 14 用于 React Native 构建。
  2. 将 Android Gradle 插件升级到 7.0.1。此版本的 Android Gradle 插件为 Android 构建强制执行 JDK 11。不要升级到 AGP 7.1,因为此版本的 react-native 不支持它。
  3. 由fallbackResource从RCTBundleURLProviderAPI 中删除
  4. 官方文档支持使用Fabric新架构

在新旧架构的 react-native-screens 中已经完成了一个实现。要使用 react-native-screens 制作您的第一个 fabric 应用程序,您需要按照以下步骤操作:

  1. 使用 React Native CLI 创建一个新的应用程序:npx react-native init NewRN68App --version 0.68.0-rc.1
  2. 像往常一样添加 react-native-screens:yarn add react-native-screens
  3. 现在,要在 iOS 上启用 Fabric,您需要RCT_NEW_ARCH_ENABLED=1 pod install在该ios文件夹中运行。
  4. newArchEnabled=true对于 Android ,您需要更改android/gradle.properties
  5. 现在您可以像往常一样在 Android 和 iOS 上构建应用程序。安装的屏幕版本将自动检测是否启用了 Fabric 并将提供适当的实现。

参考来源:Rishabh Pancholi博客地址

v0.67.x (发布: 2022 年 1 月 19 日)
  • 精益核心删除:DatePickerAndroid
  • 将 Gradle 版本升级到 7.2,将 Kotlin 版本升级到 1.5.31 Bump Kotlin 和 Gradle 版本 (#32319)
  • 值得注意的标注:0.67 继续依赖于 Hermes 0.9.0,与 0.66 保持不变
v0.66.x -(2021年10月)

1、Hermes 0.9.0
2、允许点击父级边界之外的视图overflow: visible
3、在 Apple Silicon 和 Xcode 13 上构建的修复
4、Android 的新蓝牙权限
5、 Android Gradle Plugin 7 support

v0.65.x

1、react-native-codegen现在需要做为模块依赖在package.json文件的devDependency种。
2、JCenter 停用且只读。
3、支持 Android Gradle Plugin 7
4、OkHttp 版本从 v3 升级到 v4.9.1
5、Hermes升级0.8.1

v0.64.x

1、删除对 Android API 级别 16 到 20 的支持。新的 minSDK 版本将是 21+
2、iOS 上对 Hermes 试用

v0.63.x

1、弃用的iOS 9.x的支持
2、Dropping Node.js 8 support (>=10 is now required)

v0.62.x

1、此主要版本包括默认的 Flipper 支持、改进的暗模式支持、将 Apple TV 移至react-native-tvos等

v0.61.x

1、这是一个主要版本,包括新的重新加载体验快速刷新。

v0.60.x

1、AndroidX支持
2、精益核心减除(WebView和NetInfo之前被提取到单独的存储库中)(react-native-webview、@react-native-community/netinfo)
3、尝试 Hermes。

### React Native 项目适配鸿蒙系统的开发指南与解决方案 为了使 React Native (RN) 项目能够运行于华为的鸿蒙操作系统上,开发者需要考虑多个层面的技术调整和兼容性处理。以下是详细的指导原则以及可能遇到的关键技术挑战。 #### 鸿蒙系统支持 RN 的现状 目前,鸿蒙官方并未直接提供针对 React Native 的原生支持工具链[^1]。然而,通过社区的努力和技术扩展,可以实现部分功能移植。这通常涉及以下几个方面: - **JS 引擎替换**:鸿蒙内置了 ArkTS 和 JavaScript 运行环境,因此可以通过修改 JS 引擎来适应鸿蒙平台的需求。 - **Native 模块桥接**:由于 React Native 使用 Bridge 来连接 JavaScript 层与本地层,需重新设计该机制以匹配鸿蒙 API 结构。 #### 技术路径分析 ##### 1. 修改构建流程 React Native 应用依赖 Android 或 iOS 平台特定的编译配置文件(如 `android/` 和 `ios/` 文件夹)。对于鸿蒙系统而言,这些默认目录结构不再适用。开发者应创建一个新的目标架构定义,并将其集成至现有的 CI/CD 流程中[^2]。 ```bash # 创建新的鸿蒙专用目录并初始化基础设置 mkdir hm && cd hm npm install @hmscore/react-native-harmony --save ``` ##### 2. 替代核心组件库 某些标准 UI 组件无法直接映射到 HarmonyOS 上。例如 ScrollView、Text Input 等都需要定制化版本才能正常工作。推荐采用第三方开源框架或者自行封装一层抽象接口来解决这一问题[^3]。 ##### 3. 调整网络请求逻辑 如果应用内部集成了 fetch() 方法或其他 HTTP 客户端,则需要注意它们的行为可能会因底层 OS 不同而有所差异。建议统一使用 Axios 类型的跨平台方案作为替代品[^4]。 ```javascript import axios from 'axios'; const apiClient = axios.create({ baseURL: 'https://example.com/api', }); export default apiClient; ``` ##### 4. 处理权限管理策略 不同于传统移动设备上的静态声明方式,在 HarmonyOS 中动态申请敏感资源访问权成为必要条件之一。务必更新相关代码片段以满足最新安全规范的要求[^5]。 --- #### 注意事项 尽管上述方法可以帮助完成初步迁移任务,但仍存在诸多局限性和潜在风险因素值得重视: - 性能损耗:由于额外增加了多级转换环节,可能导致最终用户体验下降; - 生态碎片化:随着更多厂商加入 HMS Core 支持行列,未来可能出现多种变体形式难以维护一致行为表现; ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值