miércoles, 26 de abril de 2017

Consideraciones a tener en cuenta al descargar un proyecto de Xamarin desde Internet

¡Hola! En esta entrada rápidamente les cuento una de las situaciones más comunes al descargar un código fuente de un proyecto de Xamarin de Internet, principalmente desde GitHub. Normalmente al encontrar un proyecto queremos compilarlo y ejecutarlo inmediatamente para probar su funcionamiento. Sin embargo, en muchas ocasiones recibimos una serie de errores que impiden su ejecución y creemos (erróneamente, por lo general) que el proyecto NO funciona y lo descartamos.

Algunos de los errores (que más que errores son detalles) más comunes al momento de compilar y ejecutar un proyecto descargado de Internet son:


  • La ruta del proyecto es demasiado larga debido a que lo ejecutamos desde la carpeta Descargas (cuya ruta absoluta por lo general es C:/Usuarios/TuUsuario/Descargas/CarpetaConNombreLargo/CarpetaConNombreLargo/proyecto/
  • La seguridad de nuestro equipo (firewall, antivirus) impide la ejecución de archivos que proceden desde otros equipos, al ser considerados maliciosos (falsos positivos)
  • Se mantienen las referencias relativas al equipo de cómputo donde fue creado el proyecto original (generando referencia a carpetas que pueden no existir en nuestro equipo)
  • Configuración incorrecta de la solución en Visual Studio.
  • No está habilitada la compilación o implementación del proyecto de Android/iOS/UWP 

Todo esto es solucionable. Claro, en ocasiones me he encontrado con proyectos que en versiones actuales de Xamarin ya no funcionan al utilizar código obsoleto o alguna librería que de plano ya no existe o usa dependencias antiguas. Esto es normal, pues la tecnología avanza y se van creando nuevas (y optimizadas) versiones de las librerías disponibles para crear nuestras aplicaciones.

A continuación te presento una breve guía que me ha funcionado para ejecutar la mayoría de proyectos que encuentro en Internet. 

1. Descarga tu proyecto. La tendencia actual es que los desarrolladores usamos GitHub para compartir nuestros proyectos, en cuyo caso se usará el botón Clone or download y luego Download ZIP para que se descargue el proyecto en una carpeta comprimida en nuestro equipo de cómputo.



2. Da clic derecho sobre el la carpeta comprimida descargada y selecciona Propiedades.


3. Selecciona la opción Desbloquear, la cual se encuentra en la sección Seguridad. (Explicación: le decimos a Windows que el contenido de la carpeta procede de una fuente confiable -o al menos es lo que esperamos...-)


4. Descomprime el proyecto en una carpeta con una ruta corta, por ejemplo C:/Xamarin o algo así. (Explicación: Cuando se descargan los paquetes Nuget o se agregan referencias de Android/iOS/UWP en la compilación del proyecto de Xamarin, normalmente estos elementos contienen nombres muy largos. El límite en Windows es de 260 caracteres, aunque de acuerdo a este blog ya podemos habilitar rutas largas a partir de Windows 10... no lo sabía -eso no me lo esperaba- xD).


5. Abre el proyecto en Visual Studio. Una vez cargado el proyecto, selecciona Limpiar solución desde el menú Compilar. (Explicación: Vamos a remover referencias relativas al equipo original donde fue creado el proyecto).


6. Revisa que la operación concluya con éxito.


7. Da clic derecho en la solución y selecciona la opción Administrador de configuración.


8. Por cada proyecto, selecciona la Configuración deseada (normalmente Debug, pero puede ser que desees probar Release), Plataforma (de acuerdo al dispositivo/emulador donde probarás la solución, puede ser Any CPU, x86, x64, ARM), marca en Compilación todas las plataformas que quieras que Visual Studio compile (normalmente todas, aunque no tiene mucho caso compilar el proyecto de iOS si no tienes Mac) y en Implementar marca aquellos proyectos en los que vas a probar tu aplicación (aquí normalmente solo se habilitarán aquellas plataformas soportadas por tu equipo, por ejemplo Android, Windows Phone, UWP en un equipo con Windows, mientras que iOS aparecería si tienes una Mac local/en red). Da clic en Cerrar una vez finalizada esta operación.


9. Nuevamente dando clic derecho en la solución, selecciona la opción Restaurar paquetes de Nuget si está habilitada. Esto descargará todos los paquetes necesarios para que la aplicación funcione correctamente de acuerdo al contenido del archivo packages.config. Si bien este paso es opcional, pues de todas formas se descargarán los paquetes al compilar el proyecto en caso de que no hayan sido agregados aún, es recomendable hacerlo ahora para que no se muestren errores en el código fuente por falta de librerías.


NOTA: En ocasiones las instrucciones del proyecto te dirán que actualices o uses una versión específica de un paquete Nuget o tal vez que debes realizar pasos adicionales de configuración del proyecto. Solamente sigue los pasos mencionados y no deberías tener complicaciones =)

10. Una vez agregados los paquetes, selecciona el proyecto que vas a establecer como proyecto de inicio (por ejemplo el de Android, iOS o UWP) dando clic derecho sobre el proyecto y seleccionando dicha opción.


11. Si las instrucciones del proyecto no indican que debas modificar el código fuente o configurar alguna opción, entonces compila y ejecuta la aplicación. Si no hay errores, podrás ver que tu app funciona correctamente.


¡Listo! Si bien esta guía es genérica, es algo que me ha funcionado en el 95% de los casos. Como dije, habrá proyectos (ese 5%) que tendrán alguna cuestión que haga imposible su ejecución (por ejemplo que solo funcione para una versión específica -nueva u obsoleta- de Android/Xamarin, que requiera algunos componentes adicionales instalados)...

¿Fácil, no? Espero esta entrada haya sido de utilidad para tí, en caso afirmativo no dudes en compartirla con tus amigos :) También puedes dejarme un comentario para hacerme saber qué te pareció esta publicación o si te interesa que cubra algún tema en el futuro.

¡Saludos y hasta la próxima!

1 comentario: