首先这是企业应用,不用上架,不用担心政策问题。
ReactNative 能否实现类似的功能,像小程序一样,用户点击某个模块入口,ReactNative 才从服务器下载模块对应的 js bundle 再渲染成页面。
如果是用 h5、webview 啊之类的方法倒是很简单能实现,但是如果用 react native 能否实现类似的功能。
1
SourceMan 2017-08-25 08:46:40 +08:00 via iPhone 1
RN 热更新应该就是这样实现的,不过是远程下发 bundle
https://github.com/fengjundev/React-Native-Remote-Update |
2
D3EP 2017-08-25 08:55:33 +08:00 via Android 1
qunar?
|
3
Rice OP |
4
pljhonglu 2017-08-25 09:56:22 +08:00
可以多个 bundle
|
5
safedogcc 2017-08-25 10:20:57 +08:00 via iPad 2
一年前做过类似的产品,每个小程序都是一个组件,从而进行打包后(除去已有的模块),体积也就几十上百 kb,然后请求读取内容后 eval 注册层组件再渲染, 体验没问题。
优点就是加载速度快,缺点很明显,安全是一大问题,比如本地存储资源,得自己改造源码,弄各种权限,小程序的配置。。 等等 总之,写过的才懂得有多麻烦,所以微信小程序从另一个方面来说,也还是很碉的 |
6
lipeiwei 2017-08-25 10:50:26 +08:00 1
1. 原生 android/iOS 是运行 react-native 的基础,相当于容器。所以只要容器功能能够满足 react-native app,那就可以通过替换 js bundle 进行动态更新。举一下几个无法动态更新的栗子:
+ 假设在新版本中,你用原生代码( java/oc )实现了一个酷炫上下拉功能的 ListView,导出作为 NativeModule 给 react-native 使用。这时候如果你仅仅只更新 js bundle,那不好意思,肯定是会有问题的,因为找不到对应支持的原生模块 + 如果你升级了 react-native 版本,这时候可能原生代码是有更改的(比如之前 [email protected] 修改了 iOS 的头文件导入方式),那你也必须同时更新原生跟 js bundle 2. 拆分多个 bundle 也是可行的,一般是拆分为框架 bundle 跟业务 bundle,具体你可以参考携程等等,发展到现在,方案挺多的了 |
7
em70 2017-08-25 11:14:10 +08:00
为啥不直接用小程序做呢,分发还方便
|
11
v2Panda 2017-08-25 11:45:10 +08:00 1
手 Q RN 按需加载,供参考: https://mp.weixin.qq.com/s/mUzq4NaBHeF3T-NStLzuRw
|
12
liangzhiyuan2015 2017-11-22 14:51:10 +08:00
ReactNative 能否实现类似小程序那样的功能,我们想实现一套自己的 ui 组件库,每一个版本都有不一样的 rn 组件,所以用到的 jar 包就会不一样,所以,就想 Android 那边能否通过远端加载资源的方式,将相关的 zip 解压后再渲染成页面?谢谢
|