原生iOS解决方案
移动iOS开发框架白皮书
第一章 产品概述
1.1 背景
移动iOS开发框是一套为了解决由多团队并行开发、测试、发布、集成的解决方案。每个业务功能模块称之为业务模块,是由独立团队或者个人开发、维护。模块与模块之间通过路由控制器模块相互访问、通信。每个业务都可以独立的开发、调试,随App主版本发布。同时可解决不同业务、不同应用、不同版本的并行开发的难题。使iPhone客户端组合更灵活,业务可产品化输出,也可以轻松接入。每个输出的App,包括发布在AppStore的包均通过模块配置表输出,使繁杂的编译过程形成工作流,开发者更专注于代码层面的开发工作。
1.2 方案概述
移动App按模块化拆分以类似积木拼装形式开发,每个业务功能可作为一个模块被独立开发、调试、编译。App内模块间零耦合,仅通过路由管理器相互访问、通信,App集成系统化管理,支持自动化打包编译。极大降低原生App开发成本。
第二章 产品优势
2.1 模块化管理
应用模块化管理,应用内模块间各自独立、低耦合,仅通过路由控制器相互通信,并行开发。
2.2 自动化操作
提供ios开发系统+ios工具组合管理,实现接入、开发的全面自动化。开发者仅需关注业务实现,接入成本非常低。
2.3 权限灵活控制
应用、模块权责明确,应用负责人具备应用的管理权限,模块负责人对模块享有最高权限控制及代码引用的授权控制。
2.4 开发更高效
模块间解耦,模块复用性高,支持多版本并行开发,独立测试,高速度编译。
第三章 应用场景
适用于iOS原生的模块化管理;App内模块间零耦合,并行开发;App集成系统化管理,支持自动化打包编译。极大降低原生App开发成本。
第四章 总体设计
主要由三大块内容构成: • 脚本(提供开发环境,如 pod 管理,git 管理,文件管理等) • 移动iOS开发 工具(可视化) • 移动iOS开发 Server(后台管理,API)
第五章 产品功能
系统共分为10个大菜单“我的App”,“我的组件”,“公共组件”,“搜索组件”,“发布记录”,“集成记录”,“系统/工具”, “证书管理”,“JDRouter”,“常见问题”。
5.1 我的App
【我的App】:是“我申请的”,“我参与的”App以及“申请App”的入口;并且可以对某个应用进行“成员管理”、“版本管理”、“组件管理”、“授权组件”、“构建管理”、“查看报告”等操作。
5.2 我的组件
【我的组件】:是“我申请的”、“ 我参与的”组件,以及“申请组件”的入口;并且可以对某个组件进行“信息编辑”、“权限管理”、“借用组件”、“集成”、“删除”、“设置默认共享”等操作。
5.3 公共组件
【公共组件】:展示出可以公共使用的组件,并且可以输入负责人,组件名或者描述的关键字进行查询。
5.4 搜索组件
【搜索组件】:可以通过输入负责人,组件名或者描述的关键字查询组件的信息
5.5 发布记录
【发布记录】:可以通过“组件名”、“版本”、“发布人”查询组件的发布记录
系统界面:
5.6 集成记录
【集成记录】:可以通过“应用名”、“版本”查看app中集成组件的情况
5.7 系统/工具
【系统/工具】:接入的系统或者工具的管理。可以添加接入的系统,并且对系统进行管理
5.8 JDRouter
【JDRouter】:可以查看某个组件的JDRouter协议,同时可以为自己的组件增加JDRouter协议。
第六章 部署环境要求
6.1 硬件要求
用途 | 机型 | 数量 | 推荐配置参数 |
---|---|---|---|
iBiu-Server | 虚拟机 | 1 | 4核/8G内存/50G磁盘 |
Jenkins | 虚拟机 | 1 | 4核/8G内存/50G磁盘 |
构建节点 | iMac | 1 | 4核Core i5/8GB内存/1TB 磁盘 |
6.2 软件要求
6.2.1 操作系统
CentOS Mac OS
6.2.2 应用软件
Mysql、Jenkins