sábado, 28 de julio de 2018

El extraño caso de MessagingCenter en Xamarin.Forms

Utilizando MessagingCenter en un proyecto Xamarin.Forms me encontre con algunos comportamientos no deseados, para verificarlos cree un proyecto muy sencillo en el cual pude reproducir el problema, basicamente, se seguia enviando el mensaje a instancias anteriores de la clase que se subscribia

Envie la consulta al foro de xamarin en donde me comentaron que una posible solucion era utilizar el subscribe / unsubscribe en los overrides de los eventos OnAppearing / OnDisappearing
Esto funciono perfectamente, el codigo de ejemplo se encuentra en este repo de github

La documentacion para mi gusto no deja suficientemente claro la necesidad del unsubscribe, ya que yo asumi que la instancia subscripta al cerrar la vista desapareceria, pero al parecer, la referencia del subscribe la mantiene en memoria y sigue recibiendo los mensajes

sábado, 7 de julio de 2018

Xamarin Forms, intellisense para nuestros viewmodels dentro de la vista

En un proyecto Xamarin.Forms con Visual Studio 2017 al momento de editar el archivo XAML para una vista, nos resulta mas facil trabajar si podemos utilizar intellisense para acceder a la informacion de nuestro binding context

En la siguiente imagen, podemos ver que intellisense no posee suficiente informacion para encontrar el tipo utilizado en el binding context para la vista


Estableciendo el binding context en el archivo XAML para la vista (1 y 2) tendremos acceso a las propiedades de nuestro ViewModel (3)



jueves, 11 de mayo de 2017

Actualizacion de Xamarin, donde descarga los archivos?

Estaba tratando de actualizar Xamarin en mi compu de desarrollo que tiene Windows 10 y Visual Studio 2015, y luego de que se descargaran los archivos, el actualizador de Xamarin no arrancaba

Estuve buscando en donde habia bajado los archivos para ver si podia ejecutarlos desde alli o borrarlos, y la descarga se guarda en

C:\Users\[TUUSUARIO]\AppData\Local\MonoDevelop-4.0\Cache\TempDownload

Desde alli se puede arrancar el archivo msi

sábado, 22 de abril de 2017

Docker para windows, cambiar la ubicacion donde se almacenan los archivos

Haciendo mis primeras pruebas con docker para windows, me encontre con que todos los archivos de trabajo y configuracion se estan generando en C:\ProgramData\Docker mi disco C no tiene mucha capacidad por lo que estaba viendo como modificar esta opcion para enviar los datos a otra unidad

Abrimos Settings en el icono de docker for windows que se encuentra en nuestra barra de tareas



Luego en el apartado Daemon cambiamos la configuracion de Basic a Advanced


Establecemos el valor de la propidad graph a la carpeta en la que deseamos grabar los archivos de docker (usar doble barra para los separadores de directorios)
Al aplicar los cambios, docker se reiniciara


Luego al ejecutar el comando docker info podemos ver que cambio la ruta a la especificada en los settings





Informacion adicional

  • https://forums.docker.com/t/where-are-images-stored/9794/12
  • https://docs.docker.com/docker-for-windows/
  • https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon


martes, 14 de marzo de 2017

Gestion de empresas de servicios

Estoy trabajando sobre mi nuevo proyecto, recientemente publicado, http://workek.com
Es un saas para la administracion de pymes que se dedican a servicios, talleres mecanicos, instaladores de alarmas, gasistas, plomeros, etc
Actualmente esta en beta, e incluye la funcionalidad gratuita (freemium), la funcionalidad con suscripcion esta en desarrollo, y todavia no tengo las escalas de precios que voy a manejar
Pueden crear una cuenta y comenzar a utilizarlo ya mismo!

viernes, 27 de enero de 2017

CI y CD software

Para mis proyectos estoy configurando los servidores de integracion continua e implementacion continua

El server de integracion continua es una maquina virtual HyperV con windows server 2012, corriendo TeamCity 10.0.4
El de implementacion continua es Octopus, instalado en el mismo servidor y ademas necesita clientes en los servidores en donde se va a realizar la implementacion, en mi caso maquinas virtuales en Azure
Tengo ademas un plugin de TeamCity en Octopus para facilitar la comunicacion
Mi proyecto principal es una aplicacion web que tiene distintas funcionalidades que se presentan al usuario segun la configuracion, por lo que dicha configuracion la aplico en octopus al momento de hacer la implementacion

viernes, 20 de enero de 2017

Chrome en modo aplicacion

Si queremos abrir chrome con una direccion establecida, sin mostrar barras de menu o estado, podemos utilizar el parametro app de la siguiente manera

"C:\Program Files (x86)\Google\Chrome\Application\chrome" --app=http://netflix.com