All Projects → radianttap → Coordinator

radianttap / Coordinator

Licence: mit
Implementation of Coordinators app design pattern.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Coordinator

Paper Code
对一些好的技术文章结合自己的实践经验进行翻译、举例说明等或自己的经验分享。主要包括架构设计、模式设计、模型设计、重构等。
Stars: ✭ 94 (-84.74%)
Mutual labels:  architecture, design-patterns
Python Clean Architecture
A Python toolkit for applications driven by The Clean Architecture
Stars: ✭ 159 (-74.19%)
Mutual labels:  architecture, design-patterns
Android Readthefuckingsourcecode
😜 记录日常的开发技巧,开发中遇到的技术重点、难点,各个知识点的总结,优质面试题等等。持续更新...
Stars: ✭ 1,665 (+170.29%)
Mutual labels:  architecture, design-patterns
Super Simple Architecture
🧩 Super Simple Architecture in Swift
Stars: ✭ 44 (-92.86%)
Mutual labels:  architecture, design-patterns
Flawless Ios
Awesome iOS guides from the community, shared on Flawless iOS Medium blog 👉
Stars: ✭ 260 (-57.79%)
Mutual labels:  architecture, design-patterns
Swift Design Patterns
🚀 The ultimate collection of various Software Design Patterns implemented in Swift [Swift 5.0, 28 Patterns].
Stars: ✭ 85 (-86.2%)
Mutual labels:  architecture, design-patterns
Domain Driven Hexagon
Guide on Domain-Driven Design, software architecture, design patterns, best practices etc.
Stars: ✭ 4,417 (+617.05%)
Mutual labels:  architecture, design-patterns
Ios Design Patterns
Learning ground for iOS Design Pattern included with sample projects for MVC, MVP, MVVM, and VIPER
Stars: ✭ 120 (-80.52%)
Mutual labels:  architecture, design-patterns
Urf.core
Unit of Work & Repositories Framework - .NET Core, NET Standard, Entity Framework Core. 100% extensible & lightweight. Live demo: https://goo.gl/QpJVgd
Stars: ✭ 226 (-63.31%)
Mutual labels:  architecture, design-patterns
Archit Ios
Intelygenz iOS Architecture
Stars: ✭ 203 (-67.05%)
Mutual labels:  architecture, design-patterns
System Design And Architecture
Learn how to design large-scale systems. Prep for the system design interview.
Stars: ✭ 1,005 (+63.15%)
Mutual labels:  architecture, design-patterns
Designpatternslibrary
A comprehensive design patterns library implemented in C#, which covers various design patterns from the most commonly used ones to the lesser-known ones. Get familiar with and learn design patterns through moderately realistic examples.
Stars: ✭ 485 (-21.27%)
Mutual labels:  architecture, design-patterns
Design Patterns For Humans
An ultra-simplified explanation to design patterns
Stars: ✭ 32,376 (+5155.84%)
Mutual labels:  architecture, design-patterns
1975
1975 - Modelando Domínios Ricos
Stars: ✭ 94 (-84.74%)
Mutual labels:  architecture, design-patterns
Awesome Scalability
The Patterns of Scalable, Reliable, and Performant Large-Scale Systems
Stars: ✭ 36,688 (+5855.84%)
Mutual labels:  architecture, design-patterns
Awesome Design Patterns
A curated list of software and architecture related design patterns.
Stars: ✭ 15,579 (+2429.06%)
Mutual labels:  architecture, design-patterns
Game Programming Patterns
Source repo for the book
Stars: ✭ 3,096 (+402.6%)
Mutual labels:  architecture, design-patterns
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+908.12%)
Mutual labels:  architecture, design-patterns
Javacodeacc
Java代码积累 | 大话设计模式(Java实现版本)、线程协作
Stars: ✭ 537 (-12.82%)
Mutual labels:  design-patterns
Cp Ddd Framework
A lightweight flexible development framework for complex business architecture with full ecosystem!轻量级业务中台开发框架,中台架构的顶层设计和完整解决方案!
Stars: ✭ 566 (-8.12%)
Mutual labels:  design-patterns

platforms: iOS|tvOS Carthage compatible CocoaPods compatible

Coordinator

Implementation of Coordinator design pattern. It is the application architecture pattern for iOS, carefully designed to fit into UIKit; so much it could easily be UICoordinator.

Since this is core architectural pattern, it’s not possible to explain its usage with one or two clever lines of code. Give it a day or two; analyze and play around. I’m pretty sure you’ll find it worthy of your time and future projects.

Installation

Manually

My preferred method is to integrate Coordinator into the project manually. Just drag Coordinator folder into your project — it‘s only a handful of files.

If you prefer to use dependency managers, see below. Releases are tagged with Semantic Versioning in mind.

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate Coordinator into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'Coordinator', 	:git => 'https://github.com/radianttap/Coordinator.git'

You must use direct link through :git since CocoaPods central repository contains a framework of the same name.[^1]

Setting up with Carthage

Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate Coordinator into your Xcode project using Carthage, specify it in your Cartfile:

github "radianttap/Coordinator"

Documentation

The why and how and...

Further reading

On my blog: Coordinator: the missing pattern in UIKit

Rough history of development, also on my blog. I did not come up with the library all at once, it was a gradual process as all good things are.


Soroush Khanlou: Coordinators Redux

Andrey Panov: Coordinators Essential tutorial

Matthew Wyskiel: Protocol-Oriented App Coordinators in Swift

Coordinators are fairly old pattern but it was Soroush who brought them under iOS developer spotlight in 2015. My library follows the core idea but employs a different implementation.


Bill Dudney, WWDC 2014, session 224: Core iOS Application Architectural Patterns

Andy Matuschak & Colin Barrett, WWDC 2014, session 229: Advanced iOS Application Architecture and Patterns

I file these two talks under essential education for any iOS developer. While not directly associated with Coordinator pattern, you should still carefully watch and listen to understand what it means to “fit inside iOS SDK”.

License

MIT, as usual.

[^1]: That framework seems long abandoned and my requests to remove it and thus allow me to publish mine were unsuccessful.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].