Skip to content

gKamelo/Guild-iOSUIArchitectures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS UI Architectures

Xcode version Swift version Swiftlint version

Part of brown bag/guild meeting to present some of the most commonly used iOS UI architectures.

General

There are two main elements in repository.

  • Xcode project for architectures
  • Vapor service to imitate network service.

Project overview

Project contains 3 architectures.

  • MVC - Apple way, where controller is a glue code for model and view interactions.
  • MVVM - Extension of Apple MVC with one more abstraction layer for presentation logic (ViewModel) and custom communication between model and view changes.
  • C-MVVM - Extension of MVVM with additional layer for navigation within application (Coordinators).

All architectures share part of code (networking, models, modals) to better present differences between them, under FIXME Xcode mark there could be found hints/problems of each of them.

C-MVVM has some sample tests to present simple way to mock network requests in Swift code.

Execution

In order to launch application, please follow below steps.

Vapor service

$ cd TasksService
$ vapor build
$ vapor run

Architecture project

Open architecture Xcode project and run one of the targets

  • MVC
  • MVVM
  • C-MVVM

License

Code is released under the MIT license. See LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages