几个iOS工程通用模块介绍
2015-09-30 14:44
323 查看
写iOS程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上。
GitHub里面有大量优秀的第三方框架,而且License对商业很友好。一下摘录一下几乎每个项目都想集成的几个框架。
Mantle让我们能简化Cocoa和Cocoa Touch应用的model层。简单点说,程序中经常要进行网络请求,请求到得一般是json字符串,我们一般会建一个Model类来存放这些数据。这就要求我们编写一系列的序列化代码,来把json转换为Model。这很费时间,容易错,不容易修改。Mantle很好的解决了这个问题,而且更易用。
GitHub : https://github.com/Mantle/Mantle
参考:工具篇:Mantle
源码篇:Mantle
CocoaPod集成:pod 'Mantle', '~> 1.5.4'
IB时代,如果你还在用代码绝对布局就太low了。随着苹果发布iPhone6、iPhone 6 plus。iOS设备将会出现越来越丰富的屏幕尺寸,我们不可能根据每个尺寸做一套布局。所以,使用autolayout就很有必要了。在storyboard中,可以非常方便的使用autolayout,但是为了更好的协作开发,有些公司依然在手写布局,令人沮丧的是苹果提供的autolayout语法晦涩难懂,非常影响效率(你可以在这里动态查看autolayout的语法)。Masonry就是设计来解决复杂的手写autolayout。如何优雅的使用autolayout,且看Masonry。
GitHub:https://github.com/Masonry/Masonry
参考:使用方法,请看README
CocoaPod集成:pod 'Masonry', '~> 0.6.1'
移动互联网时代,应该很少有应用是不需要网络连接的吧。监测网络连接状态几乎是必不可少的一部分。Reachability可以完美的完成这一任务
GitHub:https://github.com/tonymillion/Reachability
参考:使用方法非常简单,请看README
CocoaPod集成:pod 'Reachability', '~> 3.2'
BlocksKit绝对是Objective-C的知心伴侣,它为OC常用类提供了强大的Block语法支持,使得编写OC代码变得舒适、快速、优雅。反正我是绝对离不开它。
GitHub:https://github.com/zwaldowski/BlocksKit
参考:block使用小结、在arc中使用block、如何防止循环引用(zz)
CocoaPod集成:pod 'BlocksKit', '~> 2.2.5'
如果你在项目中有使用KVO,那么KVOController绝对是个好选择。它是facebook开源的一个KVO增强框架。有以下几个特性:
使用 Blocks、自定义 Actions 或者 NSKeyValueObserving 回调进行通知.
观测者移除时无异常
控制器 dealloc 时隐式的观测者移除
提升使用 NSKeyValueObservingInitial 的性能
线程安全并提供在观测者恢复时额外的保护
还有什么理由不使用KVOController呢?
GitHub:https://github.com/facebook/KVOController
参考:KVOController:facebook 开源的 KVO(Key-value Observing)工具
CocoaPod:pod 'KVOController', '~> 1.0.3'
一个老牌、经典的通知组件,如果你们美工没有专门设计等待和通知视图,那就用它吧!
GitHub:https://github.com/jdg/MBProgressHUD
参考:
CocoaPod:pod 'MBProgressHUD', '~> 0.9'
很多公司都自己设计下拉刷新视图,比如网易新闻iOS客户端,下拉的时候会有广告出现。如果你只是需要一个下拉刷新,那么可以考虑ODRefreshControl,它是原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的App在用,比如虾米音乐和QQ客户端。
GitHub:https://github.com/Sephiroth87/ODRefreshControl 参考:
CocoaPod:pod 'ODRefreshControl', '~> 1.1.0'
又是Facebook开源的。大名鼎鼎的pop,做动画的不二之选。收下它吧。
GitHub:https://github.com/facebook/pop
参考:Facebook Pop 使用指南 popping(pop的使用实例)
CocoaPod:pod 'pop', '~> 1.0.7'
Objective-C下网络请求库。
GitHub:https://github.com/AFNetworking/AFNetworking
参考
CocoaPod:pod 'AFNetworking', '~> 2.5.0'
附加几个
帮助你异步加载网络图片,当然,它有缓存功能。简单、实用、功能强大。
GitHub:https://github.com/rs/SDWebImage
使用请参考相应文档
CocoaPod: pod 'SDWebImage', '~>3.7'
TTTAttributedLabel 是功能强大的UILabel,包含大部分对UILabel的定制。如果你想让一个UILabel可以点击并截取它,那么使用TTTAttributedLabel吧
使用请参考相应文档
CocoaPod:pod 'TTTAttributedLabel'
GitHub里面有大量优秀的第三方框架,而且License对商业很友好。一下摘录一下几乎每个项目都想集成的几个框架。
1. Mantle
Mantle让我们能简化Cocoa和Cocoa Touch应用的model层。简单点说,程序中经常要进行网络请求,请求到得一般是json字符串,我们一般会建一个Model类来存放这些数据。这就要求我们编写一系列的序列化代码,来把json转换为Model。这很费时间,容易错,不容易修改。Mantle很好的解决了这个问题,而且更易用。GitHub : https://github.com/Mantle/Mantle
参考:工具篇:Mantle
源码篇:Mantle
CocoaPod集成:pod 'Mantle', '~> 1.5.4'
2. Masonry
IB时代,如果你还在用代码绝对布局就太low了。随着苹果发布iPhone6、iPhone 6 plus。iOS设备将会出现越来越丰富的屏幕尺寸,我们不可能根据每个尺寸做一套布局。所以,使用autolayout就很有必要了。在storyboard中,可以非常方便的使用autolayout,但是为了更好的协作开发,有些公司依然在手写布局,令人沮丧的是苹果提供的autolayout语法晦涩难懂,非常影响效率(你可以在这里动态查看autolayout的语法)。Masonry就是设计来解决复杂的手写autolayout。如何优雅的使用autolayout,且看Masonry。GitHub:https://github.com/Masonry/Masonry
参考:使用方法,请看README
CocoaPod集成:pod 'Masonry', '~> 0.6.1'
3. Reachability
移动互联网时代,应该很少有应用是不需要网络连接的吧。监测网络连接状态几乎是必不可少的一部分。Reachability可以完美的完成这一任务GitHub:https://github.com/tonymillion/Reachability
参考:使用方法非常简单,请看README
CocoaPod集成:pod 'Reachability', '~> 3.2'
4. BlocksKit
BlocksKit绝对是Objective-C的知心伴侣,它为OC常用类提供了强大的Block语法支持,使得编写OC代码变得舒适、快速、优雅。反正我是绝对离不开它。GitHub:https://github.com/zwaldowski/BlocksKit
参考:block使用小结、在arc中使用block、如何防止循环引用(zz)
CocoaPod集成:pod 'BlocksKit', '~> 2.2.5'
5. KVOController
如果你在项目中有使用KVO,那么KVOController绝对是个好选择。它是facebook开源的一个KVO增强框架。有以下几个特性:使用 Blocks、自定义 Actions 或者 NSKeyValueObserving 回调进行通知.
观测者移除时无异常
控制器 dealloc 时隐式的观测者移除
提升使用 NSKeyValueObservingInitial 的性能
线程安全并提供在观测者恢复时额外的保护
还有什么理由不使用KVOController呢?
GitHub:https://github.com/facebook/KVOController
参考:KVOController:facebook 开源的 KVO(Key-value Observing)工具
CocoaPod:pod 'KVOController', '~> 1.0.3'
6. MBProgressHUD
一个老牌、经典的通知组件,如果你们美工没有专门设计等待和通知视图,那就用它吧!GitHub:https://github.com/jdg/MBProgressHUD
参考:
CocoaPod:pod 'MBProgressHUD', '~> 0.9'
7. ODRefreshControl
很多公司都自己设计下拉刷新视图,比如网易新闻iOS客户端,下拉的时候会有广告出现。如果你只是需要一个下拉刷新,那么可以考虑ODRefreshControl,它是原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的App在用,比如虾米音乐和QQ客户端。GitHub:https://github.com/Sephiroth87/ODRefreshControl 参考:
CocoaPod:pod 'ODRefreshControl', '~> 1.1.0'
8. pop
又是Facebook开源的。大名鼎鼎的pop,做动画的不二之选。收下它吧。GitHub:https://github.com/facebook/pop
参考:Facebook Pop 使用指南 popping(pop的使用实例)
CocoaPod:pod 'pop', '~> 1.0.7'
9. AFNetworking
Objective-C下网络请求库。GitHub:https://github.com/AFNetworking/AFNetworking
参考
CocoaPod:pod 'AFNetworking', '~> 2.5.0'
附加几个
10. SDWebImage
帮助你异步加载网络图片,当然,它有缓存功能。简单、实用、功能强大。GitHub:https://github.com/rs/SDWebImage
使用请参考相应文档
CocoaPod: pod 'SDWebImage', '~>3.7'
11. TTTAttributedLabel
TTTAttributedLabel 是功能强大的UILabel,包含大部分对UILabel的定制。如果你想让一个UILabel可以点击并截取它,那么使用TTTAttributedLabel吧使用请参考相应文档
CocoaPod:pod 'TTTAttributedLabel'
相关文章推荐
- iOS 分段选择控件 开关按钮 滑杆
- 30个iOS常用动画
- iOS自学
- iOS AutoLayout自动布局中级开发教程(3)-等宽等高等中心
- iOS开发日记30-Autolayout
- iOS-动画效果(图片左右滑动 添加动画效果)
- iOS开发常用网址
- iOS ARC注释和错误的解决方法在使用
- iOS AutoLayout自动布局中级开发教程(7)-底部顶部baseLine基线对齐
- 萌货猫头鹰登录界面动画iOS实现分析
- iOS AutoLayout自动布局中级开发教程(2)-初识autolayout
- ios-动画组
- iOS AutoLayout自动布局中级开发教程(6)-淘宝客户端iPhone 6/6 Plus 设计·适配方案
- iOS开发之身份证号码校验
- iOS AutoLayout自动布局中级开发教程(3)-等宽等高等中心
- 使用 fastlane 实现 iOS 持续集成
- iOS AutoLayout自动布局中级开发教程(5)-修改约束的值,延迟加载
- iOS的导航栏颜色
- ios开发学习--动画(Animation)效果源码分享
- iOS AutoLayout自动布局中级开发教程(4)-label等文字自动适应大小,宽度