MKNetworkKit和AFNetworking有哪些区别?

23

我正在对这两个网络框架进行测试:MKNetworkKit和AFNetworking。我发现很难看出这两个库之间的区别。它们之间的主要区别是什么?

1个回答

29

MKNetworkKit:

  • 包含磁盘缓存。
  • 冻结操作(离线请求可以排队等待,在网络恢复时执行)。
  • 更加轻量级。

AFNetworking:

  • 拥有更多用户和贡献者。
  • 文档更好(更清晰易懂、更容易获取)。
  • 可使用 UIImageView+AFNetworking 进行延迟加载图片(在 MKNK 中也可能实现,但更麻烦)。
  • 标准的编码风格(类似于 Apple 的编码风格)。
  • 更好地利用 SDK 对象(符合 NSCoding 规范)。
  • 具有极其丰富的额外功能和扩展(例如网络可达性、流式多部分表单请求、后台支持等)。
  • 拥有一个漂亮的项目标志。 ;-)

还有其他需要吗?


7
AFNetworking可以与NSURLRequest类一起使用缓存。就我个人而言,MKNetworkKit具有非常奇怪的面向对象结构,而AFNetworking是更好的解决方案,因为它能够提供长期支持(MKNetworkKit只是一个人的作品,而AFNetworking来自Gowalla)。 - CarlJ
10
AFNetworking还有许多其他功能,比如网络可达性、流式分段表单请求、后台支持以及数十个扩展生态系统等等。但我想指出的是,AFN还具有磁盘缓存和操作冻结功能(暂停/继续以及符合NSCoding标准)。FWIW。 - mattt
1
此外,就我所知,MKNetworkKit的代码看起来更加粗心和匆忙。编码风格不标准(空格使用),其中一个主要类只有一半的代码被分成#pragma部分,另一半则全部混在文件顶部。 - occulus
1
此外,在注释中使用脏话永远不会留下好印象。我在看你,MKNetworkKit。 - occulus
AFNetworking的代码通常更加圆润。例如,一些主要类实现了NSCoding协议。并且提供了调用DELETE、POST等方法的帮助方法。 - occulus
我不知道在注释中使用脏话是否会让我感到困扰。但是如果没有提供任何支持的情况下对此进行评论,那就会让我感到困扰! - Rupert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接