/ MVVM

x:Bind viene en camino

Si bien aún (domingo 20 de Junio de 2015) no existe información oficial (con oficial me refiero a MSDN) sobre lo que viene para los desarrolladores con Windows 10, Microsoft nos ha dejado ver una serie de vídeos con avances de las nuevas características agregadas a la plataforma, en este post veremos una de estas nuevas características llamada atado de datos compilado (Bindings compilados).

En el atado de datos tradicional se utiliza reflection en tiempo de ejecución para resolver las expresiones de atado de datos con el coste de recursos que esto implica, ahora con x:Bind que será una nueva sintaxis de atado de datos la evaluación se llevará a cabo en tiempo de compilación y el atado de datos será fuertemente tipado, con lo que al eliminar el costo del manejo de reflection obtendremos un mayor rendimiento.

Al utilizar el nuevo atado de datos nos veremos obligados a indicar el tipo de dato que será utilizado con el uso de x:DataType, como se muestra en el siguiente ejemplo.

 <DataTemplate x:DataType="model:Person">
   <Grid>
      <TextBlock Text={x:Bind Name}/>
   </Grid>
</DataTemplate>

¿Entonces cambio el atado de datos a x:Bind?

Si bien es cierto que el rendimiento mejorará sustancialmente debes tomar en cuenta que al ser fuertemente tipado el atado de datos con x:DataType no podremos reutilizar las plantillas que teníamos basadas en el nombre de las propiedades si estos no pertenecen al mismo tipo, también el default del atado de datos pasa a ser OneTime en lugar de OneWay y no podrás generar atado de datos en tiempo de ejecución, además en el atado de datos compilado no podrás hacer uso de ElementName, RelativeSource, Source y UpdateSourceTrigger así que tendrás que evaluar en que escenarios te resultará útil y en cuales otros no.

Me despido y aquí les dejo el link de la serie de vídeos en Channel 9, saludos y cuéntenme ¿Qué les parece este nuevo atado de datos?