All Projects β†’ giulio92 β†’ Coordinator

giulio92 / Coordinator

Licence: MIT license
A drop-in, ready to use, collection of Coordinator protocols

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Coordinator

Transport Eta
Twitch streamed πŸŽ₯playground repo, README speaks to you.
Stars: ✭ 223 (+792%)
Mutual labels:  architecture
Swift Code Metrics
Code metric analyzer for Swift projects.
Stars: ✭ 244 (+876%)
Mutual labels:  architecture
Core-iOS-Application-Architecture
Core iOS Application Architecture - The development paradigm of clean, testable code and modular iOS applications. + Xcode templates
Stars: ✭ 123 (+392%)
Mutual labels:  coordinator
Newandroidarchitecture Component Github
Sample project based on the new Android Component Architecture
Stars: ✭ 229 (+816%)
Mutual labels:  architecture
Adr Tools
Command-line tools for working with Architecture Decision Records
Stars: ✭ 3,073 (+12192%)
Mutual labels:  architecture
Azure Plantuml
PlantUML sprites, macros, and other includes for Azure services
Stars: ✭ 247 (+888%)
Mutual labels:  architecture
Rainbowcake
A modern Android architecture framework built on Jetpack & Kotlin.
Stars: ✭ 212 (+748%)
Mutual labels:  architecture
stinsen
Coordinators in SwiftUI. Simple, powerful and elegant.
Stars: ✭ 563 (+2152%)
Mutual labels:  coordinator
C4 Plantuml
C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
Stars: ✭ 3,522 (+13988%)
Mutual labels:  architecture
MonarchRouter
Declarative URL- and state-based router written in Swift.
Stars: ✭ 37 (+48%)
Mutual labels:  coordinator
Dry System
Organize your code into reusable components
Stars: ✭ 228 (+812%)
Mutual labels:  architecture
Zikviper
iOS VIPER implementation, demonstrating discovering modules and injecting dependencies with protocol. Provide VIPER code Templates.
Stars: ✭ 238 (+852%)
Mutual labels:  architecture
Professional Programming
A collection of full-stack resources for programmers.
Stars: ✭ 15,936 (+63644%)
Mutual labels:  architecture
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 (+804%)
Mutual labels:  architecture
XCoordinator-Example
XCoordinator-Example serves as an MVVM-C example app for XCoordinator
Stars: ✭ 53 (+112%)
Mutual labels:  coordinator
Devonfw4flutter
A guide aiming to bridge the gap between the absolute Flutter basics and clean, structured Flutter Development
Stars: ✭ 219 (+776%)
Mutual labels:  architecture
Every Single Day I Tldr
A daily digest of the articles or videos I've found interesting, that I want to share with you.
Stars: ✭ 249 (+896%)
Mutual labels:  architecture
mbeddr.formal
FASTEN: FormAl SpecificaTion ENvironment - a set of DSLs to experiment with rigorous systems and safety engineering.
Stars: ✭ 16 (-36%)
Mutual labels:  architecture
NiceDemo
iOS project, built on improved MVP architecture using Coordinator pattern for routing 😎
Stars: ✭ 54 (+116%)
Mutual labels:  coordinator
majordodo
Distributed Operations and Data Organizer built on Apache BookKeeper
Stars: ✭ 25 (+0%)
Mutual labels:  coordinator


Concepts

A Coordinator is an object that manages iOS applications navigation flow while keeping UIViewControllers separate and independent.

By itself a Coordinator can only hold references to others Coordinators and to his parent coordinator (if available), to gain navigation flow management it must be paired with a UINavigationController or UITabBarController.

Choose one of the two protocols based on your navigation flow needs:

  • NavCoordinator
    Holding a UINavigationController

  • TabCoordinator
    Holding a UITabBarController

What a Coordinator should do

  • Push a UIViewController/UINavigationController/UTabBarController of another Coordinator
  • Create Couples object
  • Present Coordinators
  • Be invisible to UIViewControllers and only known by ViewModels
  • Hold Dependencies in case of Dependency Injection

What a Coordinator should not do

  • Perform anything other than navigation (i.e. network calls)

How to use Xcode Templates

  1. Close Xcode
  2. If not already present, create a folder named Source in the following path:
    ~/Library/Developer/Xcode/Templates/File Templates/
    
  3. Move the .xctemplates of choice in:
    ~/Library/Developer/Xcode/Templates/File Templates/Source/
    
  4. Open Xcode and try to create a new file with:
    Xcode > File > New > File...
    

Example project requirements

  • Xcode 10.0+
  • Swift 4.2+
  • iOS 8.0+

Image source requirements

  • Sketch 53+

Credits

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].