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.
- 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.
- iOS 8+
- Swift 3
- Xcode 8+
Gorgon is available through 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.
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.
WIP
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