【发布时间】:2011-12-26 14:00:12
【问题描述】:
我即将为 iPad 开发一个应用程序,它有大量的后台线程网络调用。
我想知道哪个会更好? ASIHTTPRequest 仍然有效,但未维护。然而,很少有消息称 AFNetworking 框架会带来很多复杂性。
【问题讨论】:
标签: iphone objective-c ios asihttprequest afnetworking
我即将为 iPad 开发一个应用程序,它有大量的后台线程网络调用。
我想知道哪个会更好? ASIHTTPRequest 仍然有效,但未维护。然而,很少有消息称 AFNetworking 框架会带来很多复杂性。
【问题讨论】:
标签: iphone objective-c ios asihttprequest afnetworking
自从我最初写这个答案以来已经快两年了,而且发生了很多变化。 AFNetworking 即将进入 2.0 版并拥有一个蓬勃发展的开发者社区,而 ASIHTTPRequest 几乎已经死了。此外,AFNetworking 有许多出色的帮助库和类可用于处理 OAuth、Amazon S3 等。它非常受欢迎,以至于有几本书可供阅读。
鉴于此,完全没有理由继续使用ASIHTTPRequest。我的原始答案在下面,所以如果您仍然感兴趣,请继续阅读 - 请记住,我现在毫无疑问地建议不要使用 ASIHTTPRequest 并使用更现代的东西(即 AFNetworking,但其他选项是可用)。
你有多少时间?这是我的想法,虽然作为一个主观问题,我认为没有正确或错误的答案。
我领导的开发团队为大型客户开发商业应用程序,我的一些同事一直在寻找可以让事情变得更轻松的新库。目前我猜我们的绝大多数网络都使用ASIHTTP。大约六个月前,我们查看了AFNetworking,并决定当时我们会坚持我们所知道的。 ASI 已经存在了一段时间,在线上有更多的文档和有用的建议可供使用。它是一个可靠的代码库,并且已经存在足够长的时间以赢得很多关注和尊重。
也就是说(希望那些不同意我上面所说的一切的人会继续阅读!),我认为如果你现在重新开始,是时候继续做其他事情了。甚至developer of ASI thinks so。鉴于 iOS 5 带来的所有变化,我认为像 AFNetworking (以及其他选项,如 RestKit)这样的现代积极维护框架是一个不错的选择。
现在,您可以说有些人在他们的应用程序中使用 AFNetworking 时遇到了问题。但同样,快速的 google 会发现很多人对 ASI 有问题(有效与否)!我认为无论您使用哪种框架,有人在某个地方都会遇到麻烦,要么是由于框架存在真正的问题,要么是他们自身的局限性。
因此,考虑到所有这些,我想我会潜入 AFNetworking,看看你的进展如何!我的新年决心之一是迁移到一个新的网络库,我认为它可能是 AFNetworking。
来自作者的评论:
一点更新:我真的很喜欢使用 AFNetworking,而且在很多方面它都比 ASI 好得多(可能不是正确的词:'refined',也许)。也就是说,您不应该期待“对喜欢”的替换,并且有些事情您可能需要考虑其他选项(例如,ASI 支持开箱即用的 Amazon S3)。但我通常很高兴,并发现它是一个清晰、有据可查的库。因此,如果您希望从 ASI 转移到其他领域,那么 AFNetworking 真的不会出错...
【讨论】:
AFNetworking,而且在很多方面它都比 ASI 好得多(可能不是正确的词:'refined',也许)。也就是说,您不应该期待“对喜欢”的替换,并且有些事情您可能需要考虑其他选项(例如,ASI 支持开箱即用的 Amazon S3)。但我通常很高兴,并发现它是一个清晰、有据可查的库。因此,如果您希望从 ASI 转移到其他领域,那么 AFNetworking 真的不会出错...
https://github.com/BoydYang/BYRequest BYRequest 基于 MKNetowrkKit,但它的工作方式类似于 ASIHttpRequest,因此您可以轻松地将项目从 ASIHttpRequest 迁移到 BYRequest 并享受 ARC。
【讨论】: