Skip to content

locationlabs/Gorgon

Repository files navigation

Gorgon

Build Status

Gorgon is lightweight abstraction for distributing the responsibility of the UIApplicationDelegate into several single responsibility daemons.

In operating system computing, a daemon is a process that runs in the background rather than being controlled by the user. Gorgon borrows from this concept to break up the UIApplicationDelegate that responds to the UIApplication singleton events into daemons which are started when the application starts (therefore exist for the life of the application) and wait to be triggered by the DaemonManager. The user never interacts with the daemons directly.

Features

  • Breaks up UIApplicationDelegate across several single responsibility classes.
  • Handles delegation of system application events to respective daemon types.

Gorgon works best when used with Cobra, an application routing framework written in Swift and Mocassin, Xcode templates that provides a variation of VIPER architecture for iOS applications.

See Boa, a sample app written in Swift, for details.

Requirements

  • iOS 8+
  • Swift 3
  • Xcode 8+

Installation

Gorgon is available through CocoaPods.

CocoaPods

To install Gorgon with CocoaPods, add the following lines to your Podfile.

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

pod 'Gorgon', '~> 4.0'

Then run pod install command. For details of the installation and usage of CocoaPods, visit its official website.

Carthage

To install Gorgon with Carthage, add the following line to your Cartfile.

github "locationlabs/Gorgon" ~> 4.0

Then run carthage update. For details of the installation and usage of Carthage, visit its project page.

Documentation

WIP

TODO

This is the initial port of an internal framework developed at Location Labs for building modular iOS applications. Be it that this library used to be used internally there are things that haven't been implemented yet...

  • Documentation
  • Installation guide
  • More unit tests
  • Swift Package Manager support
  • TvOS, WatchOS, MacOS support
  • Swiftlint support
  • Provide contribution guidelines

About

Gorgon is lightweight abstraction for distributing application events across several single responsibility "daemons"

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •