【问题标题】:Swift Alamofire VS AFNetworkingSwift Alamofire VS AFNetworking
【发布时间】:2016-01-04 11:01:49
【问题描述】:

我正在使用 Swift 开发应用程序。我想调用一个 REST API。我发现有两个流行的库,AFNetworking 和 Alamofire。但我不知道哪个更好(更受欢迎或有更多功能)。

谁能建议 Alamofire 和 AFNetworking 之间的主要区别是什么?

【问题讨论】:

  • 两者相等。对于 Swift,您可以使用 Alamofire,对于 Objective-C,您可以使用 AFNetworking。
  • 尝试两者并为您的应用程序进行基准测试。如果您没有使用很多功能,请根据基准编写您自己的功能并消除臃肿。

标签: ios swift afnetworking alamofire


【解决方案1】:

如果您使用 Objective-C,请使用 AFNetworking

如果您使用 Swift,请使用 Alamofire

【讨论】:

  • @Puvanarajan 哪种方法?
  • 如果你正在构建一个同时使用 Objective C 和 swift 的应用程序会怎样
  • @hariszaman 我建议使用 Alamofire,然后为目标 C 代码库使用桥接器。 developer.apple.com/library/ios/documentation/Swift/Conceptual/…
  • @Arsen 它不能开箱即用,您必须实现一些包装器
  • Alamofire 并不提供所有功能。
【解决方案2】:

AFNetworkingAlamofire 是同一个人(Alamofire Software Foundation),Alamofire 是他们的 Swift 版本,而 AFNetworking 是 Objective-C 版本。

在功能方面它们是相同的。

【讨论】:

  • +1 用于解决 OP 的实际问题(主要区别是什么)并提供比接受的答案更多的信息。
【解决方案3】:

如果您使用Objective-C 开发应用程序,那么您必须使用AFNetworking.

如果您正在使用Swift 进行开发,那么请尝试最新版本的Alamofire.

在这两个库中,网络都是异步完成的。唯一不同的是,由于缺乏对框架的支持,iOS 7 不再支持 Alamofire。

【讨论】:

    【解决方案4】:

    AFNetworking:

    • 这是库的目标 -C 版本。
    • 这非常强大,您可以将它安装在您的 Swift 项目中,并将其用作 Swift 项目的桥梁。

    阿拉莫菲尔:

    • 这是 AFNetworking 的 Swift 版本。
    • 但并非 AFNetworking 的所有功能都包含在内。

    如果您擅长 Objective-C,请使用 AFNetworking。如果没有,请使用 Alamofire。它很简单,并且有许多可用于 Swift 的资源。

    【讨论】:

      【解决方案5】:

      AFNetworking 是一个用于 iOS、macOS 和 tvOS 的 Objective-C 网络库。它是一个强大的库,已经存在多年。从基本网络到网络可达性和 SSL Pinning 等高级功能,AFNetworking 应有尽有。它是有史以来最受欢迎的 iOS 库之一,下载量接近 5000 万次。

      Alamofire 是 AFNetworking 的继任者,但使用 Swift 编写。这两个库共享相似的功能集,主要区别在于编写它们的语言。

      如果您正在开始一个全新的 Swift 项目,我的建议是使用 Alamofire,以便您的核心网络库与您自己的源代码保持一致。否则,AFNetworking 和 Alamofire 都是不错的选择。

      来源:雷文德利希

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-26
        • 1970-01-01
        • 2015-07-08
        • 1970-01-01
        • 2017-06-02
        • 2017-10-27
        • 1970-01-01
        相关资源
        最近更新 更多