Este fin de semana fue de limpieza, y también le tocó a algunos de mis repositorios en GitHub. Desde que descubrí esta herramienta de colaboración (basada en un sistema de control-versiones) en Junio de 2012, la he usado tanto para tareas, mi proyecto de titulación y proyectos personales. He llegado a subir de todo un poco, y pensé que en este post sería buena idea compartir algunas de las cosas que he ido subiendo con el tiempo.

aprende-c-sharp

No hay mucho qué decir sobre este repo, en él se encuentra tódo el código de los posts con la etiqueta #AprendeCSharp, en los cuales trato de explicar un poco más a detalle algunas de las características de este magnífico lenguaje. Muchos de los ejemplos son un simple archivo, pero decidí incluirlos en proyectos de Visual Studio para que pudieras ejecutarlos en un entorno conocido.

xocr

El repo xocr es el hogar de una de una prueba de concepto sobre cómo usar Tesseract OCR, una herramienta de reconocimiento de caracteres, con Xamarin.Forms. Originalmente realicé esta prueba como parte del desarrollo de una app en la cuál era necesario "leer" unos dígitos en un documento impreso. Funcionó de maravilla... aunque eso sí, la app quedó un poco pesada.

WhoBrokeIt

WhoBrokeIt es una app nacida del ocio, pero que a la vez puede resultar útil. Resulta que en el trabajo comenzamos a experimentar con la Integración Continua usando Visual Studio Team Services, entonces, para estar al tanto del estatus de las compilaciones desarrollé esta simple app con Xamarin.Forms, desde la cual tienes acceso a toda la lista de tus proyectos y sus compilaciones, así puedes saber cuándo y quién subió el cambio que rompió la compilación.

questacion

Resulta que soy muy fan de Pokémon GO, pero solo lo uso en el transporte público, pero a veces, voy tan entrado en visitar todas las Pokeparadas que ni me doy cuenta en qué estación voy (y a veces no me bajo en la adecuada), entonces me decidí a programar esta pequeña app que me envía una notificación cada vez que estoy cerca de una estación de metrobús, así me entero de en donde estoy sin levantar la vista de la pantalla. Una peculiaridad de esta app es que... ¡está hecha en Java!

Dado que usé SpatiaLite, una extensión a SQLite para consultas geoespaciales, no me fue posible hacerla tan rápido con C# y Xamarin, es por eso que usé Java.

appod

Creo que hacer una app de la Astronomy Picture Of the Day es como el hola mundo de la programación de aplicaciones, ¿así que por qué no iba a hacer una yo? para esta fue necesario el acceso a las APIs de la NASA, además de Xamarin.iOS y Xamarin.Android. Con la app de Android no tuve mayor problema, pero con la de iOS tuve que aprender un poco de AutoLayout y aún así no quedó como yo deseaba.

MrkViewer

La mayoría de las apps que hago y que subo a GitHub tienen que ver con ideas que se me ocurren de pronto. Y esta es una de esas: quería un lector de Markdown para mi vieja Surface RT y ninguna me satisfacía, así que me puse manos a la obra. Para esta hice un control personalizado, derivado de un WebView y usando CommonMark.NET para realizar la conversión de md a algo atractivo al usuario.

CharpHat

CharpHat fue una de las primeras cosas que intenté hacer con Xamarin.Forms, consistía en un gran reto, porque es necesario acceder a la cámara del dispositivo independientemente de la plataforma. La app en funcionalidad es sencilla: tomas una foto y te puedes poner encima un birrete de C#, como para demostrar lo mucho que te gusta el lenguaje. Lo único malo es que a pesar de estar hecha con forms, únicamente la pude hacer funcionar para Android.

Xamarin.WindowView

Xamarin.WindowView no es una app sino una herramienta para hacerlas: es una librería que contiene un control para Android. WindowView no es más que la versión en C# de WindowView de Justas Medeisis. Básicamente este control es un ImageView que te permite mover la imagen que contiene con los sensores de movimiento de tu celular, justo como en la imagen de al lado.
GitHub