Revisando mis repos en GitHub
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.
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
GitHub
Forms.Controls
Hay algunos controles que no tenemos disponibles cuando usamos Xamarin.Forms, es por eso que decidí hacer una librería con controles que ocupé para algunas apps. Básicamente las implementaciones para iOS están completas y 100% funcionales, las otras plataformas han sido dejadas del lado. Esto motivado a que el desarrollo de dichas apps está centrado (por el momento) solo en apps para dispositivos de Apple. Espero en el futuro poder dedicarle tiempo al resto de los sistemas operativos.
Estos son solo una especie de vista previa, y mientras que algunos tienen ya su respectivo post en el blog, otros no. Con el tiempo espero poder hablar más sobre ellos y explicar parte del código, pero si estás interesado en alguno, no dudes en decirme y darle prioridad o contarte directamente cómo es que funciona.