30

我即将为 iPad 开发一个应用程序,它有大量的后台线程网络调用。

我想知道哪个会更好?ASIHTTPRequest 仍然有效,但未维护。然而,很少有消息称 AFNetworking 框架会带来很多复杂性。

4

2 回答 2

52

更新(2013 年 9 月)

自从我最初写这个答案以来已经快两年了,而且发生了很多变化。AFNetworking即将进入 2.0 版并拥有一个蓬勃发展的开发者社区,而ASIHTTPRequest几乎已经死了。此外,AFNetworking还有数十个出色的帮助库和类可用于处理 OAuth、Amazon S3 等。它非常受欢迎,以至于有几本书可供阅读。

鉴于此,完全没有理由继续使用ASIHTTPRequest. 我的原始答案在下面,所以如果您仍然感兴趣,请继续阅读 - 请记住,我现在毫无疑问地建议不要使用ASIHTTPRequest和使用更现代的东西(即AFNetworking,但其他选项可用)。

原始答案(2011 年 12 月)

你有多少时间?这是我的想法,尽管作为一个主观问题,我认为没有正确或错误的答案。

我带领一个开发团队为大型客户开发商业应用程序,我的一些同事一直在寻找可以使事情变得更容易的新库。目前我猜我们绝大多数的网络使用ASIHTTP. AFNetworking大约六个月前,我们看了看,当时决定我们会坚持我们所知道的。ASI 已经存在了一段时间,在线上有更多的文档和有用的建议可供使用。它是一个可靠的代码库,并且已经存在足够长的时间以赢得很多关注和尊重。

也就是说(希望那些不同意我上面所说的一切的人会继续阅读!),我认为如果你现在重新开始,是时候转向其他事情了。就连ASI的开发者也这么认为。考虑到 iOS 5 带来的所有变化,我认为像AFNetworking(以及其他选项,如 RestKit)这样的现代积极维护框架是一个不错的选择。

现在,您可以说有些人在他们的应用程序中使用 AFNetworking 时遇到了麻烦。但同样,快速的 google 会发现很多人对 ASI 有问题(有效与否)!我认为无论你使用什么框架,某个地方的某个人都会遇到麻烦,要么是因为框架存在真正的问题,要么是他们自己的局限性。

因此,考虑到所有这些,我想我会潜入 AFNetworking,看看你的进展如何!我的新年决心之一是迁移到一个新的网络库,我认为它可能是 AFNetworking。

来自作者的评论:

一点更新:我真的很喜欢使用 AFNetworking,并且在很多方面它比 ASI 好得多(可能不是正确的词:'refined',也许)。也就是说,您不应该期待“对喜欢”的替换,并且有些事情您可能需要考虑其他选项(例如,ASI 支持开箱即用的 Amazon S3)。但我通常很高兴,并发现它是一个清晰、有据可查的库。因此,如果您希望从 ASI 转移到其他领域,那么 AFNetworking 真的不会出错……

于 2011-12-26T18:24:15.920 回答
1

https://github.com/BoydYang/BYRequest BYRequest 基于 MKNetowrkKit,但它的工作方式类似于 ASIHttpRequest,因此您可以轻松地将项目从 ASIHttpRequest 迁移到 BYRequest 并享受 ARC。

于 2012-12-06T01:47:28.843 回答