Github上的热门iOS开源项目:AFNetworking、MagicalRecord、BlocksKit以及XVim
2013-06-08 23:29 三戒1993 阅读(132) 评论(0) 编辑 收藏 举报
内容涉及网络通信、网络调试以及一些跟Xcode相关的插件
“”1. AFNetworking
AFNetworking是一个非常受欢迎的轻量级的iOS、Mac OS X网络通信类库。它建立在NSURLConnection、NSOperation以及其技术的基础上,有着精心设计的模块结构和功能丰富的API,让很多网络通信功能的实现变得十分简单。 附件:
![]() |
/cms/uploads/soft/130607/4196-13060GQ218.zip |
![](http://www.cocoachina.com/cms/uploads/allimg/130607/4196_130607180451_1.jpg)
AFNetworking支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT以及DELETE等)。支持ARC。AFNetworking项目中还包含一些列单元测试。
要求iOS 5.0及以上版本,或者Mac OS 10.7及以上版本。
PonyDebugger是一个原生App的远程调试工具包,通过在浏览器上使用Chrome开发者工具来调试iOS应用的网络流量和数据存储。同时提供一个iOS客户端库用来调试通过NSURLConnection和其Core Data堆栈发送的数据,要求iOS 5.0以上系统,使用 ARC。 附件:
![]() |
/cms/uploads/soft/130607/4196-13060GQ304.zip |
![](http://www.cocoachina.com/cms/uploads/allimg/130607/4196_130607180533_1.jpg)
开发者可以通过PonyDebugger实时看到应用的网络请求。由美国著名移动支付公司Square团队开发。
PonyDebugger的功能包括Network Traffic Debugging、Core Data Browser、View Hierarchy Debugging以及Remote Logging。
3. MagicalRecord
(让代码变得更整洁) 附件:
![]() |
/cms/uploads/soft/130607/4196-13060GQS7.zip |
与Core Data相关的还有比较有名的MagicalRecord。使用CoreData时会用到许多引用代码,让工作变得很复杂,MagicalRecord可以帮你解决这些问题。MagicalRecord的目标是清除CoreData引用的代码,允许在需要请求优化的时候修改NSFetchRequest。
需要iOS5.0及以上版本(也有兼容iOS 4.0的版本),Mac OS 10.7及以上版本。支持ARC/Non-ARC。能利用iCloud同步CoreData商店。
MagicalRecord的灵感来自于Ruby on Rails(wikipedia:Ruby on Rails简称Rails,是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。)
Yannick Loriot通过自己的一个示例教程,一步步教你如何创建Core
Data project,并使用MagicalRecord进行管理。Yannick Loriot此前还写过一篇非常不错的文章:Objective-C
blocks cheat sheet
4.BlocksKit
附件:
![]() |
/cms/uploads/soft/130607/4196-13060GQ610.zip |
BlocksKit 是一个开源的与Cocoa紧密集合的基础性框架,BlocksKit并没有创建新的宏,函数,方法和类,只是对Cocoa类的一个扩展,是一个blocks的大杂碎,也是Zachary Waldowski集思广益精炼得来的,说白了它就是利用blocks的优势,给Cocoa类增加了一系列实用方法, 比如让NSObject执行blocks,用blocks对UIView增加触摸动作。
O-C已经很简单了,但 BlocksKit让它更简单,不过前提是你要知道blocks,如果熟悉 associated value就更好了,如果你熟悉基本api和blocks,那么看看BlocksKit源码,真是简洁明了,大快人心~熟悉delegate的朋友或多或少觉得delegate有点繁琐,BlocksKit在某种程度上取代了通常的delegate用法,但强大的delegate并不会死,比如UITableView*Delegate和NSURLConnectionDelegate这样的大怪兽。
blocks和delegate都含有转发并执行的逻辑前者适合小而常用的逻辑,比如action,animation,BlocksKit对这些用法提炼到了极致(不过还有提升空间),而后者适合重量级的转发,比如UIViewController之间的...
BlocksKit还有参考文档,不过我想GK喜欢直接看源代码,尝试用用blocks吧,会让你工作轻松不少。(via CocoaChina会员tworthree )
5.YouCompleteMe(vim的插件)
附件:
![]() |
/cms/uploads/soft/130607/4196-13060GQA7.zip |
如果你比较喜欢用vim来写代码的话,这里有一个非常棒的vim插件——YouCompleteMe——当你在编写OC代码时,可以提升体验。YouCompleteMe可以在Vim中添加代码自动补全功能,并且不需要你来按某个键来查看代码补全建议——针对OC OC++,C++,C该插件可以自动补全建议。
![](http://www.cocoachina.com/cms/uploads/allimg/130607/4196_130607180847_1.gif)
![]() |
/cms/uploads/soft/130607/4196-13060GQH7.zip |
XVim是一个针对Xcode的Vim插件,能让开发者在不放弃任何xcode功能的前提下体验vim的功能。
关于Vim的使用,可以参看容芳志的这篇博文:Vim命令图解和XVim使用
来自 Kent Sutherland的一个插件,提供了图片名称自动补全的功能——当使用UIImage imageNamed时,该插件会扫描整个workspace中的图片文件。非常方便的一个插件。 附件:
![]() |
/cms/uploads/soft/130607/4196-13060GQP3.zip |
![](http://www.cocoachina.com/cms/uploads/allimg/130607/4196_130607180912_1.png)