该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾。每个团队都要根据以下规则选出五个最好的库:
1)不能投自己写的库;
2)排除大的架构,比如游戏类架构;
3)排除不在设备上运行的库,例如CocoaPods或者Rack::CoreData也排除在外。
本文由作者从千锋网(http://www.mobiletrain.org/)分享: 
最终评选出了如下10大iOS开发者最喜爱的库:
(1) SSToolkit 
Sam Soffes简直就是一个Objective-C天才,SSToolkit就是个例子。作者将他在App中实现的各种各样的UI效果做成个代码库,方便其他人使用。 
  • SSToolkit一些基础的类包括SSCollectionView,SSGradientView
  • 从UI部件到便利的Foundation类别都经过精心设计并记录在案,帮助开发者解决
一些普遍问题,比如追踪一款设备是否有视网膜显示屏或者是否能剪裁图片  
 (2)GPUImage 
GPUImage一个功能十分强大又十分易用的图像处理库。 
  • 提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜
  • 是基于GPU的图像加速,图像处理速度超快,并且能够自定义图像滤镜
  • 支持ARC (以下是滤镜效果图)
  • 不过现在还缺少一些Core Image拥有的一些先进功能,比如面部探测。
(3)SocketRocket 
SocketRocket是一个WebSocket客户端(WebSocket是适用于Web应用的下一代全双工通讯协议,被称为“Web的TCP”,它实现了浏览器与服务器的双向通信),采用Object-C编写。超级稳固又简单易用,简直就是实时应用的最佳拍档。 
  • ? SocketRocket遵循最新的WebSocket规范RFC 6455
  • ? 只有部分比较新的浏览器比如Chrome支持这个库
  • ? 支持TLS (wss),iOS 4.x系统
  • ? 使用NSStream/CFNetworking(可免费享用)、使用ARC
  • ? 采用并行架构
  • ? 大部分的工作由后端的工作完成、基于委托编程。无任何UI包依赖。
因为Square,才有了SocketRocket  
 (4) HockeyKit 
HockeyKit是一个iOS Ad-Hoc自动更新框架。所有的苹果店中的App都可以使用它,它能显著提高整个Beta测试过程,分为两部分:服务器和客户端框架。服务端组件不需要客户端库就能单独工作。 
? 只需在服务器上安装一次服务端,就可以处理bundle identifier不同的多个应用
程序(有开发者强烈建议对Debug、AdHocBeta和AppStore发布版使用不同的Bundle identifier) 
  • ? 默认当App启动或唤醒时,客户端会从服务器检测更新,用户可以在设置对话框中
修改这个设置:一天一次或手动检测更新
  • ? 除了支持iOS,HokeyKit也支持Android平台,不过Android版还处在Alpha阶段,
支持OTA及应用内更新 
  • ? 为HockeyKit用户提供服务器托管服务
Beta测试演示    
(5)JSONKit 
JSONKit是Objective C平台上比较常用的JSON数据访问工具。 
  • JSONKit能在运行的情况下与libz.dylib自动连接而无须人工连接
  • 在解析期间,如果检测到有gzip文件,JSONKit能自动解压
  • 速度超快,支持之前的iOS版本(但要注意一点,从iOS 5开始,iOS就已经有本
地JSON解析工具了)
  • JSONKit的性能远优于JSON-Framework(即SBJSON),JSONKit使用起来也非常简
单,表现性能比苹果iOS 5.0中的NSJSONSerialization还要好,速度比NSJSONSerialization快上25% to 40%,已经是非常大的一个差距了 
(6)MagicalRecord 
使用Core Data时会用到许多引用代码,让工作变得很复杂,让人有种挫败感,MagicalRecord的出现就是解决这些问题的。 
  • 不但能清理Core Data代码,还可在必要的时候进行NSFetchRequest修改
  • 需要iOS 5.0及以上版本,Mac OS 10.7及以上版本
  • 使用ARC
  • 能利用iCloud同步Core Data商店
(7)RestKit 
Restkit是一个开源的Objective-C框架。 
  • 可在iOS和Mac OS X的Objective-C中与RESTful Web服务进行简单交互
  • 包含简单的HTTP request/response API
  • 带有强大的对象映射系统,用于减少代码长度
  • RestKit可降低JSON/XML的处理的资源消耗,支持通过SBJSON和YAJL进行JSON解析
当你的应用需要与一个REST远程API整合的时候,RestKit就会派上用场,帮你减少工作量(教程指导)。 
(8)TestFlight 
要想轻松发送并公测应用?用TestFlight吧,无须通过iTunes,有人曾经整理出了它的三大杀手锏: 
  • 轻松采集测试用户的UDID和iOS 版本、硬件版本,并发送给开发者。在接收到开发者的TestFlight邀请之后,用户只需拿自己的iPhone即可打开邀请中的链接,注册账号,注册硬件
  • 有了测试包以后,不用一个个发邮件,只需要将IPA上传到TestFlight网站,然后勾选合适的测试用户,点击确认,你就完事了,用户会马上收到TestFlight的更新通知,然后只需在他的iPhone上登录TestFlight网站,TestFlight就会自动将测试IPA安装到他的iPhone上
  • 不用担心用户没有成功安装,Testfligh能够给你实时反馈最新统计数据
现在还推出了桌面App,用起来更快更方便了。 
 (9)MBProgressHUD 
苹果的应用程序一般都会用一种半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被踢出AppStore。而MBProgressHUD提供了一个替代方案,实现的效果根本看不出和官方程序有什么差别。 
  • 同时还提供了其他附加功能,比如虚拟进展指示符,以及完成提示信息
  • 你也可以安装其他东西,比如需要显示的文本,动画,x及y设置等等,有许多iOS辅导员都在用它,一般用来作应用内购买
  • MBProgressHUD适用于任何iOS版本,需要LLVM 3.0及以上编译器架构,兼容ARC及非ARC项目,这得取决于苹果的以下架构: 
    1. Foundation.架构 
    2. UIKit.架构 
    3. CoreGraphics.架构
透明进度效果 
(10)AFNetworking 
AFNetworking是一个轻量级的iOS网络服务类库。它建立在NSURLConnection和NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单。 
  • 支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT、DELETE等)
  • 支持ARC
  • 要求iOS 5.0及以上版本
  • 有一些插件扩展已有的功能,还有一个功能齐全的API
  • 从URL中获取JSON特别简单,简单到什么程度?看下面几行代码 
    1. NSURL*url=[NSURLURLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"]; 
    2. NSURLRequest*request=[NSURLRequestrequestWithURL:url];
    3. AFJSONRequestOperation*operation=[AFJSONRequestOperationJSONRequestOperationWithRequest:requestsuccess:^(NSURLRequest*request,NSHTTPURLResponse*response,idJSON){ 
    4. NSLog(@"App.netGlobalStream:%@",JSON); 
    5. }failure:nil]; 
    6. [operationstart];
在这10大库中,AFNetworking是最大赢家,现在是GitHub上第三大Objetive-C库,iPhone,iPad上很多著名应用都使用这个类库,是很多人的最爱。 
这里把好用的库整理出来介绍给大家,希望真正能帮到开发者,让你们的生活变得更简单。 
该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾。每个团队都要根据以下规则选出五个最好的库:1)不能投自己写的库;2)排除大的架构,比如游戏类架构;3)排除不在设备上运行的库,例如CocoaPods或者Rack::CoreData也排除在外。 

ios学习- 10大iOS开发者最喜爱的类库的更多相关文章

  1. 10大iOS开发者最喜爱的类库

    该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个最好的库:1)不能投 ...

  2. 10大iOS开发者最喜爱的库

    该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个最好的库:1)不能投 ...

  3. 李洪强iOS学习交流群-iOS大神群

    iOS学习大神群-群号:483959373

  4. iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)

    转:http://my.oschina.net/joanfen/blog/151145 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下 ...

  5. iOS 学习 - 10下载(1) NSURLConnection 篇

    程序的实现需要借助几个对象: NSURLRequest:建立了一个请求,可以指定缓存策略.超时时间.和NSURLRequest对应的还有一个NSMutableURLRequest,如果请求定义为NSM ...

  6. iOS学习10之OC类和对象

    本次是OC的第一节课,主要是学习和理解类与对象 1.面向对象 1> OOP(Object Oriented Programming)面向对象编程. 面向对象以事物为中心,完成某件事情都需要哪些事 ...

  7. iOS 学习 - 10下载(4) NSURLSession 会话 篇

    NSURLConnection通过全局状态来管理cookies.认证信息等公共资源,这样如果遇到两个连接需要使用不同的资源配置情况时就无法解决了,但是这个问题在NSURLSession中得到了解决.N ...

  8. iOS 学习 - 10下载(3) NSURLSession 音乐 篇

    使用 NSURLSession 下载,需要注意的是文件下载文件之后会自动保存到一个临时目录,需要开发人员自己将此文件重新放到其他指定的目录中 // // ViewController.m // Web ...

  9. iOS 学习 - 10下载(2) NSURLSession 图片 篇

    使用NSURLSessionDownloadTask下载文件的过程与前面差不多,需要注意的是文件下载文件之后会自动保存到一个临时目录,需要开发人员自己将此文件重新放到其他指定的目录中. // // V ...

随机推荐

  1. 在阿里云上搭建自己的git服务器

    这篇文章我就来介绍一下如何在一台全裸的阿里云主机上搭建自己的git服务器. 1. 安装git 首先安装git,一般而言,现在的服务器已经内置了git安装包,我们只需要执行简单的安装命令即可安装.比如: ...

  2. SQL查询系列1---

    1.查询关系为夫妻,年龄相加大于60的信息 表1 信息表 info id 编号   sex 性别 0-女,1-男 age 年龄   表2 关系表 rel id1 编号1 外键 id2 编号2 外键 r ...

  3. dfs 与 dijkstra 总结

    Dijkstra: //寻求加权图起始点到各个节点的最短路径 for i <- 1:n do distance[i] <- INF; distance[0] <- 0;//起始节点距 ...

  4. auto和bool

    一.auto' 1.只要在函数内部定义变量,默认是auto int num 等价于  auto int num = 10; 2.C语言中的auto关键字就是自动分配自动释放 二.bool类型 1.头文 ...

  5. Core Animation 文档翻译 (第八篇)—提高动画的性能

    前言 核心动画是提高基于APP动画帧率的好方式,但是核心动画的使用不代表性能的提升的保证.尤其在OSX,当使用核心动画时,我们仍需选择最有效的方式.和所有的性能相关的问题一样,我们应该使用工具时时的评 ...

  6. ubuntu+mono+PetaPoco+Oracle+.net 程序部署

    前言:将windows 下开发的 .net 控制台程序(连接Oracle数据库)部署到 ubuntu 下步骤记录  2017-09-19 实验所用机器为虚拟机Ubuntu16.04  amd64 安装 ...

  7. 时间函数DateTime()的用法

    //2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...

  8. 《Thinking in Java》学习笔记(四)

    1.Java中的闭包与回调 闭包(Closure)是一种能被调用的对象,它保存了创建它的作用域的信息.JAVA并不能显式地支持闭包,但是在JAVA中,闭包可以通过“接口+内部类”来实现,因为对于非静态 ...

  9. MySQL操作的一些优化

    1.用于不要使用select * from table xxx. 需要查询哪些列就在语句中指明,一个表结构复杂时,可能会有上百列,使用*来查询时会造成很大的浪费. 2.选择合适的属性及大小    例如 ...

  10. BZOJ 2653: middle [主席树 中位数]

    传送门 题意: 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整.给你一个 长度为n的序列s.回答Q个这样的询问:s的左端点在[a,b]之间,右 ...