移动研发平台简单设计方案

App架构

如下图,整个架构分为3层:

image
  • 组件层:业务无关,除基础组件外,每个组件只提供一个独立的功能,供上层使用。

  • 模块层:同一功能/业务相关的代码封装成独立的模块,依赖组件层,模块间通过URL和接口交互。

  • 应用层:使用CocoaPods管理需要的组件、模块,通过URLRouter统一调度业务模块。

开发测试

每个组件或模块都是一个独立app,独立git仓库,可以单独开发、测试。

不同小组维护不同的模块,遵循Github flow或Gitlab flow流程,可以避免开发协作的各种问题。

  • 每个组件、模块集成单元测试,模块可集成UI流程测试;

  • 开发人员需保证单元测试和UI测试都通过,才能提交QA测试;

  • 对应的模块测试完成后再集成到主工程中测试;

  • 测试中的问题,可以快速定位到模块->组件,对应团队即时处理,提高发布效率;

持续集成和部署

  • Github actions

  • Gitlab CI/CD

  • Jenkins自建

开发人员尽量保证每个提交单一功能原则,CI对每个提交进行安全性检查(构建&测试),

未通过的添加邮件或即时通讯工具提醒开发人员。

运维方案

  • 添加必要的Crash&性能监控,即时发现、处理线上问题。

  • 发布之前使用Xcode measure(metrics:)或其他工具进行性能相关测试,便于提前发现问题。

你可能感兴趣的:(移动研发平台简单设计方案)