第三方库是如今的程序员离不开的东西,不光是APP开发,基本上全部的商业项目都会或多或少的使用到第三方库。react
Github上Star>100的开源库数量以下git
能够看到JS以绝对的优点排名第一,必定程度上也说明了JS在这几年为何发展得这么迅速,不会点JS都很差意思说本身是码农。不过如今JS圈的造轮子浪潮也是愈演愈烈了,本身不写个框架都很差意思打招呼。程序员
OC排名第四,相信这个排名还会上升。Swift暂时还挤不进前十,不过超过OC也是指日可待(毕竟亲儿子)。github
Xcode基本是Mac/iOS程序员的必备工具(AppCode我没用过 不知道有多少人用?) 可是能说有多好用..这就仁者见仁了(跟Visual Studio是没得比了), 不过在用了插件之后,倒也能让生产力提高一大截。sql
接下来我会介绍一些我本人经常使用的第三方库和插件,也许很少,可是必定是久经考验,用了必定不会错。数据库
第三方库缓存
CocoaPod
CocoaPod并非iOS上的第三方库,而是大名鼎鼎的第三方库的管理工具。在CocoaPod没有出现以前,第三方库的管理是很是痛苦的,尤为是一些大型的库(好比nimbus) 每次对库进行更新,均可能会很是的痛苦。
CocoaPod的出现解决了这些问题,以Framework的方式引入第三方库,极大的节约了集成的时间,并且通吃Objective-C和Swift(Swift上的Cathatage我没有实际用过,可是它的那种集成方式仍是比CocoaPod麻烦点)。框架
iCarousel
在iOS 4.x的时代(我也是从4.0开始接触iOS开发的) Coverflow的效果可谓是风靡一时。初出茅庐的我当年对如何实现几乎是一筹莫展。(当年全部的电影资讯类的APP:如布丁爱生活等,都须要实现Coverflow选片的效果 ,碰巧我也要作一个) iCarousel的出现替我解决了一个大的难题。
今后iCarousel成为了我每一个项目的必备良药(也是我最喜欢的库),无论是Coverflow仍是轮播广告,都能轻描淡写的搞定。其内置的十来种显示类型,基本能够解决90%的UI需求,而其强大的自定义功能,则能够解决剩余的10% :)
不熟悉的朋友能够尝试一下其精美的demo(pod try iCarousel)。 全部的功能都在demo中尽收眼底。
做者nicklockwood也是一个高产的大神,同时维护着数量众多且优质的开源库(好比iVersion iRate),你们不妨去看一看、淘一淘。异步
AFNetworking/ Alamofire
HTTP框架的龙头老大。当年在与ASIHTTPRequest的竞争中笑到了最后,(固然也是由于ASIHTTPRequest的做者不维护了,不过国内不少公司,由于历史缘由都在自行维护) 因为及时维护和拥抱语言的新特性,迅速被你们所接受和喜好。相信每一个人都用过,这里就不赘述了。函数
MKNetworkKit
若是说AFNetworking是老大,那么MKNetworkKit能够说是小弟了。不过也由于比AFNetworking轻量的缘由,也得到了许多开发者的青睐。
当年由于ASIHTTPRequest中止维护了。在机缘巧合之下,我在AFNetworking和MKNetworkKit之间选择了后者,并在不少项目中进行了使用。不过也许是由于AFNetworking发展得更快更迅速,而做者本人是单兵做战的缘由,做者也基本放弃了更新(版本号在停留在0.8x) 十分惋惜。
SDWebImage
图片异步下载和缓存管理的集大成者,UITableView的黄金搭档。其代码被开发者研究分享过无数次,喵大的Kingfisher(能够说是Swift版的SDWebImage)也是深受其影响。
异步下载AFNetworking和MKNetworkKit都有实现,数据缓存也有FastImageCache与TMCache等。可是将其融会贯通的,惟有SDWebImage了。除了简单的使用sd_setImageWithURL以外,SDImageCache也是能够独立使用的,功能也至关之强大。
ZXingObjC
zxing是Google出品的二维码扫描组件,本来是Java编写的。如今也有了各类语言的移植版,而ZXingObjC就是其中之一。
zxing支持各类主流的一维码二维码扫描,简单易用。小厂若是要实现二维码扫描这个功能,基本都会选择zxing。
不过iOS7已内置了二维码摄像头扫描,而iOS8也已内置了二维码静态图扫描,之后可能不再须要用到ZXing了 :(
MBProgressHUD
简单易用且稳定的HUD组件,半透明黑底白字的风格也经久不衰, loading提示的最佳选择。
Masonry/SnapKit
最好用的Autolayout手写库(Cartography也不错啦!可是仍是用不惯) 帮助我轻易的跨越了Autolayout这道坎。
我也曾屡次在文章中提到过关于Masonry的使用方法,若是尚未用过的朋友,不妨看一看。
pop
Facebook的工程师一直是神通常的存在,对开源社区的贡献也是巨大的,极大的推进了各类变成语言的发展。好比HipHop之于PHP;react之于JavaScript;pop之于Objective-C等等。
无论是HipHop、react、Facebook的工程师老是抱着颠覆的态度来开源, pop也不例外。这点以前我也简单介绍过,而以pop为基础的paper一发布就震惊整个APP届,在这点上pop也是厥功甚伟。
pop对自定义动画也支持得很好,我也以pop的自定义动画为基础写过MMTweanAnimation.
ReactiveCocoa
提及来惭愧,大名鼎鼎的RAC,我只使用了点皮毛(只拿来作输入验证了)。
暂时尚未进行深层次的使用,对RAC的理解也停留在表面阶段,不过这篇文章介绍得很是详细,值得一看。
GPUImage
若是你要作图像(照片或者视频)的相关处理,或者只是简单的想作个像Camera360同样的拍照滤镜,那么你必定要研究一下GPUImage
如它的名字所述:GPUImage是基于GPU的图像处理框架。咱们都知道 GPU是提高性能的关键,这也就是GPUImage如此重要,如此受欢迎的缘由。
Lumberjack
log系统是每一个项目都应该有的东西,而Lumberjack是log系统中的翘楚。
你能够简单的把它当成NSLog的替代品(简单来讲 Lumberjack比NSLog速度更快) 或者根据你的须要来打造一个更强大的日志系统。
NSLogger
从名字能够看出 NSLogger也是一个log系统。其特色是附带了一个功能强大的Desktop Viewer,可让你方便的查看APP产生的日志。(支持分级筛选等等,甚至能够直接log一张图片)
AwesomeMenu
当年横空出世的Path,其优美的设计、精彩的动画、不知让多少人嘴巴都合不拢。而最赞的就是它的弹出菜单,一时成为了每一个APP争相模仿的对象,有了AwesomeMenu,你能够轻易的实现它。
MMDrawerController
普通的侧滑菜单,用MMDrawerController就搞定了。
realm
做为数据存储的一等公民,CoreData的地位不言而喻。不过也由于使用起来不够方便,才会出现MagicalRecord这种辅助类,甚至fmdb这种基于纯sqlite的库。而realm以挑战者的身份闪亮登场,不只读取性能更快(听说数倍于CoraData) 接口简单易用(以对象的形式使用数据,这点和leancloud的思路很类似) 而且还跨平台(iOS/Android都可使用 OC/Swift/Java都支持)
若是你习惯使用Mantle之类的Modal转换的话,Realm-JSON确定能讨你欢心。
做为YCombinator的孵化项目,其质量仍是能得以保证的,至少我试用下来,确实给我以很大的惊喜。无论是API的设计,仍是数据对象的定义,就连数据库的版本升级,都很是的方便。
Alcatraz
与CocoaPod相似。Alcatraz是Xcode的插件管理器,可以让你方便的管理Xcode的插件。不只能够管理插件,还能够管理主题等等。
FuzzyAutocomplete
若是只让我选一个插件留下,那必须是FuzzyAutocomplete.强大的模糊匹配输入,让你写代码的时候不再用费脑子去记住名字那么长的对象或者函数名了,好用到让你想哭。
XAlign
做为有洁癖的码农,看到不对齐的代码必定是不能忍的,XAlign能够轻松解决你的烦恼。
VVDocumenter-Xcode
喵大的又一力做,可以识别当前函数的参数和返回类型,帮助你快速编写符合规范的注释。(目前是以Javadoc为标准)
deriveddata-exterminator
若是你总是遇到Xcode抽风,提示你要由于某个缘由要删除某个目录下的文件,不然编译不过,那你必定会被这个插件感动,由于说明了遇到这个事的人不仅你一个。
Xcode-Quick-Localization
多语言在iOS开发中一直不是很方便。有了它, 你能够省很多事。
Backlight-for-XCode
就若是Xcode默认的80个字的分页提示同样,高亮当前正在编辑的一行,也是一种友好的提示,喜不喜欢也就因人而异了。
Helmet
若是你跟我同样,常常开发的时候回去查看系统API的话,那必定有过不当心按错键而后修改了系统头文件的经验,就算你撤销了修改,从新编译时Xcode也会报错,提示你清除cache helmet能够有效的防止这个问题的发生。(不过你想改pod的代码也被阻止了~~ 这点我以为须要改进)
文章源自:http://adad184.com/2015/07/08/my-favorite-libraries-and-plugins/