All Projects → tailec → Ios Architecture

tailec / Ios Architecture

Licence: mit
A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Ios Architecture

Ios Design Patterns
Learning ground for iOS Design Pattern included with sample projects for MVC, MVP, MVVM, and VIPER
Stars: ✭ 120 (-86.68%)
Mutual labels:  viper, architecture, mvvm, mvc
Swift Design Patterns
🚀 The ultimate collection of various Software Design Patterns implemented in Swift [Swift 5.0, 28 Patterns].
Stars: ✭ 85 (-90.57%)
Mutual labels:  viper, architecture, mvvm, mvc
Ios Architectures
Sample app for iOS architectures
Stars: ✭ 90 (-90.01%)
Mutual labels:  viper, architecture, mvvm, mvc
Ribs
Uber's cross-platform mobile architecture framework.
Stars: ✭ 6,641 (+637.07%)
Mutual labels:  viper, architecture, mvvm, mvc
Androidarchitecture
Android Architecture using Google guides
Stars: ✭ 127 (-85.9%)
Mutual labels:  architecture, mvvm, mvc
Cleanarchitecturerxswift
Example of Clean Architecture of iOS app using RxSwift
Stars: ✭ 3,256 (+261.38%)
Mutual labels:  rxswift, architecture, mvvm
Modelassistant
Elegant library to manage the interactions between view and model in Swift
Stars: ✭ 26 (-97.11%)
Mutual labels:  viper, mvvm, mvc
Coordinator Mvvm Rx Example
Example of MVVM-C architecture implemented with RxSwift
Stars: ✭ 469 (-47.95%)
Mutual labels:  rxswift, architecture, mvvm
Mvvmc Splitviewcontroller
Example project with UITabBarController inside UISplitViewController using RxSwift and MVVM-C architecture.
Stars: ✭ 45 (-95.01%)
Mutual labels:  rxswift, architecture, mvvm
Zhuishushenqi
追书神器Swift版客户端(非官方)。 不断更新中......
Stars: ✭ 196 (-78.25%)
Mutual labels:  rxswift, viper, mvvm
KDInstagram
Instagram Clone built in Swift. Utilize three design patterns in three major modules.
Stars: ✭ 119 (-86.79%)
Mutual labels:  mvc, rxswift, viper
ios-architecture-example
Architecture pattern simple examples in iOS. You can compare differences in MVC, MVP, MVVM-Delegate and MVVM-Rx for same feature
Stars: ✭ 16 (-98.22%)
Mutual labels:  mvc, rxswift, mvvm
Articles Ios Viper
Demo app for VIPER design pattern implementation
Stars: ✭ 254 (-71.81%)
Mutual labels:  rxswift, viper, architecture
Rxxmly
RxSwift 实现MVVM高仿喜马拉雅的函数响应式编程
Stars: ✭ 313 (-65.26%)
Mutual labels:  rxswift, mvvm
Android Viewmodelbinding
A lightweight library aiming to speed up Android app development by leveraging the new Android Data Binding together with the Model-View-ViewModel design pattern.
Stars: ✭ 308 (-65.82%)
Mutual labels:  architecture, mvvm
Westore
更好的小程序项目架构
Stars: ✭ 3,897 (+332.52%)
Mutual labels:  mvc, mvvm
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (-54.5%)
Mutual labels:  architecture, mvvm
Rxviewmodel
ReactiveViewModel-esque using RxSwift
Stars: ✭ 392 (-56.49%)
Mutual labels:  rxswift, mvvm
Awesome Ios Architecture
🏯 Better ways to structure iOS apps
Stars: ✭ 4,451 (+394.01%)
Mutual labels:  architecture, mvvm
Verge
🟣 Verge is a very tunable state-management engine on iOS App (UIKit / SwiftUI) and built-in ORM.
Stars: ✭ 273 (-69.7%)
Mutual labels:  rxswift, mvvm

ios-architecture

WIP

👷 🧱 🧰 🛠️
Demystifying MVC, MVVM, VIPER, RIBs and many others
A collection of simple one screen apps to showcase and discuss different architectural approaches in iOS

last commit open issues swift version platform license
Built with ❤︎ by Pawel Krawiec


Apps

Multi-screen examples Single screen examples
app-ui app-ui

Architectures

This repository hosts each sample app in separate directory.

⭐️ Click the title of example to see detailed README information about specific architecture.

Multiple screens app examples

🔒 ** If you want to login, use username iostest and password test.**

If you're a themoviedb user, please use your own account and API key!

Example Description
tmdb-mvvm-rxswift-pure Uses RxSwift and observables as binding mechanism between ViewController and ViewModel. Also, it uses simple navigator pattern for transitions between screens. (README in progress)

Single screen app examples

The purpose of having examples with single page applications is highlighting connection between view code and business logic code.

Example Description
mvc Standard MVC pattern recommended by Apple. Uses composition design pattern to make ViewController smaller. (README in progress)
mvp Standard MVP pattern. (README in progress)
mvvm-rxswift-pure Uses RxSwift and observables as binding mechanism between ViewController and ViewModel.
mvvm-rxswift-functions-subjects-observables Uses RxSwift and observables as outputs from ViewModel. ViewModel inputs are defined as subjects wrapped in functions.
mvvm-rxswift-subjects-observables Uses RxSwift with observables as ViewModel outputs and subjects as ViewModel inputs.
mvvm-closures Binds ViewController and ViewModel using closures and swift functions (README in progress)
rxfeedback-mvc Uses RxFeedback in MVC architecture (README in progress)
viper Uses VIPER architecture (README in progress)

Examples in progress

Example Description
reactorkit In Progress
mvvm+rxfeedback In Progress
mvvm-reactive-swift In Progress
reswift In Progress
viper-rxswift In Progress
ribs In Progress

Sample apps

Apps in this repository are split into 2 groups - single screen and multiscreen.

Simple one screen apps aim to be simple enough that you can understand crucial bits about given architecture (i.e. bindings between ViewModel and ViewController in MVVM examples). However, some other architectures require more complexity (i.e. RIBs architecture) and this is the reason of having multiscreen examples in this project.

Single screen app

Single screen app is a simple list of repositories fetched from GitHub and a text field that makes queries for new data.

Multiscreen app

Multiscreen app is a simple themoviedb client. It lets user to authenticate, view popular movies/tv shows or actors and see details about each movie. Also, it has a search screen that allows you to browse movies or actors.

Open in Xcode

Clone the repository:

git clone [email protected]:tailec/ios-architecture.git

Go to example directory, for example:

cd mvvm-pure-swift

Install pods:

pod install

Note: Some of the examples don't use external libraries so pod install is not required.

Licence

MIT.

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