Brahim LAMRI
Passionate about iOS development, I’ve been building apps with Swift for the past five years. I’m always eager to deepen my expertise, from mastering UIKit fundamentals to exploring advanced topics like TDD, and architecture. Currently, I’m focused on sharpening my skills and sharing my learning journey with the community.
Aventique (On a mission for SEPHORA)
Your job title –iOS Developer
Session
In iOS development, traditional dependency injection containers based on classes face critical thread-safety challenges, leading to potential data races in concurrent environments. This 45-minute presentation introduces SparkDI, a groundbreaking dependency injection framework that leverages Swift Actors to eliminate these threading issues while simplifying the developer experience through a unified registration and resolution API.
SparkDI revolutionizes dependency management through its actor-based architecture, providing built-in thread safety without the complexity of manual synchronization. Unlike traditional solutions, which require separate methods for registration and resolution, SparkDI introduces a streamlined single-method approach that handles both operations elegantly. This simplification, combined with its unique ability to manage both singleton and normal instance scopes, makes dependency injection more intuitive and less error-prone.
The framework's innovative features include:
* Thread-safe dependency container powered by Swift Actors, eliminating data races by design
* Unified register/resolve method that simplifies the API while maintaining type safety
* Advanced circular dependency resolution through DFS (Depth-First Search) algorithm
* Modular architecture supporting clean dependency segregation across features
* Comprehensive testing support through Swift Testing framework
This original presentation, never before shared at other conferences, targets intermediate to advanced iOS developers seeking to modernize their dependency injection approach.
Participants will learn how to:
* Migrate from traditional class-based DI containers to actor-based solutions
* Implement thread-safe dependency management without performance overhead
* Leverage the unified API for cleaner, more maintainable code
* Handle complex dependency graphs with built-in cycle detection
* Structure their applications for better testability
By the end of this session, developers will understand how SparkDI not only solves the thread-safety challenges of current dependency injection practices but also significantly simplifies their implementation, setting a new standard for concurrent iOS application architecture.