En MVVMCross, se utilizan la potencia de datos suiza y con fluidez para conectar vistas para ver modelos, pero sirven propósitos ligeramente diferentes y se prefieren en diferentes escenarios.
databinding suizo
La databinding suizo ofrece una sintaxis más limpia y menos detallada en comparación con su predecesor, JSON Databinding. Es particularmente útil cuando necesita definir enlaces de manera directa, a menudo directamente en archivos de diseño XML. Los enlaces suizos son fáciles de leer y escribir, haciéndolos adecuados para enlaces simples y directos donde la sintaxis debe ser concisa y comprensible.
Un escenario específico en el que se podría preferir la indicación de datos suizos es cuando necesita configurar rápidamente enlaces en archivos XML, especialmente en plataformas donde los diseños XML se usan comúnmente y son fácilmente editables, como Android. Sin embargo, la data de datos suiza no monitorea activamente los cambios desde el modelo de vista a menos que la fuente de enlace se restablezca, lo que puede ser una limitación en escenarios que requieren actualizaciones en tiempo real.
Fluent Databinding
La data de datos fluida, por otro lado, proporciona una sintaxis basada en C#para construir enlaces. Este enfoque es particularmente beneficioso en entornos donde los diseños XML no son fácilmente editables humanos, como iOS y macOS. Los enlaces fluidos permiten configuraciones de unión más complejas y dinámicas, lo que las hace ideales para escenarios en los que necesita manipular mediante medidas o manejar una lógica más intrincada.
Se prefiere la data de datos con fluidez cuando necesita crear enlaces programáticamente, lo que puede ser más flexible y potente, especialmente en aplicaciones complejas o cuando trabaja con plataformas que no admiten los diseños XML de manera tan efectiva.
Escenarios de preferencia
- Se prefiere la data de datos suiza cuando:
-Necesita una sintaxis simple y fácil de leer para enlaces, especialmente en archivos XML.
- La aplicación no requiere un monitoreo continuo de los cambios desde el modelo de vista.
- Está trabajando en entornos donde los diseños XML son fácilmente editables.
- Se prefiere la data de datos con fluidez cuando:
- Debe crear enlaces programáticamente, permitiendo configuraciones más dinámicas y complejas.
- Estás trabajando en plataformas donde los diseños XML no son fácilmente editables, como iOS.
- La aplicación requiere más control sobre la lógica de enlace o necesita manejar escenarios complejos.
En resumen, mientras que tanto la data de datos suizo como la fluida tienen sus fuerzas, la elección entre ellos depende de los requisitos específicos de su aplicación, incluida la necesidad de simplicidad versus complejidad y la plataforma para la que está desarrollando.
Citas:[1] https://www.mvvmcross.com/documentation/fundamentals/data-sninging
[2] https://crosscuttingconcerns.com/mvvmcross-fluent-databinding
[3] https://stackoverflow.com/questions/41462365/what- are-the-pros-and--cons-of-Android-data-Binding
[4] https://stackoverflow.com/questions/60500840/should-view-neplace---data-unking
[5] https://learn.microsoft.com/en-us/dotnet/desktop/wpf/data/?view=netdesktop-9.0
[6] https://www.phunware.com/android-clean-coding-parroach/
[7] https://www.reddit.com/r/androiddev/comments/ux9379/what_are_the_use_cases_of_data_binding_and_when//
[8] https://jesseliberty.com/2022/02/01/advanced-databinding-tart-0-basics/