Latest 2.0.0
License MIT Copyright 2017 Dev4Jam
Platforms ios 10.3, requires ARC
Dependencies When
Frameworks Foundation

RemotePlatform: iOS 10+Language: Swift 4.0
License: MITCarthage compatible

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


  • Simple and customizable implementation
  • Easy to integrate and use
  • Clean and Neat implementation (SOLID principles)
  • Based on pure NSURLSession with no obscured code
  • Flexible response parser
  • Swift4 Codable/Decodable protocols oriented

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


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


pod 'Remote'


github 'dev4jam/Remote'

Swift Package Manager

Add swiftline as dependency in your Package.swift

import PackageDescription

let package = Package(name: "YourPackage",
dependencies: [
    .Package(url: "", majorVersion: 0),

Latest podspec

    "name": "Remote",
    "version": "2.0.0",
    "license": {
        "type": "MIT",
        "file": "LICENSE",
        "text": "Copyright 2017 Dev4Jam"
    "summary": "Remote is a highly decoupled networking layer",
    "homepage": "",
    "authors": {
        "Dev4Jam": "[email protected]"
    "social_media_url": "",
    "source": {
        "git": "",
        "branch": "master",
        "tag": "2.0.0"
    "source_files": "Remote/*.swift",
    "platforms": {
        "ios": "10.3"
    "requires_arc": true,
    "frameworks": "Foundation",
    "dependencies": {
        "When": []

Pin It on Pinterest

Share This