martes, 19 de febrero de 2019

Mocking server calls with reqres.in

For my work creating test code for Xamarin.Forms tutorials sometimes I want to have access to a mockup REST API.
One way to do this, it is to create the API with your preferred back-end tools and deploy it to your local environment or to your favorite / available cloud provider.
That could be a lot of work when you only want some quick server and are more interested in your front-end code.
For those cases reqres.in comes in to the rescue!


You will have access to a full REST API responding to your requests.



The writing operations are not really creating or updating data, but they will return different responses.
It's open source and you can access the code in github
You can use your favorite API test tool (like Postman) and give it a try.
Do you have any other tools for API mockups? Let me know in the comments!

martes, 12 de febrero de 2019

Using Font Awesome in Xamarin.Forms

All the code for this post is available at github

If you want to have a consistent user interface in your Xamarin Forms application, it could be a good approach to try to use vector icons.

For that, I will show you in this blog post, how you can include Font Awesome in your Xamarin Forms project to show icons like in this sample.



Installation

First you will need to download the icons from the Font Awesome site (in this post we are using the free web version 5.7.1).


Select the Start Using Free button.


And then the download button.


After downloading, extract the content of your zip file.


And copy the highlighted file to your Android's Assets folder and iOS's Resources folder.


Change the properties in both to match the images.


For iOS you need to change the info.plist file and include the new font file.

Create support classes

After the installation is complete, we are going to create a derived class from Label to show our text using Font Awesome.

The class is called FontAwesomeIcon in our sample project.

For Android that class needs a renderer (FontAwesomeIconRenderer.cs).

The icon definitions are in the Icon.cs file, you could add any other icon that you need looking for the icon in this link  and using the unicode representation.

Using our custom label to show icons

To show an icon in a view with xaml, create a tag like the three that we have in MainPage.xaml, setting the text to one of our defined icons in the Icon class.



And that's all you need to start using Font Awesome!!

Pro tip

You could have noticed that the name of the font used in the FontAwesomeIcon.cs file depends on the platform, the android version is just the name of the ttf file, but for iOS we need the name of the font. In some tutorials they mention that you could check the properties of the file in Windows Explorer and take the name from there, but for the FontAwesome version that we are using for this post, that's not true.

You can see the name of the font in the console of Visual Studio when you run the iOS version because we have this code in place (AppDelegate.cs).



This will be very useful if you want to use another version of the font, but you don't know the name.

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!