Need help with SwiftTools?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

SunshineBrother
215 Stars 37 Forks 125 Commits 1 Opened issues

Description

一个基于BeeHive实现的组件化方案

Services available

!
?

Need anything else?

Contributors list

# 378,466
Objecti...
C
54 commits

Swift学习

使用BeeHive实现一个组件化方案,封装了各种工具。欢迎相互交流

项目包含5个组件 - 1、ThirdLib:各种第三方封装 - Crypto:加密 - DB:基于WCDB的封装 - HUD:MBProgressHUD封装 - Log:基于Logan的封装 - UIImageView+Kingfisher - UIScrollView+Extension - 添加刷新 - 空白页 - 2、Request:Moya/RxSwift/ObjectMapper封装 - 直接返回model - 添加数据缓存 - 网络日志打印

  • 3、JHSwifterSwift:各种小工具
  • 4、HomeModule:业务逻辑
  • 5、OrderModule:业务逻辑

  • 小工具

新项目开始前的思考

第三方库

需要注意的问题

  • 国际化问题
    • 安卓 iOS 前端统一资源
  • 路由管理
  • 是否有节假日换皮肤的需求
  • 黑暗模式是否是配
  • tabbar和navigationbar问题 (是否用,待考虑)
  • 资源管理(考虑)
    • 文字(大小,类型)资源:统一格式,json读取
    • color资源:统一格式,json读取
    • 图片资源:json读取
  • 架构模式(MVC)
    • Server层:api+server+json转model
    • Model层
    • view层:view层仅仅负责布局,事件处理可以通过代理交给controller层处理
    • controller
    • 给view赋值
    • 处理响应事件
    • 处理一些业务逻辑
  • 基类放到哪里
    • BaseViewConroller
    • BaseWebViewController

架构

基础模块

  • 1、tabbarModules(待考虑)

  • 2、navigationBarModules(待考虑)

  • 3、WrappersModules 包装整个项目(待考虑:是单独的module还是直接放到主项目里面)

  • 4、FoundationModules 基于系统库封装

  • 5、widgetModules 一些小组建的封装

  • 6、sdkModules

业务模块

  • 1、DataCenterModules 数据中心
    • 待考虑:这个数据中心我们是做成集约型还是离散型
    • 集约型:作为一个modules,其他的读取这个modules
    • 离散型:每个modules自己存储自己数据中心,注册的时候需要赋值,好处:每一个模块都可以单独运行,不需要依赖这个独立的数据中心
    • 静态数据
    • color资源
    • 文字(大小,类型)资源
    • 动态数据
    • userId
    • token
    • mobile
  • 2、LoginModule
  • 3、HomeModule
  • 4、OrderModule
  • 5、PayModule
  • 6、AnalyseModule埋点
  • 7、WebViewModule等等

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.