el Geometría configurable (TCA), que Recientemente se ha alcanzado la versión 1.13.es una biblioteca Swift «tranquiladora» que proporciona un marco general para abordar problemas comunes al crear una aplicación, incluida la gestión del estado, la configuración de funciones, la gestión de efectos secundarios y las pruebas.
La arquitectura Composable se basa en algunos conceptos básicos, incluidos estado, procedimientos, reductores y almacenamiento. Los reductores y las tiendas son conceptos familiares para los programadores de React que usan… redux Pero es completamente nuevo para el desarrollo nativo de iOS. Según los creadores de la biblioteca, Brandon Williams y Steven SealesEste enfoque permite dividir características grandes y complejas en dominios más pequeños que se pueden unir.
Si bien la Arquitectura Composable se puede usar tanto con UIKit como con Swift, su diseño está fuertemente inspirado en SwiftUI y lo complementa bien, dicen los creadores de la biblioteca. Esto hace que la API de la biblioteca sea particularmente conveniente para los desarrolladores que están acostumbrados a SwiftUI y sus patrones.
En particular, TCA proporciona @ObservableState
Macro que funciona como iOS 16 @Observable
Permite monitorear cambios de estado mínimos como lo hace SwiftUI. TCA también toma prestado el enfoque de composición de SwiftUI, donde cada característica es un tipo de provisión. body
La propiedad imita el comportamiento de SwiftUI. @Environment
Envoltorio de propiedades para manejar la definición de dependencias usando @Dependency
Cobertura de propiedad.
El siguiente fragmento de código muestra cómo modelar una función de contador ascendente y descendente simple:
@Reducer
struct Feature {
@ObservableState
struct State: Equatable {
var count = 0
var numberFact: String?
}
enum Action {
case decrementButtonTapped
case incrementButtonTapped
case numberFactButtonTapped
case numberFactResponse(String)
}
var body: some Reducer {
Reduce { state, action in
switch action {
// implement here all actions;
// they modify state or have side effects
}
}
}
}
Como puede ver en la sección, el estado de la aplicación y las acciones disponibles para el usuario se modelan utilizando tipos específicos, mientras… body
El método es responsable de actualizar el estado de cada acción disponible.
Uno de los aspectos clave del TCA es compartir estadolo cual se logra usando @Shared
La macro, que puedes ver, funciona de manera similar a SwiftUI. @Binding
Al revelar publisher
Una característica que permite notar los cambios en una referencia desde cualquier parte de la aplicación. @Shared
El contenedor de propiedades también admite el mantenimiento de datos en la memoria, los valores predeterminados del usuario, un archivo global o el uso de un mecanismo personalizado.
TCA se basa en gran medida en elementos de interfaz de usuario comunes disponibles en SwiftUI, como sheet(item:)
, popover(item:)
y NavigationStack
pero también aporta su propia característica Mecanismo de navegación Está más adaptado a aplicaciones impulsadas por el estado. La biblioteca admite dos modelos de navegación principales: navegación basada en árboles y navegación basada en pilas.
Los autores de la biblioteca admiten que adoptar una biblioteca como base para la arquitectura de la aplicación puede ser una decisión muy difícil, pero hay casos en los que este puede ser el mejor enfoque en lugar de intentar volver a implementar todo desde cero:
Si los principios básicos de la biblioteca se alinean con sus prioridades al crear su aplicación, adoptar una biblioteca puede ser una opción razonable. Sería mejor fusionarse en un conjunto bien definido de herramientas con un historial consistente de mantenimiento y una comunidad sólida que pegar varios «consejos y trucos» que se encuentran en publicaciones de blogs esparcidas por Internet.
Podría ser Swift Composable Architecture Reproducido de GitHub o Instalado desde el índice de paquetes SwiftTiene más de 12.000 estrellas y 1.400 bifurcaciones en GitHub con más de 200 contribuyentes, lo que la convierte en la biblioteca de arquitectura Swift más popular entre las que figuran en el índice de paquetes Swift.
«Adicto a la música. Gurú del café. Especialista en zombis. Defensor de las redes sociales. Introvertido. Aficionado extremo a la comida. Evangelista del alcohol».