- First of the proposed architectures - MVP + C
- Second of the proposed architectures - MVVM + C
- Descriptions of principles of the Service Locator pattern
- Service Locator pattern implementation using Resolver
- Third of the proposed architectures - MVVM and pattern Service Locator
- Comparative table of architectures
- Conclusions
- Resources
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
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
- https://nodejs.org/uk/download/ - download node js for your mac
- in terminal run ' npm install -g json-server '
- in terminal run ' json-server --watch db.json '
- copy data from database.json (lay inside the Network Manager folder) and paste it on the db.json file
- cmd + s, quit terminal, and repeat step 3 in the place where you created db.json file
Kyrylo Triskalo, Vlad Kosyi , CHI Software
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.