YTKNetwork alternatives and similar libraries
Based on the "Networking" category.
Alternatively, view YTKNetwork alternatives based on common mentions on social networks and blogs.
-
AFNetworking
A delightful networking framework for iOS, macOS, watchOS, and tvOS. -
CocoaAsyncSocket
Asynchronous socket networking library for Mac and iOS -
RestKit
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X -
Reachability.swift
Replacement for Apple's Reachability re-written in Swift with closures -
ASIHTTPRequest
Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone -
apollo-ios
📱 A strongly-typed, caching GraphQL client for iOS, written in Swift. -
swift-protobuf
Plugin and runtime library for using protobuf with Swift -
Netfox
A lightweight, one line setup, iOS / OSX network debugging library! 🦊 -
RealReachability
We need to observe the REAL reachability of network. That's what RealReachability do. -
MonkeyKing
MonkeyKing helps you to post messages to Chinese Social Networks. -
SwiftHTTP
Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. -
APIKit
Type-safe networking abstraction layer that associates request type with response type. -
ResponseDetective
Sherlock Holmes of the networking layer. :male_detective: -
Networking
Easy HTTP Networking in Swift a NSURLSession wrapper with image caching support -
XMNetworking
A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. -
Pitaya
🏇 A Swift HTTP / HTTPS networking library just incidentally execute on machines -
SPTDataLoader
The HTTP library used by the Spotify iOS client -
Reach
A simple class to check for internet connection availability in Swift. -
Digger
Digger is a lightweight download framework that requires only one line of code to complete the file download task -
SOAPEngine
This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app. -
TRON
Lightweight network abstraction layer, written on top of Alamofire -
TWRDownloadManager
A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. -
Transporter
A tiny library makes uploading and downloading easier -
Restofire
Restofire is a protocol oriented networking client for Alamofire -
ws ☁️
⚠️ Deprecated - (in favour of Networking) :cloud: Elegantly connect to a JSON api. (Alamofire + Promises + JSON Parsing) -
EVURLCache
a NSURLCache subclass for handling all web requests that use NSURLRequest -
AFNetworking+RetryPolicy
Nice category that adds the ability to set the retry interval, retry count and progressiveness. -
MultiPeer
📱📲 A wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices -
AFNetworking-Synchronous
Synchronous requests for AFNetworking 1.x, 2.x, and 3.x -
ROADFramework
ROAD – Rapid Objective-C Applications Development
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of YTKNetwork or a related project?
README
YTKNetwork
What
YTKNetwork is a high level request util based on AFNetworking. It's developed by the iOS Team of YuanTiKu. It provides a High Level API for network request.
YTKNetwork is used in all products of YuanTiKu, including: YuanTiKu, YuanSoTi, YuanFuDao, FenBiZhiBoKe.
[中文说明](Docs/README_cn.md)
Features
- Response can be cached by expiration time
- Response can be cached by version number
- Set common base URL and CDN URL
- Validate JSON response
- Resume download
block
anddelegate
callback- Batch requests (see
YTKBatchRequest
) - Chain requests (see
YTKChainRequest
) - URL filter, replace part of URL, or append common parameter
- Plugin mechanism, handle request start and finish. A plugin for show "Loading" HUD is provided
Who
YTKNetowrk is suitable for a slightly more complex project, not for a simple personal project.
YTKNetwork is helpful if you want to cache requests, manage the dependences of requests, or validate the JSON response. And if you want to cache requests based on request version, this is one of the greatest advantages of YTKNetwork.
Why
YTKNetwork provides YTKRequest to handle every network request. You should inherit it and override some methods to define custom requests in your project.
The main idea is use the Command Pattern. The benefits are:
- Your code is decoupled to detail network request framework, it's easy to replace it. Actually, YTKNetwork is originally based on ASIHttpRequest, we just spent two days to switch to AFNetworking.
- Handle common logic in base class.
- Easier Persistence
But YTKNetwork is not suitable if your project is very simple. You can use AFNetworking directly in controller.
Installation
To use YTKNetwork add the following to your Podfile
pod 'YTKNetwork'
Or add this in your Cartfile:
github "yuantiku/YTKNetwork" ~> 3.0
Requirements
YTKNetwork Version | AFNetworking Version | Minimum iOS Target | Note |
---|---|---|---|
3.x | 4.x | iOS 9 | Xcode 11+ is required. |
2.x | 3.x | iOS 7 | Xcode 7+ is required. |
1.x | 2.x | iOS 6 | n/a |
YTKNetwork is based on AFNetworking. You can find more detail about version compatibility at AFNetworking README.
Guide & Demo
- [Basic Usage Guide](Docs/BasicGuide_en.md)
- [YTKNetwork 2.0 Migration Guide(Simplified Chinese)](Docs/2.0_MigrationGuide_cn.md)
Contributors
Acknowledgements
Thanks for their great work.
License
YTKNetwork is available under the MIT license. See the LICENSE file for more info.
<!-- external links -->
*Note that all licence references and agreements mentioned in the YTKNetwork README section above
are relevant to that project's source code only.