我即将开发一个iPad应用程序,它有大量的后台线程网络调用。
我想知道哪一个更好? ASIHTTPRequest仍然有效,但没有维护。然而,很少有消息称AFNetworking框架会产生很多复杂因素。
答案 0 :(得分:52)
自从我最初写这个答案以来已经将近两年了,而且已经发生了很多变化。 AFNetworking
即将进入2.0版并且拥有一个蓬勃发展的开发者社区,而ASIHTTPRequest
几乎已经死了。此外,AFNetworking
还有许多优秀的帮助程序库和类可用于处理OAuth,Amazon S3等内容。它很受欢迎,上面有几本书。
鉴于此,没有理由继续使用ASIHTTPRequest
。我的原始答案如下,所以如果您仍然感兴趣,请继续阅读 - 请记住,我现在毫无疑问地建议不要使用ASIHTTPRequest
并使用更现代的东西(即AFNetworking
,但还有其他选择。)
你有多少时间?这是我的想法,虽然作为一个主观问题,我认为没有正确或错误的答案。
我领导一个开发团队,为大型客户开发商业应用程序,我的一些同事总是在寻找可以使事情变得更容易的新库。目前我猜绝大多数网络都使用ASIHTTP
。大约六个月前我们看了AFNetworking
,当时我们决定坚持我们所知道的。 ASI已经存在了一段时间,并且在线提供了更多的文档和有用的建议。它是一个坚实的代码库,并且已经存在很长时间以获得很多牵引力和尊重。
那说(希望那些不同意我上面所说的所有内容的人会继续阅读!),我想如果你现在重新开始,那么现在是时候继续做其他事了。甚至是developer of ASI thinks so。考虑到iOS 5带来的所有变化,我认为现代积极维护的框架如AFNetworking
(还有其他选项,如RestKit)是一个不错的选择。
现在,你说某些人在他们的应用程序中使用AFNetworking时遇到了麻烦。但同样,一个快速的谷歌揭示了许多ASI有问题的人(有效与否)!我认为无论你使用什么框架,某个的人都会遇到麻烦,无论是通过框架的真正错误还是他们自己的限制。
所以考虑到这一切,我想我会潜入AFNetworking,看看你是如何继续下去的!我的新年决议之一将是迁移到一个新的网络库,我认为它可能是AFNetworking。
来自作者的评论:
一点点更新:我真的很喜欢使用AFNetworking,并且在很多方面它比ASI要好得多(可能不是正确的词:'精致')。也就是说,你不应该期待一个“喜欢喜欢”的替代品,并且有些事情你可能想要考虑其他选项(亚马逊S3,例如ASI支持开箱即用)。但我一般都非常高兴,并且发现它是一个清晰,文档齐全的库。因此,如果您希望从ASI转移到其他地方,那么AFNetworking真的不会出错......
答案 1 :(得分:1)
https://github.com/BoydYang/BYRequest BYRequest基于MKNetowrkKit,但它的工作方式类似于ASIHttpRequest,因此您可以轻松地将项目从ASIHttpRequest迁移到BYRequest,并享受ARC。