Coder Social home page Coder Social logo

swifttools's Introduction

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等等

swifttools's People

Contributors

sunshinebrother avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

swifttools's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.