All Projects → vmalakhovskiy → Data Driven Vc

vmalakhovskiy / Data Driven Vc

Swift Data-Driven UI examples

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Data Driven Vc

Verge
🟣 Verge is a very tunable state-management engine on iOS App (UIKit / SwiftUI) and built-in ORM.
Stars: ✭ 273 (+780.65%)
Mutual labels:  data-driven, uikit
Qmuidemo ios
Sample Code for QMUI iOS
Stars: ✭ 912 (+2841.94%)
Mutual labels:  uikit
Bfkit
BFKit is a collection of useful classes and categories to develop Apps faster.
Stars: ✭ 811 (+2516.13%)
Mutual labels:  uikit
Vtacknowledgementsviewcontroller
Acknowledgements screen displaying a list of licenses, for example from CocoaPods dependencies.
Stars: ✭ 863 (+2683.87%)
Mutual labels:  uikit
Reitit
A fast data-driven router for Clojure/Script
Stars: ✭ 892 (+2777.42%)
Mutual labels:  data-driven
Integrant
Micro-framework for data-driven architecture
Stars: ✭ 866 (+2693.55%)
Mutual labels:  data-driven
Inputbaraccessoryview
A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments
Stars: ✭ 807 (+2503.23%)
Mutual labels:  uikit
C4ios
C4 is an open-source creative coding framework that harnesses the power of native iOS programming with a simplified API that gets you working with media right away. Build artworks, design interfaces and explore new possibilities working with media and interaction.
Stars: ✭ 952 (+2970.97%)
Mutual labels:  uikit
Weekdayssegmentedcontrol
A Custom segmented control to select weekdays for iOS
Stars: ✭ 14 (-54.84%)
Mutual labels:  uikit
Graph
Graph is a semantic database that is used to create data-driven applications.
Stars: ✭ 855 (+2658.06%)
Mutual labels:  data-driven
Objc Uti
Objective-C wrapper for Uniform Type Identifiers (UTIs)
Stars: ✭ 7 (-77.42%)
Mutual labels:  uikit
Contextmenu
An iOS context menu UI inspired by Things 3.
Stars: ✭ 928 (+2893.55%)
Mutual labels:  uikit
Zircleui
🚀 zircle-ui is a frontend library to develop zoomable user interfaces.
Stars: ✭ 870 (+2706.45%)
Mutual labels:  uikit
Verticalcardswiper
A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift.
Stars: ✭ 830 (+2577.42%)
Mutual labels:  uikit
Viewcomposer
Compose views using enums swiftly: `let label: UILabel = [.text("Hello"), .textColor(.red)]`
Stars: ✭ 27 (-12.9%)
Mutual labels:  uikit
Statusalert
Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow in iOS-like way.
Stars: ✭ 809 (+2509.68%)
Mutual labels:  uikit
Wwdc20playground
WWDC20 Swift Student Challenge Winner (Actually a WWDC 19 project but reworked & rebranded)
Stars: ✭ 27 (-12.9%)
Mutual labels:  uikit
Giu
Cross platform rapid GUI framework for golang based on Dear ImGui.
Stars: ✭ 862 (+2680.65%)
Mutual labels:  uikit
Quick Free Bootstrap Theme
Free Bootstrap 4 Theme perfect for building responsive, mobile-first projects on the web suitable for businesses, startups, and agencies.
Stars: ✭ 31 (+0%)
Mutual labels:  uikit
Collectionviewpaginglayout
a simple but highly customizable paging layout for UICollectionView.
Stars: ✭ 947 (+2954.84%)
Mutual labels:  uikit

Data Driven ViewController examples

This repository contains examples of data driven view controllers.

The main idea of data driven view controller is to separate view controller from any dependencies and provide only needed data to represent any possible view controller state.

There is also a presentation slides, that contains more teoretical info about data driven view controllers. Link

Important note:

Project contain 3-rd party dependencies, installed through cocoapods, so to make playgrounds work - please build DataDrivenViewControllersUI target.

  1. Simple Input.playground
    Shows example of how to organize view with 3 buttons, where you can select profession you like. Also it provides you basic example of view output via optional closures, that also gives a context if action is available.

Simple Input.playground

  1. Input + Validation.playground
    Shows example with 2 text fields and validation, without any reactive magic. Password field with length validation, and confirm password field that checks equality with password field - also reacts with color change, if error occurs.

Input + Validation.playground

  1. Multi-state Screen.playground
    Shows how to organize view controller that can represent multiple states - loading/error(description, reload button)/success(show data). Also, that example contains table-view, that reacts on selection, without revealing index path, or any other view implementation detail outside.

Multi-state Screen.playground

  1. Animation.playground
    Shows breathing ring. View decides how to continue animation, based on previous data.

Animation.playground

The following examples has exactly the same appearance as example #3 (Multi-state Screen.playground).

  1. DataDrivenMVVM.playground - how to implement DDVC in MVVM
    Shows how to integrate data driven view controllers into MVVM

  1. DataDrivenVIPERv1.playground - how to implement DDVC in imperative VIPER
    Shows how to integrate data driven view controllers into VIPER using imperative approach, so presenter has viewOutput reference.

  1. DataDrivenVIPERv2.playground - how to implement DDVC in VIPER using observer pattern
    Shows how to integrate data driven view controllers into VIPER, so presenter has only viewModel property, and view controller observes it.

  1. DataDrivenMVC.playground - how to implement in MVC
    Shows how to integrate data driven view controllers into plain old MVC

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