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