GitHub第三方资源库整理(OC篇)

随着GitHub star 的项目越来越多,而且之前也没有整理,所以找起来特别麻烦,于是就有了这篇文章,一是方便我自己查找,都作了分类,而且都作了标注,对应找起来容易得多;二是分享出来,资源共享。这篇文章会持续更新,有好的GitHub项目就会加进来,并且会把更新说明写在文末。

更直观更方便的内容形式,请访问本文的GitBook地址:GitHub第三方资源库整理(OC篇)。

或者可以访问GitHub地址:JYOSList

网络

  • AFNetworking:mattt大神的网络事件处理框架。
  • XMPPFramework:XMPP,主要用于即时通讯。
  • CocoaAsyncSocket:异步socket请求框架。
  • Reachability:用来检查应用当前的网络连接状况,是苹果Reachability类的直接替代品,支持ARC,支持block,使用GCD方法来通知网络接口的变化。
  • SocketRocket:WebSocket协议是一种网络协议,它的Web设计实现了浏览器与服务器的双向通讯。通过使用WebSockets,你可以重复使用现有的工具建立网页,就像大多数移动应用程序重复使用他们API中的HTTP协议一样。
  • CocoaSPDY:Twitter出品的一款关于HTTP请求的框架。
  • OHHTTPStubs:测试篡改你app的网络数据响应时间响应代码和头文件,非常容易就摧毁你的网络请求。

综合

  • ReactiveCocoa:简称RAC,函数响应式编程框架。

  • YYKit:ibireme写的一款综合框架,包含YYModel、YYCache、YYImage、YYWebImage、YYText、YYKeyboardManager、YYDispatchQueuePool、YYAsyncLayer、YYCategories。

  • AsyncDisplayKit:facebook出品,被应用于Paper,是一款能够保持界面流畅性的iOS开源框架,即使是最复杂的用户界面,也可以让其流畅运行并快速响应。

  • RestKit:旨在与RESTful web服务的交互变得更简单快速,具有强大的特性:

    • 简单高层次的HTTP请求/响应系统;
    • 框架支持切换服务器以及环境;
    • Core Data支持;
    • 对象映射系统;
    • 生成数据库文件;
    • 可插入解析层。
  • NewsBlur:是一个个人的新闻阅读器,将人们聚在一起谈论世界。

动画

动画引擎

  • POP:facebook出品,动画引擎(推荐)。
  • Canvas:动画引擎,最喜欢的就是它关联Runtime Attribute了,可以在SB添加KeyPath直接加动画。
  • JazzHands:作用于UIKitkeyframe-based动画框架,具有良好的表现。

动画引擎使用

  • Popping:使用pop动画引擎做的动画合集。
  • AGGeometryKit-POP:结合Pop的一个动画框架,带有力学动画效果。
  • FastAnimationWithPOP:SB快速导入动画,以前用过的,不过推荐使用Canvas。

转场动画

  • VCTransitionsLibrary:控制器之间的转场动画。
  • FDFullscreenPopGesture:全屏POP的手势动画。
  • VVBlurPresentation:王巍写的一款简单过渡到另外一个控制器,但是保持原来控制器的视图并模糊化,这对于一些提示比较有用。
  • LNPopupController:弹窗效果present到另外一个控制器,就像Apple Musicapp和Podcastsapp里的效果一样。
  • KMNavigationBarTransition:不需要写任何代码就可实现对不同风格导航的转场动画管理。
  • AnimatedTransitionGallery:许多种不同的转场动画风格。

其他动画

  • RGCardViewLayout:City Guide App的卡片滑动动画效果。
  • iCarousel:卡片样式的旋转木马动画效果。
  • BCGenieEffect:实现了在Mac OS 中最小化或最大化窗口时的过渡效果。

自动布局

  • Masonry:自动布局,目前在用(推荐)。
  • PureLayout:自动布局,OCSwift皆可用。
  • SDAutoLayout:自动布局代码精简化,支持CellTableView高度自适应。
  • OAStackView:UIStackView iOS9之后的控件,对于自动布局这块非常方便,OAStackView就是兼容iOS7+系统的框架。
  • FDStackView:百度知道团队出品,兼容UIStackView iOS6+系统,FDStackView Part1、FDStackView Part2、FDStackView Part3这三篇文章是作者分析FDStackView的设计实现过程(推荐)。

键盘交互管理

  • YYKeyboardManager:YYKit的组成部分,针对键盘管理(推荐)。
  • TPKeyboardAvoiding:键盘交互事件。
  • IQKeyboardManager:键盘交互管理。

加载指示、HUD

  • MBProgressHUD:加载进程指示框架,都知道。
  • SVProgressHUD:轻量的HUD
  • NJKWebViewProgress:显示webView交互进程的控件。
  • Shimmer:facebook出品,给APP的任何view添加shimmering动画效果,这个框架最初就是作为Paper加载动画的。
  • PQFCustomLoaders:很有趣的自定义加载器。
  • DGActivityIndicatorView:很nice的加载指示器,有32种不要的加载指示风格。

数据处理

数据库

  • realm-cocoa:Realm是Core Data和SQLite的代替品,操作移动数据库更加直接、快捷、耐用。
  • MagicalRecord:对于使用Core Data做了非常好的封装,用Core Data值得一试。
  • fmdb:对SQLite进行了封装。

存储

  • YTKKeyValueStore:唐巧写的Key-Value方式存储数据。
  • UICKeyChainStore:对Keychain的封装,让你使用Keychain APIsNSUserDefaults一样简单。

转换

  • MJExtension:李明杰写的一款JSONModel的框架。
  • Mantle:一款model层的框架,为什么唱吧iOS 6.0选择了Mantle。
  • JSONModel:一个解析服务器返回的Json数据,然后快速创建JSON 数据模型。同Mantle类似,不过JSONModel使用较为简单,但Mantle似乎更为强大,看个人选择。
  • Underscore.m:一个小型实用工具库,可以帮助开发者更方便地处理Objective-C中常见的数据结构

解析

  • JSONKit:主要用于JSON数据处理解析。
  • Ono:mattt大神写的一款关于处理XMLHTML的框
    架。
  • hpple:解析XML/HTML的框架。

Categories

  • iOS-Categories:非常有用的Objective-C Categories,涉及到FoundationUIKitCoreDataQuartCoreCoreLocationMapKit等。
  • octave:UI 操作音效,UIControl的category。
  • LTNavigationBar:动态改变UINavigationBar的显示状态,类似手机QQ中QQ空间的导航效果。
  • FlatUIKit:扁平化的UI视图集合。

UIKit

UI视图

  • JSQMessagesViewController:一款优雅的关于聊天信息的UI框架。
  • SDCycleScrollView:无限循环图片轮播器。
  • CoreLock:高仿支付宝手势密码。

日历视图

  • JTCalendar:自定义的日历视图。
  • GLCalendarView:同上,一款日历视图。

图表、绘图

  • PNChart:周凯文写的一款很好的图表框架。
  • core-plot:也是一款2D的绘图框架。

引导页、状态页

  • Onboard:只需少量代码就可创建非常nice的引导页。
  • DZNEmptyDataSet:没有请求到网络数据或者请求失败的视图展示,就好像web的404页面一样。

View

  • CRPixellatedView:UIView的子类,做像素化的动画处理。
  • SwipeView:水平分页滑动视图。

Alert、Sheet

  • MMPopupView:高度可定制的alert、sheet。
  • TSMessages:提示信息、通知信息控件。
  • RKDropdownAlert:基于facebook的app Slingshot的alert,灵感取自于SVProgressHUD的一个提示框架。
  • SCLAlertView:具有非常赞的动画的Alert View
  • CMPopTipView:是一个开源的泡泡风格文本提示框控件。

TableView

  • FXForms:非常容易创建table数据形式,用于设置页面非常理想。
  • VVeboTableViewDemo:VVebo剥离的TableView绘制,对TableView进行流畅度优化。
  • RETableViewManager:数据驱动tableView进行内容管理。

TextView

  • SlackTextViewController:文本输入视图,对于消息编辑非常有用,类似于微信发送消息的那个输入框。

Menu

  • RESideMenu:左右侧视图视差效果menu,不过很久没有commit了。

  • AwesomeMenu:Path2.0里面的menu效果。

Button

  • VBFPopFlatButton:使用pop做的不同状态具有平缓过渡动画效果的扁平化button。
  • BEMCheckBox:一款可自定义的具有非常nice动画效果的checkbox

TextField

  • JVFloatLabeledTextField:编辑就会出现浮动的提示label,效果不错。

Label

  • TTTAttributedLabel
  • RQShineLabel:类似于Secret的文字闪烁动画。

Font、Color

  • FontAwesomeKit:字体框架,支持Font-AwesomeFoundation iconsZocialionicons
  • Chameleon:类似颜色板一样,具有很多超赞的颜色可供直接使用。
  • Colours:和Chameleon功能类似。
  • DKNightVersion:对颜色的管理,融合了白天和黑夜的主题效果。

Cell

  • SWTableViewCell:滑动Cell的内容视图,出现功能按钮。(推荐)
  • MGSwipeTableCell:功能同上。
  • UITableView-FDTemplateLayoutCell:sunnyxx写的,自动计算cell动态高度。

CoreText、AttributeText

  • DTCoreText:允许使用HTML代码的Core Text框架。
  • YYText:非常强大的富文本显示和编辑框架。(推荐)

Image

  • GPUImage:GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。

图片加载、缓存

  • SDWebImage:异步图片下载处理,支持缓存,我相信大部分开发者都用过。
  • PINRemoteImage:对图片下载、加载、缓存的管理,线程安全且快速,对于网络图片具有很好的表现力。
  • Haneke:轻量的图片缓存框架。
  • AsyncImageView:异步图片处理的一个简单Extension。
  • Concorde:下载和解码JPEGs格式图片。

GIF

  • FLAnimatedImage:Gif引擎框架。
  • YLGIFImage:异步Gif解码,播放Gif图片,占用内存少。

Camera、视频

  • XCDYouTubeKit:YouTube视频播放框架。
  • ZFPlayer:基于AVPlayer支持横屏、竖屏的视频播放器。
  • kxmovie:使用ffmpeg制作的一款视频播放器。
  • PBJVision:一款camera的引擎,支持录屏慢动作获取图片等特性,且camera可自定义。
  • MWPhotoBrowser:一款优雅的图片、视频资源浏览器。

瀑布流

  • CHTCollectionViewWaterfallLayout:UICollectionView的瀑布流。

Objective-C与JS交互

  • JSPatch:JSPath充当Objective-C
    Javascript 交互的桥梁。
  • WebViewJavascriptBridge:Objective-C
    Javascript 交互通信过程中,和JSPath一样充当桥梁。

地图、地理位置信息、LBS

  • LocationManager:非常容易获取设备当前地理位置信息的框架。

ReactiveCocoa

  • ReactiveCocoa:简称RAC。
  • MVVMReactiveCocoa:使用ReactiveCocoa结合MVVM模式做的一个Demo。

Runtime

  • RuntimeBrowser:有关运行时操作的工具,你有权使用运行时所有的类。
  • iOS-Runtime-Headers:使用RuntimeBrowser导出的iOSframework的头文件。

Block

  • BlocksKit :对于使用Block来说更加方便、高效,不过好久没有commit了。

KVO

  • KVOController:facebook出品,它是一个简单安全的 KVO工具,构建了一个基于 Cocoa 的 time-tested key-value 监控实现,提供简单方便、线程安全的 API。

AOP、Method Swizzling

  • Aspects:一个简洁高效的用于使iOS支持AOP面向切面编程的库。

路由器、Deep Link

  • JLRoutes:引入路由器的概念handle complex URL schemesdeep link(推荐)。
  • DeepLinkKit、routable-ios、HHRouter:功能同上。

测试

  • Kiwi:iOS的BDD框架。
  • specta:轻量的TDD/BDD测试框架。
  • KIF:全称是Keep It Functional,来自Square,是一款专为iOS设计的移动应用测试框架

日志

  • CocoaLumberjack:是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。

工具、Xcode插件

工具

  • Alcatraz:Xcode插件管理神器,当然还有些其他的包管理功能。
  • FLEX:一款很好的调试工具,同样是Flipboard出品。
  • PonyDebugger:原生app使用Chrome开发工具进行远程的网路和数据debug
  • xctool:facebook出品的取代Apple's xcodebuild,让编译和测试更简单。
  • Tweaks:facebook出品的快速原型开发工具,能在应用上实时调整参数并测试效果。
  • EarlGrey:google出品的UI自动测试工具。
  • GitUp:用于Git交互。

插件

  • injectionforxcode:运行中的程序,然后在Xcode中动态插入代码,你可以实时看到编译器中的变动。
  • CATweaker:创建CAMediaTimingFunction曲线的一个帮助工具,该插件可以实时观看你创建的曲线,而且可调整。
  • KSImageNamed-Xcode:自动call imageNamed:获取图片资源名字填充,且相应图片在左侧可见。
  • XAlign:自动代码对齐插件。
  • VVDocumenter-Xcode:王巍写的一款编写文本的插件,用于注释非常方便。
  • SCXcodeSwitchExpander:自动填充Switch语句的枚举case值。
  • RTImageAssets:给定一张@3x的图片,自动生成其他像素的图片,也可以给定一张@2x的图自动片生成@3x的图片。
  • ESJsonFormat-Xcode:将JSON格式化输出为模型的属性插件。
  • FuzzyAutocompletePlugin:代码索引、自动补全代码的插件。
  • ColorSense-for-Xcode:主要针对RGB颜色值,可实时查看RGB颜色。

API、SDK

  • facebook-ios-sdk:facebook的sdk,使用它可以集成facebook的一些API。
  • octokit.objc:GitHubAPI。

其他

  • PKRevealController:是一个iOS平台上的视图控制器集合,通过展现多个视图控制器来进行控制器之间的切换,设置简单,高度灵活。
  • nimbus:旨在落实Three20,但是提供文档放在第一位,其次才是功能。
  • Chameleon:就像是一个港口,有iPhoneiPadMac几个分支,用于处理不同平台。
  • iOS-Artwork-Extractor:可以把所有图片和emoji符号提取出来,并导入png文件。
  • Bolts-ObjC:集成多任务处理的,和GCD、NSOperation的作用有点类似。

资料

  • iOSInterviewQuestions:ios面试题集锦。
  • open-source-ios-apps:关于iOS开发一些开源的资源集锦,涉及iOS开发的各个方面。
  • trip-to-iOS:iOS学习资料整理。

你可能感兴趣的:(GitHub第三方资源库整理(OC篇))