[#IOT] Diferentes comportamientos en base arquitectura de la app (9 de N) #RaspberryPi2 y #Windows10

Hola !

Nuevo post para la serie de Windows 10 y Raspberry Pi 2

  1. Hardware y software (1 de N)
  2. Montando la SD en el device (2 de N)
  3. Ahora si el Hello World ! (3 de N)
  4. Sobre el proceso de despliegue desde VS y Web Management app (4 de N)
  5. Hello Blinky !!! (5 de N)
  6. Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)
  7. Accediendo a los devices conectados (7 de N)
  8. Desplegando una app desde un paquete (8 de N)
  9. Diferentes comportamientos en base arquitectura de la app

Si eres un developer de vieja escuela, cuando te cambian una de las APIs más antiguas te puede dar un infarto. Eso es lo que ha pasado con la clásica System.Environment. La siguiente imagen muestra la diferencia que tenemos entre una app clásica WPF con .Net 4.5 y una Universal App para Windows 10.

Clipboard07

Ahora bien, una Universal App se ejecuta en un entorno controlado (sandbox), ya sea en un laptop, un smartphone o un device. Esto implica que las capacidades de la app están atadas a este Sandbox. Por ejemplo, lo que antes solíamos obtener desde el Environment, ahora tal vez debemos buscarlo en el Package de la Aplicación. La arquitectura del procesador es un ejemplo, y el siguiente código muestra un ejemplo para validar si la app se está ejecutando en un procesador ARM.

Clipboard10

Si bien la idea detrás de las Universal Apps es tener el máximo código unificado para todas las plataformas, hay que tener en cuenta las capacidades de cada plataforma. Por ejemplo, en ARM no tenemos la posibilidad de mostrar MessageDialogs así que si queremos mostrar información tenemos que hacer un poco de programación defensiva.

Clipboard12

Esto nos permite mostrar un mensaje en modo diálogo en una laptop o tablet

Clipboard14

Y para el caso de ARM, el mensaje en un TextBlock como parte de la app.

Clipboard01

El código de ejemplo en github

https://github.com/elbruno/W10Rpi2/tree/master/SystemInfoV02

Saludos @ Madrid

/El Bruno

References

Environment.Is64BitProcess, https://msdn.microsoft.com/en-us/library/system.environment.is64bitprocess(VS.100).aspx

MessageDialog, https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.popups.messagedialog.aspx

Advertisements

3 thoughts on “[#IOT] Diferentes comportamientos en base arquitectura de la app (9 de N) #RaspberryPi2 y #Windows10”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.