Popularity
8.3
Stable
Activity
3.8
Declining
1,862
58
197

Code Quality Rank: L5
Programming language: Swift
License: GNU General Public License v3.0 or later
Tags: Networking    
Latest version: v5.1.0

APIKit alternatives and similar libraries

Based on the "Networking" category.
Alternatively, view APIKit alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of APIKit or a related project?

Add another 'Networking' Library

README

APIKit

Build Status codecov Carthage compatible Version Platform Swift Package Manager

APIKit is a type-safe networking abstraction layer that associates request type with response type.

// SearchRepositoriesRequest conforms to Request protocol.
let request = SearchRepositoriesRequest(query: "swift")

// Session receives an instance of a type that conforms to Request.
Session.send(request) { result in
    switch result {
    case .success(let response):
        // Type of `response` is `[Repository]`,
        // which is inferred from `SearchRepositoriesRequest`.
        print(response)

    case .failure(let error):
        self.printError(error)
    }
}

Requirements

  • Swift 5.0 or later
  • iOS 8.0 or later
  • Mac OS 10.10 or later
  • watchOS 2.0 or later
  • tvOS 9.0 or later

If you use Swift 2.2 or 2.3, try APIKit 2.0.5.

If you use Swift 4.2 or before, try APIKit 4.1.0.

Installation

Carthage

  • Insert github "ishkawa/APIKit" ~> 5.0 to your Cartfile.
  • Run carthage update.
  • Link your app with APIKit.framework in Carthage/Build.

CocoaPods

  • Insert pod 'APIKit', '~> 5.0' to your Podfile.
  • Run pod install.

Note: CocoaPods 1.4.0 is required to install APIKit 5.

Documentation

  • [Getting started](Documentation/GettingStarted.md)
  • [Defining Request Protocol for Web Service](Documentation/DefiningRequestProtocolForWebService.md)
  • [Convenience Parameters and Actual Parameters](Documentation/ConvenienceParametersAndActualParameters.md)

Advanced Guides

  • [Customizing Networking Backend](Documentation/CustomizingNetworkingBackend.md)

Migration Guides

  • [APIKit 3 Migration Guide](Documentation/APIKit3MigrationGuide.md)
  • [APIKit 2 Migration Guide](Documentation/APIKit2MigrationGuide.md)