Krzysztof Zabłocki - Leveraging Composable Architecture at Scale | Swift Heroes 2023 Talk

  Переглядів 3,427

Swift Heroes

Swift Heroes

5 місяців тому

🎟️ 2024 ticket SPECIAL PRICE: swiftheroes.com/2024/
The Composable Architecture (TCA) is a popular framework that unifies your architecture for Swift apps.
In this talk, we’ll look at lessons learned from using it on large codebases, potential gotchas to be aware of, and improvements & dev tools you can add on top of vanilla TCA.
🎤 Krzysztof Zabłocki, Engineering, iOS Consultant
📍Swift Heroes 2023 was hosted in Turin, 4-5 May. Attended by 320 iOS developer participants and broadcast to an additional 320 Swift enthusiasts across the globe. The agenda covered a range of important iOS developer topics including SwiftUI, the composable architecture, accessibility, developer tools, testing and much more.
📌 For more engaging content and expert insights, subscribe to our channel and hit the notification bell. 🛎️
Inform: swiftheroes.com/
✅ Tweet: / swiftheroes_it
✅ Connect: / swift-heroes
✅ Read: telegram.me/swiftheroes

КОМЕНТАРІ: 8
@ImTheShrey
@ImTheShrey 2 місяці тому
We use Reactor Kit in our app with 200K daily active users. It's basically TCA philosophy with Per screen state store. And then on each view only updating if it's required slice within the state is mutated.
@otniel2663
@otniel2663 Місяць тому
This architecture was relevant in the React community a while ago (Redux), but the trend seems to be moving towards simpler architectures like react-query, hooks, etc. I am not sure if the iOS engineering community will follow the same path, as the problem is universal across FE development (state management is complex)
@SwiftHeroes
@SwiftHeroes Місяць тому
Interesting observation, we asked Krzysztof to reply to you 😉
@rodriferretty3001
@rodriferretty3001 Місяць тому
Really interested about this point!
@trendz4422
@trendz4422 5 місяців тому
Please provide links to the sample project and swiftlint config file.
@danielt63
@danielt63 3 місяці тому
At 7:53... Sure but the problem with these sorts of architectures is that any one action could change any piece of state. So not only do you have to assert the correct state changes, but you also have to assert that no other bits of state changed. That's n*m assertions (where n is the number of actions, and m the possible states.) In other words, your assertions grow exponentially with every action or piece of state you add. Not good!
@ImTheShrey
@ImTheShrey 2 місяці тому
We solved it by dividing app state into per screen state. And then you do diff of a state slices (properties) when your views want to use it, so they don't refresh when other non related field in state object changes. Then to top it off, you collect all mutations Done by one action in to a batch and only update state struct in one go.
@danielt63
@danielt63 2 місяці тому
@@ImTheShrey Sure, but every reducer receives every action. Your per screen state receives actions from other screens and it is only by convention that it doesn't act on actions from other screens. Testing to ensure that convention is where the problem lies.
Marin Todorov - A 100% SwiftUI App | Swift Heroes 2023 talk
27:23
Swift Heroes
Переглядів 2,1 тис.
Elevated Swift - Soroush Khanlou | Swift Heroes 2023 Talk
26:24
Swift Heroes
Переглядів 2 тис.
🐩🐕
00:25
Янчик
Переглядів 2,4 млн
skibidi toilet 73 (part 2)
04:15
DaFuq!?Boom!
Переглядів 15 млн
Clean Architecture IS about Vertical Slicing, actually!
15:24
About Clean Code
Переглядів 29 тис.
How to determine where code runs in Swift Concurrency
12:42
donny wals
Переглядів 1,6 тис.
What is Composable Architecture (and how should you get started)?
27:37
Svelte 5: Compiler, Signals, and Web App Performance - JSJ 627
1:21:52
Top End Devs
Переглядів 2,2 тис.
Why I don't do MVVM anymore
10:56
Flo writes Code
Переглядів 6 тис.
Everything You NEED to Know About Client Architecture Patterns
5:51
ByteByteGo
Переглядів 196 тис.
Swift Connection 2023 - Krzysztof Zabłocki - The Project Template
37:58
Tech Connection
Переглядів 1,1 тис.
СЛОМАЛСЯ ПК ЗА 2000$🤬
0:59
Корнеич
Переглядів 1,6 млн
ЭТОТ МОНСТР ОТ INFINIX КРУЧЕ ЛЮБОГО XIAOMI! Я в шоке…
13:01
Thebox - о технике и гаджетах
Переглядів 22 тис.
План хакера 🤯 #shorts #фильмы
0:59
BruuHub
Переглядів 995 тис.
Первые продажи Ryzen на Ozon и первый возврат! 😱
13:17
Герасимов Live
Переглядів 14 тис.
Why spend $10.000 on a flashlight when these are $200🗿
0:12
NIGHTOPERATOR
Переглядів 16 млн
All New Atlas | Boston Dynamics
0:40
Boston Dynamics
Переглядів 5 млн