求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
如果爱,请深爱:10大iOS开发者最喜爱的类库
 

作者:Marcelo Fabri ,发布于2012-12-5 ,来源:raywenderlich

 

该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾。每个团队都要根据以下规则选出五个最好的库:1)不能投自己写的库;2)排除大的架构,比如游戏类架构;3)排除不在设备上运行的库,例如CocoaPods或者Rack::CoreData也排除在外。

最终评选出了如下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%,已经是非常大的一个差距了

Benchmark测试结果图

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就会派上用场,帮你减少工作量(教程指导)。

添加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特别简单,简单到什么程度?看下面几行代码
  NSURL *url = [NSURL URLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"]; 
  NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
  AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:
^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 
      NSLog(@"App.net Global Stream: %@", JSON); 
  } failure:nil]; 
  [operation start]; 

在这10大库中,AFNetworking是最大赢家,现在是GitHub上第三大Objetive-C库,iPhone,iPad上很多著名应用都使用这个类库,是很多人的最爱。

这里把好用的库整理出来介绍给大家,希望真正能帮到开发者,让你们的生活变得更简单。


 
分享到
 
 


android人机界面指南
Android手机开发(一)
Android手机开发(二)
Android手机开发(三)
Android手机开发(四)
iPhone消息推送机制实现探讨
手机软件测试用例设计实践
手机客户端UI测试分析
手机软件自动化测试研究报告
更多...   


Android高级移动应用程序
Android应用开发
Android系统开发
手机软件测试
嵌入式软件测试
Android软、硬、云整合


领先IT公司 android开发平台最佳实践
北京 Android开发技术进阶
某新能源领域企业 Android开发技术
某航天公司 Android、IOS应用软件开发
阿尔卡特 Linux内核驱动
艾默生 嵌入式软件架构设计
西门子 嵌入式架构设计
更多...