Typhoon alternatives and similar libraries
Based on the "API" category.
Alternatively, view Typhoon alternatives based on common mentions on social networks and blogs.
-
Dip
Simple Swift Dependency container. Use protocols to resolve your dependencies and avoid singletons / sharedInstances! -
Telegram Vapor Bot (SDK for creating Telegram Bots in Swift)
🤖 The wrapper for the Telegram Bot API written in Swift. It's not a framework. There is no special syntax here. This is a library that implements all Telegram Bot API methods, which is available to you to work with Vapor, Smoke, Hummingbird, FlyingFox. -
Federal Data SDK
DISCONTINUED. Federal Data SDK built in the Swift programming language. Follow the link for the documentation: -
Kraken
Simple Dependency Injection container for Swift. Use protocols to resolve dependencies with easy-to-use syntax! -
PPWeatherCheck
Incorporate with CoreLocation, Cocoapods, REST APIs, Alamofire, JSON, and UI Animation to Create a Weather Check Application.
InfluxDB - Purpose built for real-time analytics at any scale.
* 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 Typhoon or a related project?
Popular Comparisons
README
Typhoon
Powerful dependency injection for Cocoa and CocoaTouch. Lightweight, yet full-featured and super-easy to use.
Not familiar with Dependency Injection?
Visit the Typhoon website for an introduction. There's also a nice intro over at Big Nerd Ranch, or here's an article, by John Reid. Quite a few books have been written on the topic, though we're not familiar with one that focuses specifically on Objective-C, Swift or Cocoa yet.
Is Typhoon the right DI framework for you?
Check out the feature list.
Looking for a pure Swift Solution?
Typhoon uses the Objective-C runtime to collect metadata and instantiate objects. It powers thousands of Objective-C applications and is also pretty popular for Swift. Nonetheless there are some advantages to using a pure Swift library.
- Weaver is a good compile time DI library for Swift.
- Fiery Crucible is also an excellent light-weight (just one file) and very straight-forward DI library for Swift.
Both of the above solutions have the 'ObjectGraph' scope (you can read more about it in the docs), which provides a way to assemble a complex object-graph from a blue-print and then retain it as long as needed. This scope was introduced by Typhoon, and is an important consideration for mobile and desktop apps. Moreover, scope management is one of the main advantages to simply applying the DI pattern 'by hand'.
Please think carefully before choosing a DI library that forces you to write complex adapters, modify your code or tightly couple it to a library. It shouldn't be more complicated than understanding and applying the pattern without a supporting framework.
Usage
- Read the Quick Start for Objective-C or Swift.
- Here's the User Guide.
- 日本のドキュメンテーション
let assembly = MyAssembly().activated()
let viewController = assembly.recommendationController() as! RecommendationController
Open Source Sample Applications
- Try the official Swift Sample Application or Objective-C Sample Application.
- This sample shows how to set up Typhoon with Storyboards, Core Data and Reactive Cocoa.
Have a Typhoon example app that you'd like to share? Great! Get in touch with us :)
Installing
Typhoon is available through CocoaPods or Carthage, and also builds easily from source.
With CocoaPods . . .
Static Library
# platform *must* be at least 5.0
platform :ios, '5.0'
target :MyAppTarget, :exclusive => true do
pod 'Typhoon'
end
Dynamic Framework
If you're using Swift, you may wish to install dynamic frameworks, which can be done with the Podfile shown below:
# platform *must* be at least 8.0
platform :ios, '8.0'
# flag makes all dependencies build as frameworks
use_frameworks!
# framework dependencies
pod 'Typhoon'
Simply import the Typhoon module in any Swift file that uses the framework:
import Typhoon
With Carthage
github "appsquickly/Typhoon"
From Source
Alternatively, add the source files to your project's target or set up an Xcode workspace.
NB: All versions of Typhoon work with iOS5 and up (and OSX 10.7 and up), iOS8 is only required if you wish to use dynamic frameworks.
Feedback
I'm not sure how to do [xyz]
If you can't find what you need in the Quick Start or User Guides above, then Typhoon users and contributors monitor the Typhoon tag on Stack Overflow. Chances are your question can be answered there.
I've found a bug, or have a feature request
Please raise a GitHub issue.
Interested in contributing?
Great! Here's the contribution guide.
I'm blown away!
Typhoon is a non-profit, community driven project. We only ask that if you've found it useful to star us on Github or send a tweet mentioning us (@appsquickly). If you've written a Typhoon related blog or tutorial, or published a new Typhoon powered app, we'd certainly be happy to hear about that too.
Typhoon is sponsored and led by AppsQuick.ly with contributions from around the world.
© 2012 - 2015 Jasper Blues, Aleksey Garbarev and contributors.
*Note that all licence references and agreements mentioned in the Typhoon README section above
are relevant to that project's source code only.