30 votes

ASIHTTPRequest vs AFNetworking framework

Je suis sur le point de développer une application pour iPad et elle contient énormément d'appels réseau de threads d'arrière-plan.

J'aimerais savoir lequel sera le meilleur? ASIHTTPRequest fonctionne toujours mais n'est pas maintenu. Cependant, peu de sources affirment que le cadre AFNetworking crée de nombreuses complications.

52voto

lxt Points 22990

Mise À Jour (Septembre 2013)

Cela fait presque deux ans que je l'ai d'abord écrit cette réponse, et beaucoup de choses ont changé. AFNetworking est sur le point de passer en version 2.0 et a l'essor d'une communauté de développeurs, alors que ASIHTTPRequest est assez mort. En outre, AFNetworking a des dizaines de grandes bibliothèques d'assistance et de classes disponibles pour la manutention des choses comme OAuth, Amazon S3, et la comme. Il est tellement populaire qu'il ya plusieurs livres disponibles sur elle.

Compte tenu de cela, il n'y a aucune raison de continuer à l'utiliser ASIHTTPRequest. Ma réponse est ci-dessous, donc si vous êtes toujours intéressé, lisez - il suffit de garder à l'esprit, je voudrais maintenant à recommander sans doute pas à l'aide de ASIHTTPRequest et aller avec quelque chose de plus moderne (à savoir, AFNetworking, mais d'autres options sont disponibles).

Origine De La Réponse (Décembre 2011)

Combien de temps avez-vous? Voici mes pensées, même si, comme l'une subjective de la question, je ne pense pas qu'il y ait une bonne ou de mauvaise réponse.

Je dirige une équipe de développement qui travaille sur des applications commerciales d'importants clients, et certains de mes collègues sont toujours à l'affût de nouvelles bibliothèques qui peuvent rendre les choses plus faciles. Actuellement, je suppose que la grande majorité de notre réseau utilise ASIHTTP. Nous avons pris un coup d'oeil à l' AFNetworking il y a six mois, et a décidé à l'époque nous coller avec ce que nous savons. ASI a été autour pendant un certain temps, et il y a beaucoup plus de documentation et de conseils utiles, disponibles en ligne pour cela. C'est une solide base de code, et a été autour assez longtemps pour avoir gagné beaucoup de traction et le respect.

Cela dit (et j'espère que les gens qui sont en désaccord avec tout ce que j'ai dit ci-dessus va à lire!), Je pense que si vous êtes repartir maintenant il est temps de passer à autre chose. Même le développeur de l'ASI le pense. Compte tenu de tous les changements qui viennent avec iOS 5, je pense qu'un moderne activement maintenu cadre comme AFNetworking (et il y a d'autres options, comme RestKit) est un bon choix.

Maintenant, vous avez raison de dire que certaines personnes ont de la difficulté à utiliser AFNetworking dans leur application. Mais aussi, un rapide google révèle que de nombreux des gens qui avaient des problèmes avec l'ASI (valide ou non)! Je pense que ce que cadre de que vous allez avec, quelqu'un , quelque part aura eu de la difficulté avec elle, soit par le biais de quelque chose de vrai de mal avec le cadre ou à leurs propres limites.

Donc, avec tout cela à l'esprit, je pense que je ferais plonger dans la AFNetworking, et de voir comment vous vous y prenez! Une de mes résolutions de nouvelle année sera pour migrer vers un nouveau réseau de la bibliothèque, et je pense qu'il sera probablement AFNetworking.

De l'Auteur du Commentaire:

Une petite mise à jour: en fait, j'ai vraiment apprécié l'aide de AFNetworking, et dans de nombreux égards, c'est nettement mieux (sans doute pas le bon mot: 'raffinement", peut-être) de l'ASI. Cela dit, vous ne devriez pas entrer dans l'attendait un périmètre comparable de remplacement, et il ya certaines choses que vous voudrez à examiner d'autres options pour (Amazon S3, qui ASI pris en charge hors de la boîte, par exemple). Mais je suis vraiment heureux, et de trouver un clair, bien documenté de la bibliothèque. Donc, si vous cherchez à passer de l'ASI pour quelque chose d'autre, vous ne pouvez vraiment pas vous tromper avec AFNetworking...

1voto

user377808 Points 128

https://github.com/BoydYang/BYRequest BYRequest basé sur MKNetowrkKit, mais cela fonctionne comme ASIHttpRequest, vous pouvez donc facilement migrer votre projet d'ASIHttpRequest vers BYRequest et profiter également d'ARC.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X