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上犯错…
- AFNetworking将JSON数组作为多个单项词典发布
- 如何在AFNetworking 2.0中设置请求超时和caching策略?
- kCFStreamErrorDomainSSL,当通过iOS 9中的HTTPS通过IP地址连接到服务器时为-9802
- 使用带有AFNetworking的SSLSetEnabledCiphers来禁用弱密码
- 如何使用AFNetwork的AFHTTPRequestOperationManager设置HTTP请求正文?
- 当应用程序在后台时是否可以使用NSFileManager的`copyItemAtURL:toURL:error:`方法?
- 下载图像时调整UITableViewCell高度
- 如何使用AFNetworking为“PUT”请求设置数据?
- 在AFNetworking成功调用后self.tableView reloadData不工作