ASIHTTPRequest vs AFNetworking框架

我即将开发iPad的应用程序,它有大量的后台线程networking调用。

我想知道哪一个会更好? ASIHTTPRequest仍然有效,但不能保持。 但是很less有消息说AFNetworking框架会产生很多复杂的问题。

更新(2013年9月)

自从我写这个答案已经过去将近两年了,现在已经发生了很多变化。 AFNetworking即将进入2.0版,并拥有蓬勃发展的开发者社区,而ASIHTTPRequest已经非常糟糕。 此外, AFNetworking有几十个伟大的帮助程序库和类可用于处理OAuth,Amazon S3等类似的东西。 它很受欢迎,有几本书可用。

鉴于此,没有任何理由继续使用ASIHTTPRequest 。 我原来的答案是在下面,所以如果你仍然有兴趣阅读 – 只是要记住,我现在推荐毫无疑问不使用ASIHTTPRequest和更现代的东西(即AFNetworking ,但其他选项可用)。

原答复(2011年12月)

你有多less时间? 这是我的想法,虽然作为一个主观的问题,我不认为有一个正确或错误的答案。

我领导一个开发团队,为大型客户开发商业应用程序,而我的一些同事总是在寻找新的库,这可以让事情变得更容易。 目前我猜绝大部分的networking都使用ASIHTTP 。 我们在六个月前看了一下AFNetworking ,并决定在那时候坚持我们所知道的。 ASI已经有一段时间了,在线上有更多的文档和有用的build议。 这是一个坚实的代码库,并且已经足够长,获得了很多的牵引力和尊重。

这就是说 (希望那些不同意我以上所说的一切的人都会阅读!),我想如果你现在重新开始,那么现在是时候转向别的东西了。 即使是ASI的开发者也这样认为 。 考虑到iOS 5所带来的所有变化,我认为像AFNetworking这样的现代主动维护的框架(还有其他的select,比如RestKit)是一个不错的select。

现在,你说得有些人在使用AFNetworking时遇到了麻烦。 但同样,一个快速的谷歌揭示了许多有问题的ASI(有效或没有)! 我认为无论你采用什么框架,某个地方的人都会遇到麻烦,要么是通过框架的真正错误,要么是他们自己的局限性。

所以考虑到这一切,我想我会深入AFNetworking,看看你如何继续! 我的新年决议之一将是迁移到一个新的networking库,我想这可能是AFNetworking。

来自作者的评论:

稍微更新一下:其实我真的很喜欢使用AFNetworking,在很多方面,它比ASI好得多(可能不是正确的词:可能是精炼的)。 也就是说,你不应该期待一个“喜欢replace”的东西,并且有些东西你可能想要考虑其他的select(例如Amazon S3,ASI支持开箱即用)。 但我通常很高兴,并find一个清晰,有据可查的图书馆。 所以如果你想从ASI转移到别的东西,那么你真的不能在AFNetworking上犯错…