美文网首页
Sophix和Atlas实现产品的需求

Sophix和Atlas实现产品的需求

作者: 杨hai | 来源:发表于2017-10-19 19:04 被阅读71次
Sophix怎么读
名字寓意解析
对比图
sophix和其他框架的对比图
优点
  1. 集成简单,非侵入式
缺点
  1. 不能更新四大组件
  2. 一个月超过5W次需要支付费用。收费总览地址
原理

通过底层替换和类加载两种方式实现。
资料下载链接密码: 7f2n

产品需求实现思路

前期注册一些无用的Activity和Service为后期的业务扩展预留空间。通过这种方式,有如下几个问题:1. 组件的命名跟后期的业务名不能关联。2. 一旦预留的空间用完了,将无法再更新。

插件化Atlas

插件化解决如下几个问题

减小主包大小
不发版上新功能
独立开发加载 A/B TEST 模块
bug 修复工具

工程中moudle之间关系

将项目分为宿主工程和bundle两部分。也就是说,将一个项目做成一个壳子工程,这个壳子工程用来管理整个项目的apk的icon,版本号,versioncode等。而对于bundle部分分为两种:一种为j将bundle一起打包在宿主工程中,在使用的时候,调用该模块。另一种为remotebundle,这种方式是,打包时独立于宿主工程,单独打包为一个扩展名为“.so”的文件,宿主工程在需要使用到remoteBundle模块时,下载到本地,通过intent.setClassName(MainActivity.this, "atlas.yiba.com.remotebundle.RemoteMainActivity");就可以加载remotebundle到宿主中。

整体关系
工程构建流程
整个工程
  1. 修改gradle版本为3.3
  2. 修改工程目录下的build.gradle配置
构建宿主工程
  1. 在Application中初始化
  2. 卸载模块
  3. 模块中的build.gradle
remotebundle工程
  1. 该工程唯一要做的就是修改工程下的build.gradle
产品需求
问题
  1. 项目改造难度可能比较大。
  2. 四大组件不能扩展
  3. 需要后台实现版本管理平台
解决方案
  1. 通过预留四大组件实现扩展

相关文章

网友评论

      本文标题:Sophix和Atlas实现产品的需求

      本文链接:https://www.haomeiwen.com/subject/qyweuxtx.html