国内可能深入使用 RN 跨平台的比较少,但是 RN 在国外的热度一直很🔥 ,自己本来开源了一个 Slider & Player组件,最近将两个组合在一起仿写了一个 Youtube 应用。
Twitter 视频预览地址: https://twitter.com/alan_toa/status/1507732889181786118
Github 项目地址: https://github.com/alantoa/react-native-awesome-slider/tree/main/example
(相关文档和说明还没来及更新)
发在 Twitter 上反馈不错,在这里分享一下,觉得不错的可以点个 Star 支持一下。
1
cssk 2022-03-27 15:54:19 +08:00 via iPhone
只能放系统播放器支持的格式吗?
|
2
toacnme OP @cssk 这个库只是在 react-native-video 基础上添加交互和控制。
格式支持的话需要看 https://github.com/react-native-video/react-native-video 的原生支持情况,目前我使用来说,主流格式都是支持的 。 但后面也考虑将播放器换成 expo-av 。 |
3
huhalo 2022-03-27 17:54:06 +08:00 via Android
前几天 YouTube Vanced 的项目被叫停了
|
6
tf2017 2022-03-27 23:05:54 +08:00
RN 还是不错的,就是有些功能比较依赖社区库,而社区库的质量又参差不齐的。
我刚基于 RN 开发了一个听播客的应用: https://www.v2ex.com/t/843258#reply0 这种跨平台的方案确实效率高。 |
7
toacnme OP @tf2017 是的,但是组件等功能这东西最终还是要靠社区的,Meta 也不可能什么组件都写好,质量参差不齐主要还是因为不维护的原因,看一下更新日期或者依赖文件基本都能辨别清楚。
主要还是国内大部分公司和开发人员对 RN 认知和使用还是停留在 0.60 以前,相关的资料很文档很少,再加上初期的 RN 确实很多方面有问题,给很多人留下了不好的印象,但是在后来都有改进或解决。 |
8
buddie 2022-03-28 07:44:38 +08:00 via iPhone
expo 项目能直接用吗
|
9
toacnme OP @buddie 可以,但是目前来说 video 使用的是 react-native-video, 但是建议等我换成 expo-av 再使用,expo-av 性能等各方面比 react-native-video 更好
|
10
wobuhuicode 2022-03-28 13:50:32 +08:00 via iPhone
rn 开发的应用优化起来太麻烦了,对国内安卓不友好。我在海外的项目能用 rn 都会用。但是国内就不敢用
|
11
toacnme OP @wobuhuicode
国内不敢用不是很理解,国内和国外安卓的可能主要的棘手问题是推送这一块,其它好像也没啥区别,即使是海外项目也少不了要适配小米、华为、三星、OV 等机型。 优化这东西其实熟练了都还好,比如 zIndex 只能用于 iOS ,不适用于安卓,安卓很多在处理 SafeArea 要加上 StatusBar 的高度,经验多了这些都能避免。 |
12
wobuhuicode 2022-03-28 14:56:30 +08:00 via iPhone
@toacnme 你说的那是适配。优化的比如说动画流畅度,app 启动时间,app 大小之类的。初起步的 app 可以不考虑这些,后面随着业务增大,这些都成了优化点。
|
13
toacnme OP @wobuhuicode 了解,主要还是国内很多公司 Apk 的模式,一个 App 用着用着就变成了超级应用,什么都往里面塞,这样用 RN 或者 Flutter 都太合适,有这样的资本也不太需要跨平台。
但是就目前来说动画方面使用 reanimated 可以基本解决,如果特别复杂的动画或交互可以等 react-native-skia 的正式版发布,可以解决这个问题,启动时间和 apk size 如果开启 hermes 的话会好很多,但跨平台始终是跨平台,所有性能、优化等方面肯定不如原生,只能有所取舍。 |