RNContainer-Android - 基于react-native sdk封装的运行bundle的容器

RNContainer-Android

https://github.com/MasonLiuChn/RNContainer-Android

此工程是基于react-native Android sdk封装的运行bundle的容器,使用redux和本人建议使用Weex来代替react-native,下面有weex和react-native开发时的差异点。

TODO

1、download 管理,即容器可以下载远程bundle

本工程用法

  • debug下 点击音量键 或者 摇晃手机 弹出debug dialog可以更改debug server host
  • 提供方法
RnUtil.setDebugHost(this, "192.168.10.1:8081");
        RnUtil.setBridgePackage(new ReactPackage() {
            @Override
            public List<NativeModule> createNativeModules(ReactApplicationContext reactApplicationContext) {
                return new ArrayList<>();
            }

            @Override
            public List<ViewManager> createViewManagers(ReactApplicationContext reactApplicationContext) {
                return new ArrayList<>();
            }
        });

RnPageActivity.startFrom(this, "index.js");
  • 运行
npm run serveDev
npm run build

知识点记录

  • weex 和 react-native 开发时的差异点

  • rn npm命令和 Weex npm命令区别

    • rn: start
      • 1、服务器(热更新) app<---->服务器 通过socket通信
      • 2、debug app<---->服务器<----> chrome
    • weex: serve
      • 1、服务器
    • weex: debug
      • 1、debug app<---->服务器<----> chrome
    • 即rn的start = weex的serve+debug
  • redux 流程
    • component->action->dispatch->store->reducer->state->component
npm uninstall -g react-native-cli
npm install -g react-native-cli
react-native init
  • 打包注意

    • 1、入口文件必须放在根目录下,因为react-native/local-cli/cli.js start 默认找根目录
    • 2、react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.js 入口文件名和输出文件名尽量保持一致,输出文件后缀随便
  • 实时加载(Live Reload)和热加载(Hot Reload)的区别

    • 实时加载应用更新时需要刷新当前页面,可以看到明显的全局刷新效果,状态重置,而热加载基本上看不出刷新的效果,类似于局部刷新,状态不变
      热加载的基础是模块热替换(HMR,Hot Module Replacement[3]),HMR 最开始是由 Webpack 引入的,我们在 React Native Packager 中也实现了这个功能。HMR 使得 Packager 可以监控文件的改动并发送 HMR 更新消息(HMR update)给包含在 APP 中的一层很薄的 HMR 运行时(HMR runtime)。
      https://www.jianshu.com/p/1fa6e9c0799f#fn2

相关

WeexContainer-Android,一个Android平台上Weex容器,实现MPA,Bundle缓存、验签等通用功能。https://github.com/MasonLiuChn/WeexContainer-Android

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值