Giter VIP home page Giter VIP logo

typhoon's Introduction

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 works with Swift, but is written in Objective-C and uses the Objective-C runtime for reflection, injection and instrumenting assemblies. We think Typhoon is an excellent option if you need Dependeny Injection in your Swift projects, however we're happy to announce that we've been working on a pure Swift framework! If you've used Typhoon in the past, our Swift library will feel very familiar yet completely harmonious with static, idiomatic Swift.

We didn't want to create a pure Swift version of Typhoon unless it would be better in every way, so it has been a while coming. But when it comes to performance the new library is as Swift as hell :)


Usage

let assembly = MyAssembly().activated()
let viewControler = assembly.recommendationController() as! RecommendationController

Open Source Sample Applications

Have a Typhoon example app that you'd like to share? Great! Get in touch with us :)

Installing

CocoaPods Version Pod Platform Carthage compatible Dependency Status Pod License

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 lead by AppsQuick.ly with contributions from around the world.


© 2012 - 2015 Jasper Blues, Aleksey Garbarev and contributors.

typhoon's People

Contributors

jasperblues avatar alexgarbarev avatar rhgills avatar nickynick avatar drodriguez avatar mbaltaks avatar dani-gavrilov avatar cognitivedisson avatar eriksundin avatar xr1337 avatar mogol avatar etolstoy avatar jervine10 avatar romainlofaso avatar warnyul avatar jgongo avatar plandem avatar ricowere avatar readmecritic avatar skywinder avatar peterkutasi avatar jeffbnimble avatar ivanushakov avatar emailrus avatar akiraspeirs avatar simonkang avatar gitter-badger avatar pstefaniak avatar nikolaykasyanov avatar ibelieve avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.