HiIOS 3.0.0

HiIOS 3.0.0

tospery 维护。



 
依赖库
HiCore~> 1.0
HiNav~> 1.0
HiNet~> 1.0
HiTheme~> 1.0
HiResource~> 1.0
HiJSBridge~> 1.0
RxOptional~> 5.0
RxSwiftExt~> 6.0
RxDataSources~> 5.0
NSObject+Rx~> 5.0
ReactorKit~> 3.0
SwifterSwift~> 6.0
RxViewController~> 2.0
BonMot~> 6.0
Kingfisher~> 7.0
DZNEmptyDataSet~> 1.0
TTTAttributedLabel~> 2.0
MJRefresh~> 3.0
 

HiIOS 3.0.0

  • 作者:
  • 杨建祥

HiIOS

Logo

HiIOS 是一个提高项目开发效率的响应式应用框架,旨在整合常用的必要三方库,搭建一个响应式应用框架,让开发者能够专注于业务需求,而无需花费精力在设计应用框架上。

CI Status Version License Platform

功能特性

应用框架

采用 Reactor 单向流框架,用户行为(User Action)和视图状态(View State)通过可观察的流递送到各自的层,这些流是单向的:View 只能提交 Action 到 Reactor、View 的状态只能由 Reactor 驱动。

采用的三方库 ReactorKit

主题管理

主题管理基于 Rx 方式。内置了 backgroundColor、foregroundColor、titleColor、bodyColor 和 borderColor 等常用的颜色属性,不足的可以通过 specialColors 数组进行扩展。

采用的三方库 RxTheme

路由管理

方式一:swhub://about

方式二:https://swhub.com/about

路由管理基于 URL 方式。应用会注册一个自己的 URL Scheme,例如 swhub;同时也支持由 https 驱动,如果注册了 about 的 host,则会打开原生关于页面,否则打开网页。

同时对路由进行了 Reactive 的扩展,支持 Rx 方式调用,可以方便的处理结果。

采用的三方库 URLNavigator

网络请求

基于 Moya 框架搭建,支持 Rx 方式请求数据和响应数据的模型化,相应代码封装在 NetworkingType 协议中。便捷请求方法如下:

requestRaw
requestJSON
requestObject
requestArray
requestBase
requestData
requestModel
requestModels
requestList

采用的三方库 Moya

序列化

对 ObjectMapper 进行了改进,支持多个字段的解析,例如:

username                <- map["login|username", nested: false, delimiter: "|"]

采用的三方库 ObjectMapper-Hi

兼容性

对状态栏、导航栏、标签栏、刘海屏等涉及系统兼容型的常用方法,封装为:

screenWidth
screenHeight
deviceWidth
deviceHeight
isNotchedScreen
isRegularScreen
isSmallScreen
isMiddleScreen
isLargeScreen

采用的三方库 QMUI_iOS

使用教程

01、创建标签容器应用

02、添加主题支持

03、添加本地化支持

支持 iOS 版本

iOS 11+

项目模板

请查看 IOSTemplate

示例项目

请查看 SWHub

注意事项

  • 关于 ObjC:这是一个 Swift 库,在项目中可以通过桥接(OCHelper)使用 Objective-C。

设计资源

可以在项目中添加同名的图标以替换内置的资源,

请查看 内置资源

其他

Core Model Router Network Resources Components(Cache/Theme/JSBridge)