Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 支持RN鸿蒙化,使Taro-RN鸿蒙化 #20

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

likailong180
Copy link

No description provided.

@zhiqingchen
Copy link
Member

疑问

  1. 纯 js 的库也需要改造吗?如react-native-image-pan-zoom 等。
  2. Taro RN 提供了分离模式,把 JS 代码和 native 代码进行了拆分。鸿蒙化后,是否可以提供一个独立的壳仓库,实现 js 部分不改动,输出 jsbundle 到壳中,然后打包成鸿蒙应用?
  3. 该方案是否适用于混合应用?实际场景中 RN 仅为大应用中的一部分页面,对于混合应用的处理,是否有支持?
  4. 对于 taro 框架源码的改动,会涉及到哪些?

@likailong180
Copy link
Author

likailong180 commented May 26, 2023

  1. 纯js的库通常不需要改造,但是如果js库里面依赖了新的RN库,需要分析新的RN库是否会有依赖。从react-native-image-pan-zoom里面可以看到,import { Animated, LayoutChangeEvent, PanResponder, StyleSheet, View } from 'react-native';需要依赖RN框架鸿蒙化实现,当前这部分在RN框架鸿蒙化实现过程中。
  2. 需要提供一个独立的壳仓库,当前RN鸿蒙化已经实现了一个壳仓库,每次启动时,可以通过网络去下载jsbundle进行动态调试刷新界面,而不需要每次都重新编译鸿蒙应用。
  3. 适用于混合应用,RN的root view可以理解为OpenHarmony里面的一个自定义组件,混合应用需要把RN的root view集成到OpenHarmony的ArkUI开发的页面中,当前是支持的。
  4. 我初步的分析是,taro仓库的源码修改涉及:taro仓库taro-cli适配编译命令。对于Taro-RN样式的适配不涉及修改。

@zhiqingchen
Copy link
Member

整体可行性比较高。

  1. 这个空仓库是包含了所有的Taro RN需要的第三方依赖吗?是否可以定制?

@likailong180

@likailong180
Copy link
Author

感谢志庆,可以根据需要定制壳仓库。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants