The Composable Architecture (TCA)
One of the latest architectures that we have started exploring and have adopted into some of the company's projects is The Composable Architecture, also known as TCA.
The Composable architecture is a software design pattern that emphasizes the separation of concerns and modularity to improve the flexibility, maintainability, and testability of an application.
Here's a very nice diagram I found from Swift and Tips' YouTube channel.
Source: https://youtu.be/SfFDj6qT-xg?t=85
In a composable architecture, the application is divided into smaller, independent modules or components, each of which serves a specific purpose and can be developed, tested, and deployed independently. These components are then composed together to form the complete application.
One of the key benefits of composable architecture is that it allows developers to build, test, and deploy individual components separately, which can speed up the development process and make it easier to manage changes to the application over time. It also promotes code reuse and makes it easier to add or remove features without affecting the overall stability of the application.
Overall, composable architecture helps to create more scalable and flexible applications that are easier to maintain and evolve over time.
Read more about the architecture on their website:
Or check their GitHub page.