Best architecture for SwiftUI + CombineBest architecture for SwiftUI + Combine

Overview

Best architecture for SwiftUI + Combine

The content of the presentation:

  1. First of the proposed architectures - MVP + C
  2. Second of the proposed architectures - MVVM + C
  3. Descriptions of principles of the Service Locator pattern
  4. Service Locator pattern implementation using Resolver
  5. Third of the proposed architectures - MVVM and pattern Service Locator
  6. Comparative table of architectures
  7. Conclusions
  8. Resources

Presentation links:

https://github.com/KyryloTriskalo/Combine-SwiftUI-Architecture/blob/main/Telegram/Telegram/Resources/MVVM%2BCombine%2BSwiftUI.pdf - read version https://chiswdevelopment.sharepoint.com/sites/iOSteam/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites%2FiOSteam%2FShared%20Documents%2FGeneral%2FRecordings%2FДоклад%20на%20тему%20%5FЛучшая%20архитектура%20для%20связки%20combine%20%2BSwiftUI%5F%2D20210916%5F160159%2DЗапись%20собрания%2Emp4&parent=%2Fsites%2FiOSteam%2FShared%20Documents%2FGeneral%2FRecordings video conference

Resources

First architecture:

https://lascorbe.com/posts/2020-04-27-MVPCoordinators-SwiftUI-part1/ - 1 part
https://lascorbe.com/posts/2020-04-28-MVPCoordinators-SwiftUI-part2/ - 2 part
https://lascorbe.com/posts/2020-04-29-MVPCoordinators-SwiftUI-part3/ - 3 part

Second architecture:

MVVM + C + Swift architecture (wrappers for SwiftUI modules)
https://github.com/Lascorbe/SwiftUI-MVP-Coordinator - git
https://tech.olx.com/clean-architecture-and-mvvm-on-ios-c9d167d9f5b3 - tutorial

Resolver:

https://github.com/hmlongco/Resolver - git
https://www.raywenderlich.com/22203552-resolver-for-ios-dependency-injection-getting-started - tutorial

Fake REST API:

https://github.com/typicode/json-server - git
https://www.youtube.com/watch?v=7vx0RIwHVzg&t=928s - tutorial

How to launch local server:

  1. https://nodejs.org/uk/download/ - download node js for your mac
  2. in terminal run ' npm install -g json-server '
  3. in terminal run ' json-server --watch db.json '
  4. copy data from database.json (lay inside the Network Manager folder) and paste it on the db.json file
  5. cmd + s, quit terminal, and repeat step 3 in the place where you created db.json file

Developed By

Kyrylo Triskalo, Vlad Kosyi , CHI Software

License

Copyright 2020 CHI Software.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You might also like...
SwiftUI & Combine app using MovieDB API. With a custom Flux (Redux) implementation.
SwiftUI & Combine app using MovieDB API. With a custom Flux (Redux) implementation.

MovieSwiftUI MovieSwiftUI is an application that uses the MovieDB API and is built with SwiftUI. It demos some SwiftUI (& Combine) concepts. The goal

SwiftUI and Combine based GitHubSearch example.
SwiftUI and Combine based GitHubSearch example.

GitHubSearchWithSwiftUI GitHubSearchWithSwiftUI is an example that using Combine and SwiftUI Receive Results Receive Error SafariViewController ricemi

An example APOD app with SwiftUI and Combine using NASA API
An example APOD app with SwiftUI and Combine using NASA API

SwiftUI-APOD An example Astronomy Picture of the Day(APOD) application using SwiftUI and Combine under iOS 13 Requirement Xcode 11 macOS 10.15 Catalin

iOS app that detects LaTeX symbols from drawings. Built using PencilKit, SwiftUI, Combine and CoreML for iOS 14 and macOS 11.

DeTeXt Finding the symbol you want to use in LaTeX can be hard since you can't memorize all the possible commands and packages for every symbol you mi

Free time picker iOS Application with SwiftUI and Combine
Free time picker iOS Application with SwiftUI and Combine

Free time picker iOS application. This is iOS application for search free time in your calendar. Search Detail Environment macOS Catalina 10.15.3(19D7

This is an example project of SwiftUI and Combine using GitHub API.
This is an example project of SwiftUI and Combine using GitHub API.

SwiftUI-Combine-Example This is an example project of SwiftUI and Combine using GitHub GET /search/users API. 📋 Requirements Swift5.1 Beta Xcode11.0

Paginated endless scroll using the SwiftUI and Combine frameworks
Paginated endless scroll using the SwiftUI and Combine frameworks

Article related to this project Infinite List Scroll with SwiftUI and Combine. InfiniteListSwiftUI A sample project showcasing how to build an infinit

Used: SwiftUI and Combine
Used: SwiftUI and Combine

NewsApp Used: New Apple frameworks SwiftUI and Combine Installation: 1. Get your News API key 2. Get your Weather API key 3. Insert your keys into Con

Simple app to show usage of SwiftUI and Combine
Simple app to show usage of SwiftUI and Combine

Podcasts Simple app to show usage of SwiftUI and Combine. The app shows a list of podcasts fetched from listennotes and it can be played. Status: Work

Owner
Kyrylo Triskalo
Kyrylo Triskalo
🖼 Gallery App for Harvest (Elm Architecture + Optics) + SwiftUI + Combine.

?? Harvest-SwiftUI-Gallery Gallery App for Harvest (Elm Architecture + Optics) + SwiftUI + Combine. Examples Todo List Stopwatch GitHub Search TimeTra

Yasuhiro Inami 160 Oct 17, 2022
An iOS template project using SwiftUI, Combine and MVVM-C software architecture

SwiftUI-MVVM-C A template project that uses SwiftUI for UI, Combine for event handling, MVVM-C for software architecture. I have done some small proje

Huy Nguyen 107 Jan 2, 2023
UDF (Unidirectional Data Flow) architecture on SwiftUI/Combine

The license The SwiftUI-UDF stays under a dual license (email confirmation required): It can be Free for non-commercial use, public repository or star

Max Kuznetsov 13 Nov 10, 2022
A demo app to showcase testable, modern iOS development with SwiftUI and Combine on MVVM-C architecture.

Coinz_App_iOS A demo app to showcase testable, modern iOS development with SwiftUI and Combine on MVVM-C architecture. Tech Stack: Swift, SwiftUI, Com

Burhan Aras 0 Dec 26, 2021
Anime schedule, korean subtitle for iOS with SwiftUI + Combine and MVVM architecture

AniTime Anime schedule, korean subtitle for iOS with SwiftUI + Combine and MVVM architecture I'm developing a new one for the SwiftUI life cycle annou

Kwangmin Bae 8 Mar 14, 2022
Unidirectional reactive architecture using new Apple Combine framework

Unidirectional Reactive Architecture. This is a Combine implemetation of ReactiveFeedback and RxFeedback

null 687 Nov 25, 2022
Github repo search with using mvvm-c and clean architecture and using combine swift

GitSearchWithMVVM-C-CleanArchitecture Github repo search with using mvvm-c and clean architecture and using combine swift. Content Overview How To Run

Muhammad Qasim Majeed 1 Mar 16, 2022
Mvi Architecture for SwiftUI Apps. MVI is a unidirectional data flow architecture.

Mvi-SwiftUI If you like to read this on Medium , you can find it here MVI Architecture for SwiftUI Apps MVI Architecture Model-View-Intent (MVI) is a

null 12 Dec 7, 2022
SwiftUI Resume - A simple resume writed by swiftUI + Combine

SwiftUI_Resume a simple "resume" writed by swiftUI + Combine

null 15 Apr 27, 2022