# APP-Structure **Repository Path**: WXBlockChainApp/APP-Structure ## Basic Information - **Project Name**: APP-Structure - **Description**: app端基础框架,由ios、android、flutter以及h5四部分组成。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-28 - **Last Updated**: 2020-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # APPStructure #### 介绍  app端基础框架,由ios、android、flutter以及h5四部分组成。开发原则是优先选用flutter进行业务功能开发,涉及到广告类、非结构化内容以及更新比较频繁、需要动态下发的等情况采用H5方式。Native作为壳工程,尽量不直接提供业务功能,主要作为能力兜底以及启动优化而存在。 #### 软件架构 * 整体架构 * 架构介绍  如上图,APP整体结构为三层:Native Shell层、业务module层以及基础支撑层。其中,Native Shell层根据平台的不同又分为Android Shell以及IOS Shell,如开篇介绍中所述Shell层主要提供flutter引擎预热以及其他初始化操作。业务Module层主要以flutter为主,特殊情况使用Native开发,当然还包含一部分H2 页面。 基础支撑层主要提供一些业务无关的基础能力,如数据持久化、加解密、日志管理、图片加载等。 #### 安装教程 1. 首先需要clone 整个工程到本地; 2. 其次clone flutter shell工程,为了便于Flutter内容的统一集成,我们也提供了flutter shell工程,这样native侧就不需要进行过多的集成配置; 3. 终端进入flutter shell目录运行flutter工程,其运行方式见flutter shell工程的readme; 4. 根据需要用编译器(如Android Studio)加载Native 壳工程,Sync后运行即可(已经集成了flutter shell)。 #### 使用说明 1. 对于Native Shell与Flutter Shell都是可以单独运行的,正常开发阶段一般都是单独开发业务module即可,只有在正式输出app的时候才需要集成Native Shell运行; 2. 后期目标是通过Jenkins平台进行自动集成,也就是业务侧无需关心Native shell即可打出release包。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)