kronik / remote

Remote is a highly decoupled networking layer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remote

Remote is a highly decoupled/isolated and testable networking layer written in Swift.

Architecture Design

Current version is based upon the network architecture design described in:

  • Atlas networking layer: link
  • The complete guide to Network Unit Testing in Swift: link
  • Network Layers in Swift: link
  • Ultimate Guide to JSON Parsing with Swift 4: link
  • Under the hood of Futures & Promises in Swift link

Used Libraries

In order to give a complete out-of-box approach I’ve used the following libraries:

  • Reactive Programming in Swift: As a callback hell solution RxSwift
  • Realm: Caching realm.io

Installation

You can install Swiftline using CocoaPods, carthage and Swift package manager

CocoaPods

use_frameworks!
pod 'Remote'

Carthage

github 'dev4jam/Remote'

Swift Package Manager

Add swiftline as dependency in your Package.swift

import PackageDescription

let package = Package(name: "YourPackage",
dependencies: [
.Package(url: "https://github.com/dev4jam/Remote.git", majorVersion: 0),
]
)

About

Remote is a highly decoupled networking layer

License:MIT License


Languages

Language:Swift 96.7%Language:Ruby 2.4%Language:Objective-C 0.9%