黑马程序员技术交流社区

标题: 学习iOS开发前就应该知道的事(4)精品分享 [打印本页]

作者: LEON27    时间: 2015-6-25 20:39
标题: 学习iOS开发前就应该知道的事(4)精品分享

英文原文:Things I wish I had known before starting iOS development-----CocoaChina原创翻译

网络

要想让应用更有趣,你免不了要接入一些API。虽然iOS在对网络的支持方面表现良好,譬如它拥有NSURLSession、NSURLConnection和NSJSONSerialization,但我还是推荐你使用下面的库。

AFNetworking


AFNetworking:AFNetworking - 令人拍案叫绝的iOS和OS X网络框架。

我认为这是有史以来最好的iOS库之一,它的功能何止炫酷二字。但这些功能中最重要的或许是开发者社区,他们每天都在使用这个库,并为AFNetworking做出贡献。一些iPhone、iPad和Mac上最火的应用都是由AFNetworking提供的支持。

Restkit

RestKit/RestKit:RestKit是在iOS和OS X上使用和构建RESTful web资源的框架。

Restkit具有精心设计的API,访问和构建RESTful资源的过程如沐春风。如果你用core data进行数据存储、用rest service进行数据读取,那你的最佳选择就是它——与Core Data完美集成的Restkit。

Alamofire


Alamofire/Alamofire:Alamofire - Swift下精致的HTTP Networking。

哟哟切克闹,Swift粉们不要闹,煎饼果子来一套。下面就是为你们准备的东西了。Alamofire是一个精致的网络库,它具有一些Swift专享的强大功能。

你也可以在这里找到很多其他的库。

vsouza/awesome-ios

awesome-ios——精选的优质iOS生态系统,包括Objective-C和Swift项目。

依赖管理

我在前面的文章中提到过依赖管理,但重要的问题要说两遍!在这里我还要给它细细讲一发。在项目中,你主要有三种管理依赖的方式。

CocoaPods

CocoaPods.org:iOS和Mac项目的依赖管理器。

CocoaPods是Swift和Objective-C Cocoa项目的依赖管理器。它拥有将近一万个库,可以帮助你轻松扩大项目规模。要想管理Ruby Gems这种依赖,实践中最有效的方法就是它了。

谷歌开发者做了一个YouTube视频,解释了为什么要在你的项目中使用CocoaPods。小心笑尿。

点此观看视频:Route 85: An Introduction to CocoaPods

Github Submodules

你还可以使用git submodules,在项目中以sub repos形式管理依赖。子模块相对于Cocoapods的优势在于子模块也是sub-repos——这不仅是指git和git GUIs逐渐认可并更加支持它们,也意味着你的依赖可以将git repos和广阔的世界连接起来,而CocoaPods却不能。

但git submodules也有自己的问题:项目中没有那些你所依赖的代码的来源。它只是指向了子模块库。而大多数时间你根本不会去管这个库。

Carthage


Carthage/Carthage:Carthage - 简单、去中心化的Cocoa依赖管理器。

Carthage旨在为Cocoa应用提供最简单的框架添加方式。Carthage使用xcodebuild建立framework binaries,把整合工作留给了用户。CocoaPods的方法更简单易用,而Carthage的方法更灵活温和。

不幸的是,Carthage也有一个巨大缺陷——仅支持iOS 8及以上版本

测试

大多数人一提到应用测试就会呵欠连连。但如果没有测试的话,说不巧哪天你的应用就突然崩溃了。发布应用时,你一定得先进行深度测试,保证用户得到最佳体验。

这里有很多测试框架,它们可以简化测试工作。

XCTest

XCTest是一个单元测试框架,包含在Xcode中。它支持把单元测试作为项目编译过程的一部分。XCTest与XCode高度整合,因此提供了持续整合支持和覆盖率测试这样的功能。

KIF


kif-framework/KIF:KIF - Keep It Functional - iOS功能测试框架

KIF是Keep It Functional的缩写。它由Square开源,是一款iOS一体化测试框架。它利用其可访问性——即系统让访问不能显示的应用成为可能,轻松实现了iOS应用的自动化。

Kiwi


kiwi-bdd/Kiwi:Kiwi - BDD for iOS

Kiwi是iOS开发的Behavior Driven Development库。其目标是提供一个安装和使用都非常简单的BDD库。

Quick


Quick/Quick:Quick - Swift (以及Objective-C)的测试框架。

Quick是Swift和Objective-C的一款行为驱动的开发框架。它由RSpecSpectaGinkgo开发。与Quick并肩战斗的是Nimble——一款为测试服务的匹配框架。



作者: 小小羊    时间: 2015-6-26 13:24
以后工作中应该会用到这些吧?
作者: LEON27    时间: 2015-6-26 15:38
小小羊 发表于 2015-6-26 13:24
以后工作中应该会用到这些吧?

当然啦 都是精华啊  我看了些  相当不错
作者: 北游    时间: 2015-6-26 20:54
感觉是一些高大上的东西!
作者: 寂静的夜    时间: 2015-6-26 21:56
等我打好基础打好,再来看看,  收藏了
作者: 深蓝的蓝    时间: 2015-6-26 22:13
受教了,谢谢分享
作者: HunterTim    时间: 2015-6-27 14:43
虽然一个都没听过,但是以后肯定用的上,谢谢楼主指点
作者: heyuze    时间: 2015-6-27 16:30
可以的。。。虽然现在还看不懂
作者: LEON27    时间: 2015-6-27 18:58
HunterTim 发表于 2015-6-27 14:43
虽然一个都没听过,但是以后肯定用的上,谢谢楼主指点

没事  大家一起努力
作者: 马贺飞    时间: 2015-6-30 01:29
暂时还顾及不到
作者: LEON27    时间: 2015-6-30 15:42
马贺飞 发表于 2015-6-30 01:29
暂时还顾及不到

mark 一下啊  以后必用
作者: 杨庆庆    时间: 2015-6-30 22:29
先打好基础,不要心太大
作者: bsx881220    时间: 2015-6-30 22:51
好东西,学习中。。。。
作者: timehzy    时间: 2015-6-30 23:40
看不懂啊,话说1、2、3呢?
作者: LEON27    时间: 2015-6-30 23:50
bsx881220 发表于 2015-6-30 22:51
好东西,学习中。。。。

加油  duang
作者: 果壳里的果冻    时间: 2015-7-1 00:01
mark一下 好资源
作者: peng_gavin    时间: 2015-7-1 08:52
强大的助攻……
作者: wanglz888168    时间: 2015-7-1 10:54
我可以说我看不懂吗?
作者: chensc    时间: 2015-7-1 18:53
学习学习!
作者: mazhichao    时间: 2015-7-1 20:34
先看看,留着以后用~
作者: LEON27    时间: 2015-7-1 22:46
wanglz888168 发表于 2015-7-1 10:54
我可以说我看不懂吗?

你看懂了 ,你月薪也就上万啦 我们一起努力上万
作者: chensc    时间: 2015-7-2 05:23
学习学习!
作者: chensc    时间: 2015-7-2 05:25
学习学习!
作者: venn    时间: 2015-7-2 08:21
楼主分享 的不错 赞一个
作者: LEON27    时间: 2015-7-2 16:37
venn 发表于 2015-7-2 08:21
楼主分享 的不错 赞一个

帖子 里 还有 1 2 3部分 前面的基础些
作者: ios_xiaot    时间: 2015-7-2 17:20
mac一下,以后肯定会用到
作者: 深蓝的蓝    时间: 2015-7-2 17:49
先看一下  虽然看不太懂
作者: venn    时间: 2015-7-3 07:43
LEON27 发表于 2015-7-2 16:37
帖子 里 还有 1 2 3部分 前面的基础些

奥。这个已经看了。。。谢谢
作者: carshoel    时间: 2015-7-3 07:55
暂时还太遥远
作者: LEON27    时间: 2015-7-3 09:04
carshoel 发表于 2015-7-3 07:55
暂时还太遥远

努力 就不遥远啦
作者: peng_gavin    时间: 2015-7-3 09:38
留存。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2