A powerful, lightweight dependency injection framework for Objective-C and Cocoa applications.
Typhoon is a dependency injection framework for Objective-C and Cocoa/CocoaTouch applications. It helps developers manage object dependencies and improve testability by providing a structured way to wire components together. The framework uses the Objective-C runtime to automate instantiation and injection, reducing boilerplate code.
Objective-C developers building iOS or macOS applications who need a robust, lightweight dependency injection solution. It's also suitable for teams maintaining legacy Objective-C codebases or integrating with Swift projects.
Typhoon stands out for its runtime-based approach, which simplifies configuration and reduces manual wiring. It's lightweight yet full-featured, offering a balance of power and ease of use that's tailored specifically for the Cocoa ecosystem.
Powerful dependency injection for Objective-C ✨✨ (https://github.com/appsquickly/pilgrim is the pure Swift successor to Typhoon!!)✨✨
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Objective-C runtime metadata to automatically instantiate and wire objects, reducing manual configuration and boilerplate code as highlighted in the README.
Supports CocoaPods, Carthage, and manual source integration, making it easy to add to existing Cocoa projects without bloat.
Works with iOS 5+, OS X 10.7+, and dynamic frameworks for Swift interoperability, ensuring support for legacy and mixed codebases.
Backed by extensive documentation, sample apps, and active Stack Overflow support, providing resources for learning and troubleshooting.
The README explicitly states Typhoon is not great for modern Swift and recommends Pilgrim as the successor, making it suboptimal for Swift-focused development.
With copyright up to 2015 and a successor framework announced, Typhoon may have reduced active maintenance and fewer updates for newer iOS versions.
Relies on Objective-C runtime manipulation, which can introduce performance overhead and complexity in pure Swift or performance-critical applications.