美文网首页我的收藏swift编程开发
iOS开发-常用第三方开源框架倾情整理!

iOS开发-常用第三方开源框架倾情整理!

作者: Bobby0322 | 来源:发表于2016-05-05 09:38 被阅读1234次

    iOS开发-常用第三方开源框架
    分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有更多的时间和精力能更加专注的做好自己的产品

    Objective-C篇

    AFNetworking


    https://github.com/AFNetworking/AFNetworking
    在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目。AFNetworking是一个轻量级的iOS、Mac OS X网络通信类库,现在是GitHub上第三大Objective-C库。它建立在NSURLConnection、NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单,因此,许多iOS应用开发都会使用到它。
    支持HTTP请求和基于REST的网络服务(包括GET、POST、PUT、DELETE等);
    支持ARC;
    要求iOS 5.0及以上版本;
    有一些插件扩展已有的功能,还有一个功能齐全的API;
    从URL中获取JSON特别简单。

    SDWebImage
    https://github.com/rs/SDWebImage
    图片异步下载和缓存管理的集大成者 UITableView的黄金搭档 其代码被开发者研究分享过无数次喵大的Kingfisher(可以说是Swift版的SDWebImage)也是深受其影响;
    异步下载AFNetworking和MKNetworkKit都有实现 数据缓存也有FastImageCache与TMCache等 但是将其融会贯通的 唯有SDWebImage了;
    除了简单的使用sd_setImageWithURL之外 SDImageCache也是可以独立使用的 功能也相当之强大。

    MBProgressHUD
    https://github.com/jdg/MBProgressHUD
    简单易用且稳定的HUD组件,半透明黑底白字的风格也经久不衰,loading提示的最佳选择。

    SVProgressHUD
    https://github.com/SVProgressHUD/SVProgressHUD
    另一个牛叉的单例HUD,SVProgressHUD能够实现多种HUD效果,多用于程序正在执行耗时较长的任务,需要用户等待。除了显示等待的HUD,还可以显示命令执行成功或者失败的HUD。

    LCProgressHUD
    https://github.com/iTofu/LCProgressHUD
    一个超简单的活动指示器。适配横屏。
    只是觉得 MBProgressHUD 太麻烦了,所以再搞了一遍。

    GMDCircleLoader
    https://github.com/gabemdev/GMDCircleLoader
    GMDCircleLoader 是一个简洁易用的加载视图,类似显示任务进展的苹果加载视图。

    MJRefresh


    https://github.com/CoderMJLee/MJRefresh
    用法简单的下拉刷新框架:一行代码搞定

    JHRefresh
    https://github.com/Jiahai/JHRefresh
    可快速自定义下拉刷新界面

    MJExtension


    https://github.com/CoderMJLee/MJExtension
    转换速度快、使用简单方便的字典转模型框架

    JSONModel


    https://github.com/icanzilb/JSONModel

    TTQRCodeScanner
    https://github.com/change2hao/TTQRCodeScanner

    社会化分享SDK
    ShareSDK3
    https://github.com/MobClub/ShareSDK3.x-for-iOS
    MOBFoundation
    https://github.com/MobClub/MOBFoundation
    ShareSDKUI
    https://github.com/MobClub/ShareSDKUI

    IQKeyboardManager
    https://github.com/hackiftekhar/IQKeyboardManager
    iOS 键盘自适应,再也不用担心键盘挡住输入框了

    WMPageController
    https://github.com/wangmchn/WMPageController
    实现控制器翻页的简单解决方法

    DCPathButton
    https://github.com/Tangdixi/DCPathButton

    ZYQAssetPickerController
    https://github.com/heroims/ZYQAssetPickerController
    ZYQAssetPickerController 可同时选择本地相册的多张照片,然后将它们显示在ScrollView中。支持iOS 5.0 以上。支持横竖屏,支持iPhone以及iPad,高度可自定制化。

    WTReTextField
    https://github.com/pieceofsummer/WTReTextField
    WTReTextField 是 UITextField 的之类,实现了通过正则表达式对输入值进行限制的功能。

    FDFullscreenPopGesture
    https://github.com/forkingdog/FDFullscreenPopGesture
    利用Runtime自定义控制器POP手势动画

    EScrollerView
    https://github.com/Gorilla957/EScrollerView
    一个可以自动滚动的跑马灯(幻灯、图片滚动)

    Swift篇

    Alamofire


    https://github.com/Alamofire/Alamofire
    Alamofire是一个用Swift写的优雅的网络库。你曾经用过AFNetworking吗?ALamofire是它的弟弟。年轻也更有才华,当然啦(AFNetworking是用Objective-C写的)。
    当你想要抽象简化App中的网络请求时,Alamofire是你需要的,Alamofire是一个Http网络请求库,构建在NSURLSession和基础URL加载系统之上,它用简单优雅的接口很好的封装了网络请求。

    SwiftyJSON
    https://github.com/SwiftyJSON/SwiftyJSON
    Swift的Explicit types(显示类型)可以确保我们不会在代码中犯错和出现bug。但是有时处理起来还是比较麻烦,特别是和JSON打交道的时候。幸运的是,SwiftyJSON提供了可读性更好的方式帮我们处理JSON数据。还提供了可选的自动解析!

    ObjectMapper
    https://github.com/Hearst-DD/ObjectMapper
    如果你写过一个通过API获取信息的app,你可能需要花大量时间写代码把你的响应结果映射为你的object。ObjectMapper可以帮你把JSON格式响应结果转换成你的model对象,反之亦然。换句话说,它帮你把JSON映射成对象,也可以把对象转换成JSON。嵌套的对象也支持。

    SwiftDate


    https://github.com/malcommac/SwiftDate
    Swift中的日期处理库

    Quick


    https://github.com/Quick/Quick
    Quick是一个行为驱动(BDD)开发框架,它的灵感来自于RSpec,Specta, 和Ginkgo。配合Nimble一起使用,Nimble是一个测试匹配框架。

    Eureka
    https://github.com/xmartlabs/Eureka


    Eureka可以帮你简单优雅的实现动态table-view表单。它由rows,sections和forms组成。如果你的app包含大量表单,Eureka可以真正帮你节省时间。

    RxSwift
    https://github.com/ReactiveX/RxSwift
    RxSwift是一个基于Swift的的函数式响应编程框架。更具体点,RxSwift是是Rx的一个Swift语言版本(还有Java版本RxJava,js->RxJs)它的目标是让异步和事件数据流操作更简单。KVO observing, async operations and delegates are all unified under abstraction of sequence(还没来的及学习掩面哭),如果你已经使用过ReactiveCocoa,你接受起来会比较简单(都是函数式编程思想)

    SnapKit


    https://github.com/SnapKit/SnapKit
    SnapKit是一个用少量代码写出不丢可读性auto layout的AutoLayout库。

    Spring


    https://github.com/MengTo/Spring
    Spring是一个可以帮你用代码或者直接在Storybard创建动画的动画库,在Storyboard你可以用runtime(通过设置IBInspectable属性)来创建动画,Spring已经成长为一个全面发展的动画库 支持很多已经存在的动画。

    Kingfisher


    https://github.com/onevcat/Kingfisher
    Kingfisher是一个轻量的下载和缓存网络图片库。下载和缓存是异步进行操作,已经下载好的图片会缓存在内存和本地,极大得提高app的体验。

    CoreStore


    https://github.com/JohnEstropia/CoreStore
    CoreStore是一个基于Core Data的封装库。它的目标是安全优雅和Core Data进行交互。CoreStore的API提供了常用的有效的方法让你和你的数据库进行交互。

    ReachabilitySwift
    https://github.com/ymsheng/ReachabilitySwift

    SnappingStepper


    https://github.com/yannickl/SnappingStepper
    SnappingStepper 是用 Swift 写成的一个 UIStepper 的优雅的替代品,有拇指滑块,可更加灵活地控制数值更新。

    SwiftWebViewBridge
    https://github.com/ShawnFoo/SwiftWebViewBridge
    Swift version of WebViewJavascriptBridge with more simplified, friendly methods to send messages between Swift and JS in UIWebViews.
    Obj-C和JavaScript互通消息的桥梁

    Mustache
    https://github.com/Zewo/Mustache
    Mustache templates for swift 3.0.

    SQLite.swift
    https://github.com/stephencelis/SQLite.swift
    简单、轻量,使用上最SQL的SQLite封装库

    SugarRecord
    https://github.com/pepibumur/SugarRecord
    基于CoreData与REALM的好用封装

    SweetAlert
    https://github.com/codestergit/SweetAlert-iOS
    带动画效果弹窗封装类

    RAMAnimatedTabBarController
    https://github.com/Ramotion/animated-tab-bar
    灵动的动画标签栏类库

    PNChart-Swift
    https://github.com/kevinzhow/PNChart-Swift
    带动画效果的图表控件库

    LTMorphingLabel
    https://github.com/lexrus/LTMorphingLabel
    各种文字动画效果

    Cartography
    https://github.com/robb/Cartography
    用代码解决麻烦的AutoLayout

    FontBlaster
    https://github.com/ArtSabintsev/FontBlaster
    在app里加载自定义字体更简单。

    开源库

    name describe
    FMDB 本地数据库组件
    UICKeyChainStore 存放用户账号密码组件
    Reachability 监测网络状态
    DateTools 友好化时间
    MWPhotoBrowser 一款简单的iOS照片浏览控件
    CTAssetsPickerController 一个选择器组件, 支持从用户的相片库选择多张照片和视频。
    QBPopupMenu 无需使用图片文件的 iOS 弹出式菜单
    UAAppReviewManager 一个能够让你方便地将提醒用户评分的功能加入 App 的工具
    Mantle 主要用来将 JSON 数据模型化为 Model 对象
    MTLFMDBAdapter Mantle 和 FMDB 的转换工具
    FMDBMigrationManager 支持 iOS SQLite 数据库迁移
    Bugsnag 集成 Bugsnag 到应用中
    GVUserDefaults 对 NSUserDefaults 进行了封装, 方便的进行本地化存储操作
    FCCurrentLocationGeocoder 对用户当前地理位置进行正向地址编码和反向地址编码
    AFSwipeToHide 页面滚动时隐藏工具栏
    BaiduTranslate 非官方百度翻译工具
    JSBadgeView 添加带动画效果的未读消息数提醒
    Masonry 一个轻量级的布局框架, 用于替换官方的 AutoLayout 写法
    MMPlaceHolder 可在应用中显示视图的尺寸
    TOWebViewController 可在应用中嵌套 Web 页面
    VPImageCropper VPImageCropper 可以让你轻松实现微信选取图片并裁剪成头像的控件。
    JCScrollView 快速给应用视图添加滚动分页效果
    BWTitlePagerView 创建类似 Twitter 的导航栏分页效果
    CNPPopupController 创建弹出卡片视图
    FeSpinner 加入沙漏等多种动画加载效果
    PulsingHalo 脉冲动画效果,可以自定义脉冲的颜色和扩散半径。可以用作:1、地图的个人位置标注;2、发射信号的灯塔。
    JMHoledView 方便创建用户引导视图
    RKNotificationHub 添加未读消息数显示提醒
    CRToast 从应用状态栏弹出消息提醒
    KeychainIDFA 获取IDFA标示当设备唯一识别, 并保存到KeyChain中
    DZNEmptyDataSet 为 TableView 和 CollectionView 展示空数据视图
    SwipeView 快速给应用添加上滑动视图
    FXBlurView 对视图进行模糊操作
    AreaPicker 中国省市地区选择器
    MPTextView 支持占位符的 UITextView 子类扩展
    MagicalRecord 帮助清除 CoreData 引用的代码, 协助 CoreData 工作
    THProgressView 微型加载进度条
    WCAlertView 对官方 Alert View 进行封装, 更加容易使用
    GMGridView GMGridView是一款开源的iOS(iPhone/iPad)表格视图,允许用户手势对表格单元进行排序,在单元格需要展示时才进行装载,这样极大地提高了表格的效率。其中的伸缩/旋转/平移手势能够让用户改变视图,还能够实现从CellView到全屏的切换。
    Reader 该项目能够让iOS开发者轻而易举地在iOS设备屏幕上显示PDF文件。代码通用,不需要任何XIB(因为所有UI元素都是代码生成的,具有极大的灵活性),运行于iOS 4.0及其以上版本设备中,同时还支持所有Retina Display设备。
    AwesomeMenu 路径的菜单效果,当年横空出世的Path 其优美的设计 精彩的动画,而最赞的 就是它的弹出菜单 一时成为了每个APP争相模仿的对象,有了AwesomeMenu 你可以轻易的实现它。
    SBJson JSON (JavaScript Object Notation) is a light-weight data interchange format that's easy to read and write for humans and computers alike. This library implements chunk-based JSON parsing and generation in Objective-C.
    OHAttributedLabel 富文本OHAttributedLabel

    相关文章

      网友评论

        本文标题:iOS开发-常用第三方开源框架倾情整理!

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