美文网首页
三方库选型

三方库选型

作者: M_PI_4 | 来源:发表于2020-04-15 20:30 被阅读0次

    一. 数据解析库:

    1. SwiftyJson(网络请求的Json串转换,便于做验证数据的处理),HandyJson(完全的转模型即反序列化以及序列化的操作)
    2. KakaJson

    推荐:
    SwiftyJson:SwiftyJSON本质上仍然是根据JSON结构去取值,使用起来顺手、清晰;和Alamofire-SwiftyJSON有很好的协作。
    HandyJson:
    保留:
    KakaJson:完全的转模型即反序列化以及序列化的操作,功能复合,但是发布至今也仅8个月,实现细节可能还不完善。

    二. 图片加载库:

    1. KingsFisher
    2. SDWebImage

    推荐:
    KingsFisher:纯Swift库,支持SwiftUI,自带缩略图动画,有友好的界面交互,也是SDWebImage的替代者,对高分辨率图像有很好的支持。

    保留:
    SDWebImage:OC与Swift混合,功能全面,处理细节颗粒更精细(防止同一URL重复下载),但是功能冗余,不需要的功能太多(如:SVG矢量图形,Lottie图像的支持等)

    三. DarkMode支持库:

    1. FluentDarkModeKit
    2. SwiftTheme

    推荐:
    SwiftTheme:相较于FluentDarkModeKit来说,两个库使用方法类似,都是通过设置对应light/dark下的颜色,图片等达到切换深/浅模式的效果。区别在于SwiftTheme支持的版本更早(iOS8+)。

    保留:
    FluentDarkModeKit:使用特点同上SwiftTheme,缺点是

    iOS 11.0+
    Xcode 11.0+
    Swift 5+

    四. 自动布局库:

    1. SnapKit
    2. SDAutoLayout

    推荐:
    SnapKit: 使用方式与Masonry相类似,使用起来很好就熟悉,功能实现相较于SDAutoLayout更成熟,潜在风险较低。

    保留:
    SDAutoLayout: 一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应。但是细节实现还需要完善(如:和某些不常用系统方法一起使用会出现冲突)。

    五. Progress HUD库:

    1. SVProgressHUD
    2. MBProgressHUD

    推荐:
    SVProgressHUD:
    大多数场景中,几乎只会用到显示与隐藏这两个最基本的方法,SVProgressHUD更加易用,SVProgressHUD 提供比较多的接口。

    保留:
    MBProgressHUD:
    功能设计更加好,在OC下可将其打包成“静态库”嵌入宿主工程当中。

    六. 链式编程库:(技术同伴推荐)

    1. RxSwift+RxCocoa
    2. ReactiveCocoa

    推荐:
    RxSwift(RxCocoa):
    认为把观察的对象统一为一种对象更好,所有的对象都是observables。功能实现上写法更简单,性能以及实现效果于RxSwift(RxCocoa)并无不同。

    保留:
    ReactiveCocoa:
    认为把观察的对象区分为热/冷是非常有必要的,并且这也是他们框架的一个核心特点。在写法上更复杂一些,性能以及实现效果于RxSwift(RxCocoa)并无不同。

    相关文章

      网友评论

          本文标题:三方库选型

          本文链接:https://www.haomeiwen.com/subject/fpwqvhtx.html