Swift学习Swift开发

Swift 常用的三方库总结

2017-11-27  本文已影响236人  兜兜Jerry

一直努力研究swift,最近抽时间时间进行了一下简单总结,以便于日后复习使用,同时也为广大的童鞋们,提供一个参考,如有问题还请多多指正

网络

Alamofire:http网络请求事件处理的框架。

Moya:这是一个基于Alamofire的更高层网络请求封装抽象层。

Reachability.swift:用来检查应用当前的网络连接状况。

综合

Perfect:swift的服务器端开发框架(针对于移动后端开发、网站和web应用程序开发)。

RxSwift:

函数响应式编程框架,是ReactiveX的swift版本,可以简化异步操作和事件/数据流。

Dollar:无需扩展任何内置对象就为Swift语言提供有效的函数式编程辅助方法,类似于Lo-Dash或JavaScript中的Underscore。

MonkeyKing:社会化分享框架,支持分享text、url、image、audio、file到WeChat、QQ、Alipay、Weibo。

OAuthSwift:国外主流网站OAuth授权库。

R.swift:以一种优雅安全的方式使用资源文件。

Design-Patterns-In-Swift:swift实现的各种设计模式。

Whisper:使用简单、功能实用的消息及应用通知组件。

Surge:mattt写的性能加速框架,为数字信号处理和图像处理提供高性能。

Animation

Spring:MengTo写的动画框架,买过他的书《Design+Code》

EasyAnimation:主要应用于UIView.animateWithDuration(_:,

animations:...)。

IBAnimatable:主要使用于Interface

Builder,不需要一行代码就可打造拥有炫酷动画效果的UI界面。

Advance:可应用于 iOS、 tvOS、 and OS X的动画框架。

PeekPop:使用3D touch 被引用的两个动画特性peek、pop。

Transition

StarWars.iOS:很炫酷的转场动画效果,视图碎片化掉落。

其他动画

NumberMorphView:label数字变形过渡动画,用于金额数字变动或者时间上面会非常nice!

FillableLoaders:自定义的进度加载动画。

数据处理

SQLite.swift:用swift封装的sqlite

3操作框架。

解析、转换

SwiftyJSON:很好、很方便地处理JSON数据。

Argo:函数式json解析转换库。

ObjectMapper:把json对象映射为model对象。

存储

SwiftyUserDefaults:对NSUserDefaults的封装,让NSUserDefaults使用更简单。

KeychainAccess:使用Keychain非常方便。

其他

SwiftString:关于swift中string处理的扩展,有between(left,

right)、camelize()、capitalize()、count(string)、decodeHTML()、contains(substring)等。

ReSwift:单向数据流处理,灵感来自于redux

Category、Extension

ExSwift: 包含一组标准类型和类的Swift扩展。

加载指示、HUD

NVActivityIndicatorView:很多漂亮的加载指示器。

FillableLoaders:自定义的进度加载器,有waves、plain、spike、rounded等效果。

Refresh

DGElasticPullToRefresh:有弹性效果的下拉刷新控件。

图表、绘画

Charts:非常好的图表框架,类似于MPAndroidChart。

PNChart-Swift:周凯文写的PNChart的swift版。

AutoLayout

SnapKit:自动布局框架,类似于Masonry。(推荐)

Cartography:自动布局DSL。

Neon:一款关于UI自动布局的框架。

Stevia:自动布局。

TZStackView:UISatckView的代替品,支持iOS7+。

UIKit

Chatto:轻量级构建聊天应用的框架。

Koloda:卡片视图,而且滑动视图有滑动卡片一样的动画效果。

ImagePicker:图片选择器。

MaterialKit:关于Material

design做的一系列UI组件。

Material:集Animation和UI与一身,还有Icon、Color等元素,使用这个库就可以打造一个漂亮的UI界面并具有优雅的动画效果。

引导页、新手教程

IFTTT/RazzleDazzle:集成引导页,具有不错的动画效果。

Instructions:应用于操作指南、新手教程。

Tab Bar

Animated Tab Bar:Ramotion出品,给tabbar

items各单元添加动画效果。

Adaptive Tab Bar:同样的Ramotion出品,提供适合的Tab Bar。

Table View

Eureka:通过详细的映射,创建动态的table-viewforms。

folding-cell:折叠的cell效果,动画很nice。

Alert、Sheet

SCLAlertView-Swift:不错的一款alert

view。

SweetAlert-iOS:alert。

Button

DOFavoriteButton:有动画效果的button,适用于收藏、喜欢、点赞等。

hamburger-button: hamburger button,动画过渡不错。

Switch

paper-switch:Ramotion出品,turned

on覆盖父视图的动画效果。

Label

LTMorphingLabel:拥有很多种特性的label。

ActiveLabel.swift:支持Hashtags、Mentions、Links响应事件处理。

TextField

TextFieldEffects:具有非常多、非常nice的输入框视图。

PhoneNumberKit:专门针对电话号码格式做的一个输入框,很赞。

SkyFloatingLabelTextField:类似于OC的JVFloatLabeledTextField,编辑就会出现浮动的提示label。

FloatLabelFields:类似于SkyFloatingLabelTextField。

TextView

NextGrowingTextView:取自于HPGrowingTextView,文本输入视图,对于消息编辑非常有用。

Font、Color

Hue:集成color功用的库,使用的是hex颜色值。

CoreText、AttributeText

TextAttributes:封装NSAttributedString的框架,让attributed

strings处理更加简单,而且是链式结构,看起来更加直观。

Image

GPUImage2:GPUImage的Swift版,GPU加速image和video的处理。

图片加载、缓存

Kingfisher:喵神王巍写的一款关于图片下载、缓存的框架,灵感取自于SDWebImage

HanekeSwift:轻量带缓存高性能图片加载组件。

Gif

Gifu:加载gif的框架,表现良好。

JWAnimatedImage:加载gif和apng的引擎,低内存和cpu消耗。

特殊效果

Filterpedia:给图片加滤镜效果,有很多种滤镜。

Toucan:图片处理,支持重设尺寸、裁剪、风格化等

Menu

FlowingMenu:很有意思的一个menu,具有平滑的弹簧效果,且手势拖动动画特别有趣。

ENSwiftSideMenu:手势侧滑menu。

CircleMenu:简单、优雅的一款circle

menu,有不错的动画效果。

Page Menu

PageMenu:滑动出现不同分页的一个pagemenu,用于不同状态分页效果上是很好的选择。

XLPagerTabStrip:功能同上,类似于android的PageTabStrip。

测试

Quick:测试框架,支持Swift和OC,灵感来自于RSpec,Specta, andGinkgo

Sleipnir:BDD测试框架,灵感来自于OC写的cedar

日志、Log

XCGLogger:功能完整的日志管理库。

Log:强有力的日志框架。

工具、插件

Carthage:包管理工具,类似于CocoaPod。

swift-package-manager:同样的,包管理工具。

SwiftLint: 一个用于检查 Swift 编程风格和约定的试验性工具。

其他

TSWeChat:仿Wechat。

FlappySwift:游戏flappy

bird的swift实现。

OCR

SwiftOCR:ocr图像识别库。

Asynchronous

PromiseKit:能提供强大的 iOS 开发异步功能,非常容易使用。

Async:关于GCD异步分发的语法糖。

KVO

Observable-Swift:用于kvo的库。

Permission

PermissionScope:统一许可管理。(推荐)

Permission:统一管理iOS系统的许可,比如相机、相片、定位等。

App内购

SwiftyStoreKit:封装的轻量级的APP内购框架。

Bluetooth

BluetoothKit:使用蓝牙更方便。

App间跳转、DeepLink

Appz:非常方便地实现App间跳转和DeepLink。

状态机

SwiftTask:用Swift编写的状态机,综合了 Promise + progress + pause + cancel,使用SwiftState。

算法以及数据结构

swift-algorithm-club:swift中的算法以及数据结构,还有解释说明。

开源APP

Yep:周凯文团队开源的一个社交APP,对于学习swift开发整个项目非常有价值。

资料、资源

iOS-9-Sampler:关于iOS9新特性的所有demo。

iOS9-day-by-day:day-by-day系列相信很多人都很熟悉,主要介绍一些新特性、新框架的使用。

30DaysofSwift:作者Allen

Wang是一名产品设计师,这是他学习swift的项目,在dribbble上看到过他的设计作品:openallen,挺不错的。

SwiftGuide:这份指南汇集了Swift语言主流学习资源,并以开发者的视角整理编排。

Awesome-Swift-Education:swift学习资源整理。

awesome-swift:swift资源大合集,覆盖了几乎所有方面。

awesome-ios:iOS开发资源大整合,包括OC、Swift,涉及到frameworks、libraries、tutorials、xcode

plugins、components等。

其他地方发现的再做一些扩充:

这里的框架都是纯swift的 , 感谢开源 ,感谢大神们 。

下拉刷新

BreakOutToRefresh一个下拉刷新打砖块的swift库

SDRefreshView简单易用的上拉和下拉刷新

ZLSwiftRefresh- 下拉刷新/上拉加载更多,支持自定义动画,集成简单

GearRefreshControl- 一个非常精细的下拉刷新 做的很细心

refresher- 简洁清爽的下拉刷新

PullToBounce- 弹性动画 非常炫酷的下拉刷新

RCTRefreshControlqq的橡皮糖下拉刷新

PullToRefresh刷新动画可定制的下拉数据请求更新组件

MLSwiftBasic集合自定义导航栏、下拉刷新/上拉加载更多、视觉效果、好用分类等等一系列,却耦合性很低的Swift库!

图片选择、浏览  (这部分swift库真少呀 欢迎知道的补充)

PhotoBrowser-swift图片浏览

PhotoPickerswift图片选择

BSImagePicker这个图片选择 不错,oc和swift都有 真贴心呀

KYElegantPhotoGallery- 一个优雅的图片浏览库(可惜OC写的呀。。。。)

CocoaPicker- 仿 QQ 图片选择器(非swift-_-)。

网络部分

Alamofire著名的 AFNetworking 络基础库 Swift 语言版

AlamofireImage基于 Alamofire 的网络图片组件库

NetReachability检查网络连接的连通性

JiSwift 版 HTML/XML 解析器

CoreStore提供高可读性,一致性及安全性的 Core Data 管理类库

SwiftyJSONGitHub 上最为开发者认可的 JSON 解析类

图片

Kingfisheronevcat 大神开发的处理网络图片及缓存的库

ImageScout最小网络代价获得图片大小及类型

Nuke完整、强大、实用的图片管理类库

HanekeSwift轻量带缓存高性能图片加载组件

界面效果 , 动画等

awesome-ios-animation收集了iOS平台下比较主流炫酷的几款动画框架(这上面有很多,孙然不是全部用swift写的。但是还是可以鉴赏下)

LiquidFloatingActionButton可定制水滴型浮动动态按钮组件及演示

PNChart-Swift带动画效果的图表控件库

HamburgerButton - Menu/Close无论设计还是代码,都进行了精雕细琢

HamburgerButton - CheckHamburger 风格按钮动画图标(单选)组件

entotsu/TKSubmitTransition登录加载、返回按钮转场动画组件

SweetAlert-iOS带动画效果弹窗封装类

Dodo一款轻量地可定制信息栏小组件

AnimatedTabBar灵动的动画tabbar

KYCircularProgress简单、实用路径可定进程条

ParkedTextField带固定文本的输入组件

optonaut/ActiveLabel.swift扩展实现 UILabel 触控事件针对 “#, @, 链接” 响应

GMStepper带动画效果、支持手势滑动操作的步进标签

KSTokenView带搜索、快捷输入、分段显示关键词输入组件

QRCodeReaderQR 二维码阅读组件及示例

EasyTipView弹出提示框类及演示示例

Popover泡泡风格弹出视图封装类库

TimingFunctionEditor- TimingFunctionEditor用swift编写, 贝塞尔曲线编辑器,编辑后可以预览或拷贝代码片段直接使用。P.S. 该项目采用更简单的依赖管理器Carthage,而非常用的 CocoaPods。Carthage介绍中文

AAFaceDetection- AAFaceDetection--swift,简单、实用的面部识别封装库。虽然该技术从 iOS 5 发展,不过真正有趣的应用还不多。。

Concorde- swift, Concorde, 一个可用于下载和解码渐进式 JPEG 的库, 可用来改善应用的用户体验。

ZoomTransition- swift, 通过手势操控图片的放大、缩小、旋转等自由变化效果的组件及示例。

AFImageHelper- swift,一套针对 UIImage 和 UIImageView 的实用扩展库,功能包含填色和渐变、裁剪、缩放以及具有缓存机制的在线图片获取

PinterestSwift- swift,Pinterest 风格图片缩放、切换示例。

NVActivityIndicatorView等待指示器 真心多。-_-

约束Autolayout

SnapKit我就用这一个

链接:https://www.jianshu.com/p/83c069022e45

上一篇下一篇

猜你喜欢

热点阅读