web-dev-qa-db-ja.com

ASIHTTPRequestとAFNetworkingフレームワーク

IPad用のアプリケーションを開発しようとしていますが、バックグラウンドスレッドネットワーク呼び出しが大量にあります。

どちらが良いか知りたいのですが? ASIHTTPRequestは引き続き機能しますが、維持されません。ただし、AFNetworkingフレームワークが多くの問題を引き起こすと言う情報源はほとんどありません。

30
TeaCupApp

更新(2013年9月)

私が最初にこの回答を書いてから2年近く経ちましたが、かなりの変化がありました。 AFNetworkingはバージョン2.0に移行しようとしており、活発な開発者コミュニティがありますが、ASIHTTPRequestはほとんど死んでいます。さらに、AFNetworkingには、OAuthやAmazonS3などを処理するために利用できる多数の優れたヘルパーライブラリとクラスがあります。とても人気があるので、数冊の本があります。

これを考えると、ASIHTTPRequestを使い続ける理由はまったくありません。私の元の答えは以下のとおりです。それでも興味がある場合は、読んでください。間違いなくASIHTTPRequestを使用せず、より新しいもの(つまり、AFNetworkingですが、他のオプションも利用可能です)を使用することをお勧めします。

元の回答(2011年12月)

どれくらいの時間がありますか?これが私の考えですが、主観的な質問として、正しい答えも間違った答えもあるとは思いません。

私はかなりの規模のクライアント向けの商用アプリに取り組む開発チームを率いています。同僚の何人かは、物事を簡単にすることができる新しいライブラリを常に探しています。現在、私たちのネットワークの大部分はASIHTTPを使用していると思います。約6か月前にAFNetworkingを調べ、その時点で私たちが知っていることに固執することにしました。 ASIはしばらく前から存在しており、オンラインで利用できるドキュメントや役立つアドバイスははるかにたくさんあります。それは堅実なコードベースであり、多くの牽引力と尊敬を得るのに十分長い間存在していました。

そうは言った(そしてうまくいけば、私が上で言ったことすべてに同意しない人々が読んでくれるでしょう!)、あなたが今新たに始めているのなら、他の何かに移る時間。 ASIの開発者もそう思います 。 iOS 5に伴うすべての変更を考えると、AFNetworking(およびRestKitなどの他のオプションがあります)のような最新のアクティブに維持されているフレームワークが良い選択だと思います。

さて、あなたは何人かの人々が彼らのアプリケーションでAFNetworkingを使用するのに問題があると言うのは正しいです。しかし、同様に、簡単なグーグルは、ASIに問題を抱えていた多くの人々を明らかにします(有効かどうか)!どのフレームワークを使用する場合でも、誰かどこかが、フレームワークの真の問題または独自の制限のいずれかによって、問題を抱えていると思います。

ですから、これらすべてを念頭に置いて、AFNetworkingに飛び込んで、どのように進むかを見てみようと思います。私の新年の決議の1つは、新しいネットワークライブラリに移行することであり、おそらくAFNetworkingになると思います。

作者のコメントから:

ちょっとした更新:私は実際にAFNetworkingの使用を本当に楽しんでおり、多くの点でASIよりもかなり優れています(おそらく正しい単語ではありません:「洗練された」)。とは言うものの、「like for like」の置き換えを期待してそれに入る必要はなく、他のオプションを検討したいことがあります(たとえば、ASIがすぐにサポートしたAmazon S3)。しかし、私は一般的に本当に満足しており、それが明確で十分に文書化されたライブラリであることがわかります。したがって、ASIから他の何かに移行しようとしているのであれば、AFNetworkingで間違いはありません...

52
lxt

https://github.com/BoydYang/BYRequest MKNetowrkKitに基づくBYRequestですが、ASIHttpRequestのように機能するため、プロジェクトをASIHttpRequestからBYRequestに簡単に移行し、ARCを楽しむこともできます。

1
user377808