美文网首页
2019-04-26

2019-04-26

作者: 前锋_261e | 来源:发表于2019-04-26 10:55 被阅读0次

差异化实施前端架构方案

--- 接入速度快、质量高、维护成本低

一、为什么需要差异化实施方案?

一个项目多家客户使用,代码70%-90%相同,如何快速接入?
两个方案比较.png

二、一个项目多个客户,需要解决这三类差异

1、资源/配置差异

  • 安装图标、启动页、主题色、客户相关提示语和图片
  • app包名、app名称、签名文件、后台地址、加密公私钥
  • 第三方相关项,例如百度定位key,Crash平台AppId等

2、流程差异

  • 标准流程 a->b->c
  • 小差异:流程 a->c、a->b
  • 大差异:流程 a1->b1、a2->c2

3、页面差异

  • 标准页面 a+b+c
  • 小差异:页面 a+b、a+c
  • 大差异:页面 a1+b1、a2+c2
如何解决这三类差异?
如何解决差异.png
方案实施效果
  • 开发新功能方便,不需要多次同步代码
  • 节约开发和测试时间
  • 项目结构清晰简单-保证高质量
  • 客户差异项一目了然-维护成本低
  • 打包方便,指定客户编译
  • 包体没有变大,多家客户的差异化资源在编译时替换

三、Android架构方案

三种可选方案比较
android方案比较.png
差异化打包方案具体实现

***App,现要接入A、B两家客户

android方案.png

四、iOS架构方案

iOS 目前主流的差异化打包方案

1、多target打包

  • 通过默认标准工程中复制一份target出来,target即为生成的ipa包的所有配置信息。
  • 在标准工程外新建一个对应的文件夹,存放该target所有的差异文件。
  • 修改target中具有差异化的部分,包含icon、启动页、支持系统版本、功能差异化代码文件、差异化资源文件等等。
  • 通过选择target对应的scheme来生成ipa包。

2、重签名打包

  • 通过企业证书先生成一个ipa包。该ipa包包含标准工程以及所有接入方的差异文件等。
  • 通过命令修改ipa中的plist文件,plist文件即为ipa包中关于build的配置信息,主要是修改其中的证书、icon以及对应的接入方code等信息。
  • 使用新的plist文件以及证书重新对ipa包进行签名,生成新的ipa包。
  • 程序里会根据接入方code读取该code下对应的所有差异化配置信息。
两个方案比较
两个方案.png
target打包方案图解
iOS打包图解.png

五、Web架构方案

***平台接入A、B两家客户
web架构.png
如何实现流程差异
流程差异.png
如何实现交互差异
交互差异.png

相关文章

网友评论

      本文标题:2019-04-26

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