Actualidad, Android, Informática

Tutorial ¿Cómo Implementar Firebase En Android?

Como bien sabes Firebase es una de las perlas que posee Google actualmente para el desarrollo móvil y web. En esta ocasión te mostraré cómo implementar Firebase en Android desde cero y verás que es muy intuitivo y sencillo de utilizar, así podrás decirle adiós a los web services, entre otras cosas.

 

Creación Del Proyecto En Firebase

Ingresamos a la consola de Firebase, nos damos de alta y presionamos en el botón <<Crear Nuevo Proyecto>>.

registro_proyecto_firebase

Ingresamos el nombre del proyecto y el país donde lo estamos desarrollando. En mi caso me encuentro en la ciudad de Guatemala, por lo cual seleccionaré dicho país.

crear_proyecto_firebase

El paso 1, será ingresar el nombre del dominio del paquete que tendrá nuestra aplicación. Luego de un apodo para el proyecto Firebase, y por último el certificado de firma SHA-1, el cual no utilizaremos en este tutorial, así que lo puedes dejar vacío.

paso1_firebase_consola

El paso 2, consta de descargar el json de google-services, tal como se puede ver en la captura de pantalla, indica que debes cambiar la vista de tu proyecto de <<Android a Project>>, te diriges a la carpeta app y pegas el json que recién descargaste.

paso2_firebase_consola

El paso 3 indica cómo integrar la clase path de google-services y el plugin del mismo:

paso3_firebase_consola

Finalizamos la creación del proyecto desde la consola de Firebase. Ahora pasemos con Android Studio:

Crea Tu Proyecto En Android Studio Con Firebase

Primero creamos nuestro proyecto en Android Studio:

crear_proyecto_androidstudio_firebase

Firebase Recomienda trabajar con la api 15:

api_androidstudio_firebase

De momento solo implementaremos Firebase en nuestro proyecto Android y luego seguiremos haciendo ejemplos más profundos y específicos, esa es la razón por la cual seleccionaremos un EmptyActivity para empezar:

actividad_firebase_androidstudio

nombre_activity_androidstudio_firebase

Abrimos nuestro archivo build.gradle del proyecto y escribimos esta dependencia:

gradle_project_androidstudio

Luego abrimos buil.gradle pero esta vez será de la carpeta app y colocamos el siguiente plugin:

gradle_app_plugin_firebase

Por último incluimos la dependencia core de Firebase, siempre en app.build.gradle:

dependencia_firebase_androidstudio

Si quieres saber más sobre las otras dependencias puedes echar un ojo a continuación:

otras_dependencias_firebase_completas

Por supuesto, como lo indique anteriormente debes incluir el json google-services.json dentro de la carpeta app:

google_services_tree

Cuando tengamos todo esto, procederemos a sincronizar el proyecto.

Primer Contacto Con Firebase

¡Excelente! Ya tienes implementado Firebase en tu proyecto Android y todo está genial. Puedes empezar a revisar las herramientas que puedes encontrar en la consola de Firebase:

herramientas_firebase_console

Cuando implementé Firebase por primera vez, fue ¡alucinante! No podía creer lo tan fácil y rápido que fue tener un base de datos tipo CRUD y obtener analiticas de la app. Fue increíble y cada vez lo siguen mejorando y agregando nuevas funciones. Pero como muchas cosas en esta vida tiene su lado bueno y malo, aquí te cuento 5 ventajas y desventajas de Firebase en 2017.

 

Notificaciones De Firebase

En el siguiente tutorial de Firebase con Android, te mostraré lo sencillo que es generar notificaciones tipo push con esta maravillosa tecnología de Google. No dudes en comentar y recuerda que utilizando firebase te ahorras tiempo y esfuerzo para el desarrollo de un monstruoso backend.

google_logo_go
Actualidad, Informática, Linux

Go El Nuevo Lenguaje De Programación De Google

Go nació como un lenguaje optimizando la programación orientada a objetos y ofreciendo resolver algunos problemas que tienen los grandes lenguajes de programación convencionales como Java y C++.

google_logo_go
Mascota Go Lenguaje De Programación

Este lenguaje inició como proyecto de unos ingenieros de Google en 2006 pero fue hasta el 2009 que se dio a conocer formalmente. Se encuentra disponible su descarga para Microsoft Windows, Linux y MacOS.

 

Apple en 2014 líbero Swift como el lenguaje de programación del futuro. Google por su lado tiene esta joya de lenguaje pero por algún motivo no ha hecho ruido con la promoción del lenguaje, incluso hay personas que aseguran que para programar en Android, podrás utilizar Swift en futuras versiones de Android Studio. Será interesante ver eso.

 

Buenas Prácticas

Una de las características de Go que más llama mi atención, es la intuitividad que tiene el lenguaje. Buenas prácticas de manera implícita, podríamos decir que, así como en Swift pasa lo mismo en Go que solamente necesitas aprender la sintaxis y siempre lo deberás escribir de una manera para que haya una estandarización de código.

 

Recolector De Basura

Aquí No hay mayor diferencia, sin embargo es bueno mencionarlo ya que siempre es bueno contar con un recolector de basura. Tal como lo implementa Java.

 

Simplicidad Del Lenguaje

A comparación de lenguajes como Java, C++ o el mismo C, son lenguajes un tanto complejos dependiendo del punto de vista. Estos lenguajes comparten las declaraciones de variables explicitas, lo que muchos llaman inferencia.

go_funny

En Go la inferencia es implícita. Bastará con declarar la variable y pasarle un valor, el compilador entenderá <<Implícitamente>> de qué tipo es esa variable.

 

El famoso <<punto y coma>> es opcional en este lenguaje (Muy parecido al estilo lenguaje Swift).

 

Declaración De Variables Al Revés

Otra carácteristicas peculiar del lenguaje Go, es la de declaración de variables. En la mayoría de lenguajes sabemos que primero declaramos el tipo de variable y luego el nombre de la misma.

 

Go maneja las declaraciones de variables de manera distinta, es decir que, inicia con el nombre de la variable y luego el tipo.

 

¿Es Go Un Lenguaje De Programación Rentable?

rentabilidad_go

Diría que no. A pesar de que tienen un gran comunidad y con cierto nivel de soporte. Aún es un lenguaje verde. Esto ha sido porque Google no ha querido (por alguna razón desconocida) promocionar este interesante lenguaje.

 

Es bastante similar en ciertas caracteristicas al lenguaje estrella de la competencia. Si, hablo de Swift, que prácticamente maneja muchas cosas de la misma manera. Creo que Apple se dio cuenta que Google no estaba aprovechando todo el potencial de Go y decidió salir antes al mercado de los programadores en 2014, con una propuesta de valor interesante. De hecho Swift se está enseñando en escuelas, por su curva de aprendizaje baja.

hello_world_en_go
En resumidas Go es un lenguaje genial, que nos ofrece de las mejores prácticas y funcionalidades únicas de los lenguajes que seguro en el futuro serán tan populares como hablar del mismo PHP.

firebase_logo
Android, Informática, Tecnología

¿Qué es Firebase? Una Joya De Google

El 2016 fue un año espectacular para Google, en muchos sentidos. Pero fue Firebase quien en el mundo del desarrollo móvil sacó pecho y se colocoó como producto abanderado de Google. A continuación te explico ¿Qué es Firebase?.

Optimización para aplicaciones móviles

Firebase ya no solo es una librería, ahora es todo un entorno enfocado al desarrollo de aplicaciones móviles. Cuenta con distintas funciones como, analiticas, monetizacion, base de datos en tiempo real, notificaciones tipo push.

Como podrás notar cuenta para todo un equipo de desarrollo. Desde el equipo de marketing hasta el equipo de programadores. Lo genial de Firebase es que mantiene toda la información, configuración e implementación en un mismo lugar.

No necesitamos movernos de una plataforma a otra. Lo manejamos todo desde un dashboard intuitivo como lo puedes ver a continuación:

dashboard_firebase

Notificaciones Y Base De Datos En Tiempo Real

Seguramente esta sea de las características que más llama la atención del lado técnico. Las notificaciones tipo push en las apps cada vez se hace más popular, incluso hay apps que ponen push notifications para agradecer que hayas instalado la app. Prefiero de estas notificaciones, en vez de las que me molesta cada día para que ingrese a la app (es bastante incómodo, aunque si lo deseas puedes fastidiar de esa manera a tus usuarios).

La otra gran noticia es las bases de datos no relacionales en tiempo real que nos brinda Firebase. ¡Sí, señor! Puedes olvidarte de escribir backend para tus web services y de los benditos Json. Prácticamente se arma sola creando el modelo de la base de datos. En la documentación oficial de Firebase te explica cómo implementarlo en la plataforma que necesites.

Por cierto, Firebase está disponible para iOS, Android y Web (JavaScript, Node.js).

Firebase Abarcando Territorio

Si Google no ha apostado por la promoción de Go, definitivamente lo está haciendo por Firebase, es genial porque al final están brindando un fabuloso producto para los desarrolladores y marketers. Pueden sacarle mucho potencial por un lado tecnológico ya que no invierten tiempo en el desarrollo de una api rest o algo por el estilo.

Los marketers también agradecen el hecho de poder monetizar las apps con Admob (publicidad de Google) y con Firebase Analytics, que básicamente es similar a Google Analytics pero hasta cierto punto cada uno tiene lo suyo. Como por ejemplo:

Firebase Analytics se especializa en obtener datos estadísticos demográficos relacionados a los dispositivos móviles, en cambio Google Analytics se enfoca más del lado web.

Si quieres saber más de Firebase, descubrir cuales son sus pro y contras, te recomiendo este artículo de 5 Ventajas Y Desventajas De Firebase En 2017.

Entre las características más importantes encontramos:

caracteristicas_firebasecaracteristicas_firebasecaracteristicas_firebase

Ahora ya sabés que tienes alternativas para crear tu web service y obtener comunicación de una base de datos en la nube con un tu aplicativo móvil, sin importar la plataforma. (Excepto Windows Mobile, lo sentimos por Microsoft).

Actualidad, Android, Informática, Linux, Software, Tecnología

¿Qué es Xamarin y cómo funciona?

¿Has escuchado sobre las apps generadas o de un tal Xamarin? Este revolucionario IDE que quiere reemplazar a las apps híbridas y web,  representa el futuro del desarrollo móvil con esta nueva tecnología. Esto y mucho más te compartimos a continuación.

xamarin_logo

Xamarin El Futuro Del Desarrollo Móvil

Quizá el título anterior  ha sido un poco exagerado, sin embargo esto es lo que Microsoft nos invita a reflexionar  cuando nos dice que estamos en un mundo donde la necesidad del tiempo cada es vez es más escasa, y  tener que desarrollar una app móvil para cada plataforma móvil en 1 mes se vuelve un tanto complicado.

Durante los últimos 5 años  vimos? como armaron huelgas metafóricas en contra de las app híbridas  a la vez que los que desarrollan apps híbridas ven con desprecio a los desarrolladores que aprendieron a programar en Java, Swift y C#.

Al final de cuentas como bien te comentábamos en el artículo  sobre las apps nativas versus híbridas, dependiendo del tipo de trabajo y el retorno de inversión que quieras, es así como te recomendamos tomar la opción de las nativas, híbridas, o generadas en el caso de Xamarin.

xamarin-featured-image1
Xamarin para todas las plataformas

Brevemente te cuento que Xamarin es un entorno de desarrollo para crear aplicaciones nativas en cada plataforma móvil. Estamos hablando de iOS, Android y Windows Mobile. Microsoft incentiva a desarrollar en Xamarin ya que una de sus novedades es que puedes crear apps para cada plataforma, escribiendo código C# y nada más.

Pero vaya que no todo es color de rosas, aunque en teoría solamente necesitabas saber C#, será necesario conocer al menos lo básico de cada lenguaje nativo, ¿Entonces de todos modos tengo que escribir código específico para cada plataforma? Sí, ¿Entonces da lo mismo? No. Ahora te explico la razón…

run_everywhere

Xamarin trata de optimizar el código en su máxima expresión, entonces de una manera práctica, funciona más o menos así:

Tu escribes código C# en cosas tan básicas como hacer instancias a los widgets de las vistas y los inicializas. Esto se llama código compartido y hasta el momento todo muy genial, ya que no has tenido la necesidad de escribir la misma tarea en cada uno de los lenguajes de programación.

Ahora, ¿Qué pasa si necesitas hacer manejo de la cámara? Aquí es cuando entran tus habilidades básicas con cada uno de los lenguajes de cada plataforma móvil.

¿Por qué sucede eso?

Como buen desarrollador móvil que eres, sabrás que levantar el servicio de la cámara en Android, iOS, y Windows Mobile a nivel de backend funciona totalmente distinto en cada sistema operativo. Así que escribirás código específico para cada plataforma.

No Es Tan Intuitivo Como Lo Venden

A Muchas personas les parece que este IDE es una auténtica tontería. Supongamos que desarrollas nativo o híbrido, no sabes C#, aprendes C# y luego te das cuenta que para manejar los sensores debes escribir código para cada plataforma. ¿Dónde está tu optimización?

A priori pareciera que eso sucede, sin embargo tuve la oportunidad de asistir al Xamarin Dev Day 2016 en la Ciudad de Guatemala y  fue ahí cuando aclare todas esas dudas.

El objetivo principal de Xamarin es que ahorres tiempo en vez de estar escribiendo todo el código desde el inicio en cada plataforma. y que ahorres en hacer pruebas específicas para cada instalador, para lo cual Xamarin te trae una herramienta para hacer testing a cada instalador de cada uno de los sistemas operativos.

xamarin_test_cloud
Xamarin Test Cloud Service

 

Sigue leyendo “¿Qué es Xamarin y cómo funciona?”