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.


lunes, 24 de abril de 2017

Instalación de Xamarin en Visual Studio 2017

¡Hola! Hago una pausa de la serie de Xamarin, WCF, Stored Procedures y Entity Framework y les comparto una entrada rápida aprovechando que se reinician las actividades del #XamarinDiplomado, al cual te puedes inscribir dando clic aquí, si aún no lo has hecho.

Precisamente al respecto del diplomado, se mencionó que ahora puedes utilizar Visual Studio 2015 o Visual Studio 2017 (Community Edition en ambos casospara realizarlo. En esta entrada vamos a ver qué necesitas para instalar Xamarin junto con Visual Studio 2017 desde una instalación nueva, pues el asistente de instalación de VS2017 cambió con respecto a la versión anterior.

Aclaro el siguiente punto: Puedes tener instalado tanto VS2015 como VS2017 en tu mismo entorno de trabajo sin problemas. Sin embargo, por cuestiones de poco espacio disponible en disco duro, yo decidí primero desinstalar completamente VS2015 y luego instalar VS2017.

También les comento otra cosa: Primero instalé VS2017 en Windows 8.1 Professional y nunca pude crear ni mucho menos ejecutar los proyectos de Windows 10, así que primero tuve que actualizar a Windows 10 mi equipo de cómputo y luego reinstalar VS2017. En resumen: Se recomienda instalar VS2017 en Windows 10 Pro (si tienes la versión Home, en lugar de usar los emuladores de Visual Studio -basados en Hyper-V- ocuparás otros como Genymotion o Xamarin Android Player).

(Y en caso de que desees utilizar la versión 2015 de Visual Studio, aquí te dejo una guía de instalación de Xamarin muy buena creada por Miguel Muñoz Serafín, MVP de Microsoft).

¡Manos a la obra! Observa lo sencillo que es instalar Xamarin:

Primero que nada, el instalador de Visual Studio 2017 introduce el concepto de workloads (cargas de trabajo), las cuales básicamente son grupos de componentes relacionados entre sí para crear tipos de proyectos similares. Entonces, al ejecutar el instalador de Visual Studio, en primer lugar busca el workload Windows y marca tanto Desarrollo de Universal Windows Platform y Desarrollo de escritorio .NET.


miércoles, 19 de abril de 2017

Xamarin, WCF, Stored Procedures y Entity Framework (Parte 2)

¡Hola! Bienvenido a la parte 2 de la serie Xamarin, WCF, Stored Procedures y Entity Framework en la que crearemos un servicio WCF que combinará las tecnologías de Entity Framework y JSON a fin de recuperar la información de una base de datos.

En la parte 1 (disponible aquí) creamos una base de datos con información de Artistas, Canciones y Conciertos (así como su detalle) junto con los procedimientos almacenados a fin de realizar las operaciones CRUD.

Antes de comenzar con el tema de hoy, quiero agradecer enormemente a todos los que se tomaron la molestia de leer la primer entrega 😃. Es motivante saber que la respuesta ha sido muy grata e incluso he recibido sugerencias y comentarios que permitirán mejorar futuras sesiones :) Los comentarios han sido positivos y la retroalimentación muy buena. Por ejemplo, en uno de los grupos de Facebook me solicitaron hablar de WebApi, otra sugerencia fue hablar de seguridad con JWT y finalmente, hacer la versión en video de estas sesiones. Dado que son muy buenas ideas, las voy a tener en cuenta, esperen su implementación en próximas entregas... Lo prometo

Espero que estas sesiones, aunque son algo largas, sean de utilidad para sus proyectos. Por otra parte, disculpen si me extiendo en ocasiones jeje, pero es que hay tanto de qué hablar que quiero compartir lo más que se pueda. Así que gracias por sus mensajes y sigan comentando de qué otros temas quisieran que hablara en el blog, así aprendemos entre todos 😀

Continuamos entonces. El repositorio de GitHub donde actualizaré el proyecto poco a poco se encuentra aquí (ya incluye la parte 2, por supuesto :) )

Consideraciones si descargas y quieres ejecutar la solución inmediatamente:

  • Debes haber realizado la práctica 1, es decir, que los procedimientos almacenados estén en la base de datos.
  • Debes modificar la cadena de conexión en Web.config para incluir los datos de tu servidor, usuario y contraseña.
  • Se recomienda limpiar la solución en Visual Studio (Build --> Clean Solution)
  • Debes restaurar los paquetes Nuget del proyecto (se debería realizar al compilar y ejecutar la aplicación).

domingo, 16 de abril de 2017

Xamarin, WCF, Stored Procedures y Entity Framework (Parte 1)

¡Hola! En días anteriores en el grupo de Facebook de Xamarin Diplomado ITC me hicieron una consulta sobre el uso de Xamarin con SQL, lo cual ya había publicado con anterioridad aquí. Como bien sabemos, lo ideal es NO hacer la conexión directa entre la app móvil y la base de datos, pues la cadena de conexión queda expuesta al ser incluida en la applicación, lo cual implica un alto riesgo a la seguridad de nuestra información.

Dado que la conversación siguió hasta tratar el tema de procedimientos almacenados (para las operaciones CRUD) y servicios WCF (para el acceso a la información) y en vista de que una actualización de la publicación de SQL era necesaria, pues he decidido hacer una serie titulada Xamarin, WCF, Stored Procedures y Entity Framework, la cual constará de 3 a 5 partes en la que construiremos una aplicación móvil que obtiene información de un servidor (primero local con IIS, luego lo montaremos a Azure) utilizando un servicio web.

El repositorio de GitHub donde actualizaré el proyecto poco a poco se encuentra aquí.

Consideraciones si descargas y quieres ejecutar la solución inmediatamente:

  • Ninguna, solo ejecuta el script de la base de datos :)


En cada parte trataremos un punto específico de la aplicación. ¿Listos? ¡Pues comenzamos!

En esta primer parte trabajaremos con algo sencillo: la base de datos. Solo necesitas tener SQL Server instalado, así como SQL Server Management Studio, desde donde escribiremos y ejecutaremos el script. Cualquier versión te sirve (2008, 2012, 2016... yo lo hice con 2012).


El script completo lo puedes bajar desde GitHub. Se encuentra ubicado en la carpeta BaseDatos. Simplemente descárgalo y ejecútalo por completo en SQL Server Management Studio.

martes, 11 de abril de 2017

SGVirtual 11a edición

¡Hola! El próximo 24 de Mayo tendrá lugar el SG Virtual Conference 11a. Edición, un evento de un día de duración con conferencias gratuitas online cuyo propósito es promover la participación de entusiastas y expertos tecnológicos en la difusión de temas de interés entre los profesionistas de software.


Ya está abierta la convocatoria de ponencias (hasta el 30 de abril), por si deseas participar como expositor con un tema que quieras presentar durante una hora. En mi caso, yo he propuesto participar con el tema Apps móviles inteligentes con Xamarin y Microsoft Cognitive Services, en el que a grandes rasgos mostraré los principios básicos del desarrollo de aplicaciones móviles (en Xamarin) con los servicios de inteligencia artificial creados por Microsoft, los Microsoft Cognitive Services, para darle inteligencia a tus aplicaciones; también presentaré 3 demos (con su código fuente en GitHub, por supuesto). Mostraré cómo puedes crear una aplicación móvil capaz de identificar emociones en una fotografía, reconocer usuarios autorizados mediante comandos de voz y cómo construir un sistema recomendador de productos a través de datos históricos.

Para más información de mi propuesta, visita https://sg.com.mx/sgvirtual/12/sesion/apps-m-viles-inteligentes-xamarin-y-microsoft-cognitive-services#.WOyjZ9J96Uk

Si crees que mi propuesta es interesante y vale la pena presentarla durante el evento, vota por ella compartiéndola utilizando alguno de los botones de redes sociales que aparecen en la página de SGVirtual debajo del título de la ponencia, es decir:

lunes, 10 de abril de 2017

Xamarin Challenge

¿Estás listo para participar en otro reto de Xamarin? ¿Qué tal te vendría ganar una Microsoft Surface Studio? Si te interesa aprender a desarrollar aplicaciones móviles multiplataforma o ya sabes y quieres demostrar tus conocimientos, te invito a participar en el Xamarin Challenge, una iniciativa de Paul Thurrot y Xamarin.



El Xamarin Challenge consiste en desarrollar e implementar una aplicación móvil multiplataforma con Xamarin totalmente funcional siguiendo 3 etapas (o pasos). Realmente es muy sencillo porque solo tienes que seguir las instrucciones que se presentan en cada etapa. La desventaja es que al completar una etapa tendrás que esperar 72 horas, por lo que este reto también es de paciencia, jeje.

Si has participado en los Diplomados de Xamarin Latinoamérica, ¡cuentas con una gran ventaja, pues muchos de los conocimientos necesarios para superar los retos ya los tienes, solo es cosa de implementarlos siguiendo las instrucciones!


Xamarin Alliance Challenge

¡Hola! En esta entrada les comparto la información sobre Xamarin Alliance, el cual consiste en una serie de 5 retos quincenales en los que desarrollarás una aplicación multiplataforma usando Xamarin y que puedes implementar en Android, iOS y Windows 10.


Xamarin Alliance es una iniciativa de Microsoft Belux (Bélgica y Luxemburgo) que te motiva a desarrollar tu primer aplicación de Xamarin de una manera ágil, sencilla e intuitiva con instrucciones que facilitarán tu entrada en el desarrollo de aplicaciones multiplataforma combinadas con el cómputo en la nube de Microsoft Azure.

Esta es una iniciativa internacional, por lo que está abierta a todo público interesado. Al completar los 5 retos deberás enviar tu aplicación final para revisión. Si es aprobada, ¡te harás acreedor a un diploma con el se reconocerán tus logros como Xamarin Developer!

Si has participado en los Diplomados de Xamarin Latinoamérica, ¡cuentas con una gran ventaja, pues muchos de los conocimientos necesarios para superar los retos ya los tienes, solo es cosa de implementarlos siguiendo las instrucciones!

No hay página de registro, simplemente comienza con el primer reto y continúa con tu aplicación siguiendo las instrucciones mostradas en cada uno de ellos.