5_funcionalidades_android_studio_necesitas_saber
Actualidad, Android, Informática, Open-Source

5 Funcionalidades De Android Studio Que Necesitas Saber

Desde los inicios de Android hubo un IDE que sobresalió durante mucho tiempo, fue amado por la mayoría (Eclipse). Pero hoy en día contamos con la herramienta oficial de Google… Android Studio la herramienta de vanguardia para los desarrolladores de Android. Y te contaré 5 funcionalidades que seguramente no sabías de este espectacular IDE.

Compatibilidad con Android NDK (C++)

En el mundo del desarrollo móvil sabemos que no necesariamente por ser una aplicación nativa Android significa que haya sido escrito en código Java. Es el caso de Android NDK. Esta genial librería basta con implementarla desde el Android SDK y aplicar los cambios en tu proyecto.

android_ndk_from_androidcentral
Foto de AndroidCentral

 

Bien, y eso ¿Para que me sirve?

Hay aplicaciones en Android en las cuales necesitarás utilizar demasiados recursos del dispositivo móvil y por ende, optimizar de la mejor manera posible los mismos. Esto es común en los juegos de video para móviles, por sus gráficos y motores de procesamiento necesitan utilizar gran parte del hardware que tiene el dispositivo móvil. Cosa que por sí solo, Java no nos puede ofrecer <<hasta cierto punto, por supuesto>>.

En resumen, puedes crear aplicaciones en Android con C++ o incluso hacer una mezcla de Java con C++.

Pruebas Unitarias Con JUnit

De las mejores prácticas que podemos realizar como desarrolladores, son las pruebas unitarias para comprobar que nuestro código funcionará cuando se encuentre en plan de producción.

Tal, como en otros frameworks y lenguajes, Android Studio nos ofrece las pruebas unitarias tanto para el código Java como para la experiencia de usuario en Android.

Si quieres saber ¿Cómo crear las pruebas unitarias en Android? puedes consultar en su documentación oficial.

 

Instant Run

Esta es de las funcionalidades introducidas recientemente. Para no esperar demasiado tiempos de carga cada vez que compilas nuestro código, Android Studio implementó esta nueva funcionalidad excelente para aplicar los cambios de código de una manera rápida.

Es decir que haces un cambio de 5 líneas de código, presionas el botón de instant run y de inmediato compilará el código y mostrará los cambios en el dispositivo móvil.

instant_run_from_netdna-cdn
Foto de NetDNA-CDN

Claro, como todo en esta vida tiene sus ventajas y desventajas, desde mi experiencia en las últimas tres aplicaciones que he desarrollado (ElCaldo, NSEx iLifebelt y Semana Santa GT) te podría decir que hay momentos donde el instant run brilla por su ausencia, es decir que si compila los cambios pero aparece un mensaje tipo Toast para decir que debes reiniciar la actividad y entonces a la larga es como un tanto engorroso tener que reiniciar la actividad cada vez que utilizas instant run.

 

Editor De Código Inteligente

Ni siquiera has terminado de escribir el método y ya te esta autocompletando Android Studio, pero lo más curioso de todo esto es que a veces manejamos funciones, métodos, clases que incluso pueden llamarse igual en distintos paquetes, aún así Android Studio reconoce el contexto y me sugiere el más adecuado para la situación.

Es decir que es bastante inteligente el IDE para reconocer cuál será mi siguiente jugada dentro del código. También los que han visto las mejores del IDE, anteriormente cuando una línea de código te marcaba con error, te sugería cualquier ridícula solución para quitar la línea roja, pero ahora te ofrece soluciones con coherencia a resolver el error y no simplemente para quitar la fastidiosa línea roja debajo.

Traducciones A Distintos Idiomas

Android Studio es un abanderado para traducir las apps móviles a distintos idiomas, pues es sencillo, solamente se crea una carpeta con la terminación del idioma, luego creas un recurso tipo xml y agregas los strings con el id que contiene cada archivo de distinto idioma.

traductions_android_studio_from_stackoverflow
Foto de StackOverflow

Te podría interesar: Descargar Android Studio

 

Estas son funcionalidades que caracterizan a nivel general a Android Studio, sin embargo han habido nuevas funcionalidades que en una próxima ocasión te compartiré para enterarnos de lo más actual del IDE por excelencia para desarrollar apps Android.

Anuncios
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.

Actualidad, Android, Informática, Tecnología

5 Ventajas Y Desventajas De Firebase En 2017

Firebase es una de las compras más potenciales que ha tenido Google en los últimos 5 años, cuenta con una propuesta de valor súper interesante tanto para un equipo de marketing, como para un equipo de desarrollo. Entre la más famosas encontramos Firebase Analytics, Mensajería en la nube, Notificaciones tipo Push, base de datos en tiempo real, entre otras cosas. Pero no todo es color de rosa, tenemos claras ventajas y desventajas para el uso de esta revolucionaria plataforma de Google para este 2017.

introducing_firebase

Ventajas

 

  • Adios WebServices

Cuando desarrollamos una app móvil que deba conectarse a una base de datos en la nube, salen a presumir los programadores backend con sus habilidades en base de datos SQL y lenguajes como, php, java script o aún más, sus conocimientos en frameworks como Laravel y Node.js.

Sin embargo con Firebase, ya no tendrás que solicitar apoyo para la construcción de web services, api rest, configuración del servidor, etc.

realtime_database_firebase

Basta con tener la lógica de tu app móvil y tener un poco de conocimiento en base de datos (bueno, en realidad no necesitas saber prácticamente nada). Y tan fácil como implementar la librería y utilizar los ejemplos de la documentación de Firebase, será suficiente para realizar tu respectivo CRUD de usuarios.

multiplatform_firebase

Esto hará que tu equipo de desarrollo se enfoque en temas más trascendentales para el usuario, como la experiencia del mismo UX (User Experience).

Si te interesa, puedes ver: ¿Cómo funciona un api?

 

  • Multiplataforma

Esta ventaja le ha gustado a muchos desarrolladores. El hecho de tener una librería multiplataforma, se agradece demasiado. De esta manera podemos utilizar prácticamente la misma lógica del código para cada lenguaje de programación.

ios_android_firebase_together

Firebase está disponible para Android, iOS, C++ y Node.js <<Lastima por Windows Mobile>>.

Implementa Firebase ahora mismo en tu proyecto.

 

  • Push Notification

Facebook recién clausuró Parse, y con su cierre dejó huérfanas a miles de aplicaciones móviles que utilizaban este servicio. Parse ya estaba bien posicionado en el mercado pero por temas financieros el gigante de las redes sociales decidió dar fin al proyecto.

Así que Google vio una gran oportunidad para implementar Notificaciones tipo Push en la librería oficial de Firebase. De una manera intuitiva y genial, puedes implementar esta función con pocas líneas de código.

notification_firebase

  • Firebase Analytics

Esta probablemente sea de las funcionalidades más importantes de Firebase. Los análisis de datos hoy en día son indispensables, por lo que de alguna manera se deben medir los resultados de un producto en el mercado.

Para los marketers es necesario tener métricas al menos por semana, mes y año.

Firebase Analytics está enfocado a medir métricas específicas de una aplicación móvil. Muchas personas aún dudan si utilizar las analiticas de Google o Firebase. He utilizado las analiticas de Firebase y podría decir que tiene lo escencial para, medir mercados, conocer a tus usuarios, por cual canal se genera más tráfico e instalaciones, entre otras cosas, las puedes obtener fácilmente con Firebase.

El Dashboard es super sencillo de utilizar (a comparación de Google Analytics). Te puedo decir que Google Analytics esta enfocado más a sitios web, en cambio Firebase Analytics, está enfocado y optimizado para apps móviles y por supuesto para apps web.

firebase_analytics_reporting

 

  • Ganar Dinero con Firebase

Para retornar de manera sencilla la inversión en tiempo y desarrollo de tu proyecto, puedes implementar AdMob con Firebase. No quiero entrar en detalles de la publicidad para móviles, pero si te digo que es una manera muy fácil de obtener tu ROI (Retorno De Inversión).

firebase_admob

Desventajas

 

  • Límite de conexiones simultáneas

En la versión gratuita de Firebase solamente puedes tener como máximo, 100 conexiones simultáneas. Para conexiones simultáneas ilimitadas deberás pagar por una cuenta con más capacidad y funcionalidades.

Los precios los veremos en la desventaja #5.

 

  • Base de datos no tan complejas

 

Es cierto que con esta propuesta, probablemente abarcaremos el 90% de las situaciones para desarrollar nuestra app móvil. Pero y ¿el otro 10%?

Esta talvez será un situación difícil para los que tienen en mente construir un proyecto gigante, como hacer una red social compleja o una plataforma tipo Amazon, entonces sí deberás invertir en tu propio servidor y en desarrollo de backend para tu servicio web. De lo contrario será más que suficiente.

 

  • Algunas Funcionalidades no disponibles en las analiticas

Como es habitual de Google Analytics puedes echar un vistazo a tus usuarios activos en tiempo real y su localización. Esto no pase con las analiticas de Firebase. Pero como mencione anteriormente, Firebase está enfocado en apps móviles, no en la web. Por lo cual han decidido quitar esto y entre otras que si se encuentran en Analytics.

Pero Firebase traé otras analiticas que Google Analytics no provee.

 

  • Pruebas en la nube limitadas

El servicio de realizar testing de tu apk en la nube, es algo que nos ha gustado a todos. Pero tenemos restricciones en la versión gratuita. Solamente puedes hacer pruebas en 15 dispositivos por día, de los cuales, solo 5 dispositivos son físicos, los demás son virtualizados.

Cabe mencionar, que no son pruebas sencillas. Son pruebas donde Firebase utiliza un robot para hacer pruebas, como si un usuario tuviera tu app en su propio smartphone. <<Muchas de estas pruebas simulan a un usuario Dummy>>.

 

  • Precios

Aquí se pone interesante la cosa. En realidad tenemos muchas funciones (por no decir, casi todas) con la versión gratuita. Pero, no por tener todas las funcionalidades, significa que no hayan límites.

Mencioné varios situaciones donde habrá límites, como la conexiones de usuarios simultáneos. Para tener ilimitado deberemos pagar. Los planes que ofrece Firebase son los siguientes:

 

  • Spark (FREE).
  • Flame ($25 por mes).
  • Blaze (Pagas en medida a como lo requieras).

 

firebase_pricing

Talvez te preguntes, ¿Pagar en medida a como lo requiera? Bueno, significa que pagarías una cuota en base a tus resultados, es decir que puedes personalizar más tu plan y en base a lo que solicites así será tu mensualidad de pago.

Cuentame si continuarás invirtiendo tiempo y dinero en el desarrollo de tu backend o darás el salto hacia la plataforma por excelencia de Google para construir fácil y rápido tu propia api rest. Deja tu opinión en los comentarios o comparte tu experiencia con Firebase.

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).

5_consejos_para_convertirte_en_un_exitoso_programador_android
Actualidad, Android, Informática, Noticias, Opinion, Personal, Personalización, Tecnología, Tips

5 Consejos Para Convertirte En Un Exitoso Programador Android

La diferencias entre un excelente programador y uno malo, son las buenas prácticas para desarrollar un proyecto. Conozco muchos programadores que saben escribir código como gacelas, pero cuando echo un vistazo a su código tienen muy malas practicas. Como buen programador Android, sabés que el código no optimizado puede verse reflejado en el performance de la app.

5_consejos_para_convertirte_en_un_exitoso_programador_android

Aquí van los consejos clave para tener buenas prácticas y por ende mejores apps para ofrecer al mercado:

 

  1. Lee Documentación Constantemente

Jim Rohn predicaba que el secreto para ser un profesional exitoso, era convertirte más valioso para el mercado. Solo así podrás ganar más dinero y ser referente en tu industria.

Lo mismo sucede en el desarrollo móvil. Debés estar actualizado lo más rápido posible, enterarte de nuevos estándares y patrones de diseño, nuevas librerías, mejoras de las herramientas, etc.

5_consejos_para_convertirte_en_un_exitoso_programador_android
Para eso Android cuenta con lo que muchos denominan <<La Biblia De Android>>

 

Recuerda que si no creces, simplemente estarás devaluando tu trabajo.

2. Agenda Una Cita Con Android Studio

Conoce en su totalidad el IDE. Debes saber cómo funciona, qué ofrece y qué hacer en situaciones donde tu proyecto tenga problemas.

android_studio_splash_logo

Me encanta dar este ejemplo: Imagina que tienes que construir una caja con tablas de madera. Como opciones de herramientas tienes, un martillo, tablas, clavos y una piedra. Pero tú solo sabes meter clavos a golpes con un trozo de lo que sea. ¿Cuál crees que utilizarás para meter los clavos en la madera? El pedazo de piedra ¡Claro! Aunque tengas las herramientas si no sabes utilizarlas estarán en vano.

3. Aprende POO Al 100%

Una situación bastante común es utilizar una misma función en varias clases y cargar la memoria de Java de la misma cosa. Entonces, para solucionar esa situación, estudia POO (Programación Orientada Objetos) y por supuesto también los pilares que lo conforman.

poo_android

Una vez que tengas todos los nuevos conocimientos, podrás crear métodos personalizados, interfaces abstractas, diferenciaras una variable de tipo pública y privada, estática, etc.

 

Todo esto te lo agradecerá mucho el recolector de basura de Java y el usuario también.

4. Conoce El Ciclo De Vida De Una App Android

Te has dado cuenta que hay apps que cuando estas en ella, y cambias a otra, luego regresas, ¿Qué sucede? ¿Ya no la encuentras como la dejaste? Claro, puede que no maneje bien la memoria, pero lo más probable sea que no maneja el ciclo de vida de la app.

 

<<¿Cómo funciona el ciclo de vida de una app Android?>> Muy fácil, implementas métodos nativos que ya contiene el SDK nativo de Android. Llamas a cada método según consideres que tu app pueda entrar en ese modo. Por Ejemplo:

 

  • onPause():

Cuando un usuario cambia a otra app, tu app deberá entrar en modo pausa.

  • onResume():

Cuando el usuario regrese a tu app, deberá continuar con la tarea que pausó.

  • onBackground():

Tienes la opción de indicar en este método qué hacer cuando está en 2do plano.

  • onDestroy():

Método que indica qué comportamiento tener cuando una app es cerrada al 100%.

life_cycle_android

Hay otros métodos, pero estos son los más básicos para hacer buen manejo de tu app Android.

5. Cuida La Memoria

Si aplicas bien el consejo #2, ten por seguro que el manejo de la memoria será pan comido para ti. Puntualmente, recicla tu código, no crees variables que no utilizaras y mucho menos clases, interfaces que no servirán para nada.

gargabe_collector_duke

También cuida el peso de tus apps. Mi recomendación para un app básica es que no pese más de 3 mb. Una app intermedia que no exceda de los 10 mb. y una app compleja que no sobrepase los 100 mb. Hoy en día los usuarios deben hacer malabares con el espacio de almacenamiento para instalar todas sus apps que desean. Aunque ya hay teléfonos con capacidades de almacenamiento increíbles.

 

Más Practica, Más Velocidad, Más Ingresos.

Cuando te vuelves un programador que sobresale, y no solo busca ganar dinero, sino que además intenta dar un valor agregado a sus creaciones, dejame contarte que serás uno de los pocos privilegiados, y eso mi amigo, te hará memorable.

Puedes tener una app que hace exactamente lo mismo que la de alguien más, pero si le pones un diseño más intuitivo y optimizas tu código para el performance de la misma, con tan solo esas dos cosas harás que tu producto sea mejor.

Aplicando estos consejos puedes empezar a desarrollar apps increíbles en Android.

como_funciona_una_api
Informática, Internet, Linux, Open-Source

¿Qué Es Y Cómo Funciona Una Api?

Ya sea que hayas interactuado o no con una API (Application Programming Interface) es necesario que sepas todo el alcance que puede tener y ejemplos prácticos de cómo funciona una api en el caso de las aplicaciones móviles.

como_funciona_una_api

¿Cómo Funciona Una API?

Hay distintos tipos de API, entre las más populares podemos encontrar las Api Rest y Json RPC. Pueden construirse con distintos lenguajes como, php, java, xml entre otros no tan populares.

 

La idea fundamental para crear una API es que tu hagas una petición (la cual lleva una consulta) y te devuelve una respuesta; Esa respuesta la tomas y luego dependiendo que necesites, escribirás código para realizar alguna acción deseada.

api_rest_how_works

how_works_json_rpc
Como funciona un JSON-RPC

 

¿Cómo funciona una API en Android y iOS?

En el caso de los sistemas operativos móviles, cuando se desarrolla una app, siempre hay un situación que se necesita de ciertos conocimientos previos, ¡claro! Me refiero a los Web Service.

Un Web Service como su nombre lo indica, es aquel servicio web para realizar consultas hacia la nube, sin importar de donde venga la petición, puede ser tanto una app móvil, una app web o una aplicación de escritorio y siempre retorna una respuesta.

Esto sucede con todas las plataformas móviles, aunque hoy en día, están procurando solventar esta situación de tener que construir un web service con otro lenguaje de programación ajeno a la plataforma móvil, que por supuesto, implica realizar más trabajo.

how_works_apirest_android
Como funciona una apirest en mobiles

De las alternativas que ofrece Google, <<para no invertir tiempo y recursos en la construcción de un web service>> encontramos la plataforma que compró en 2014, Firebase; esta herramienta de manera intuitiva simplifica el desarrollo de un web service tanto del lado móvil como del lado web.

Firebase funciona tanto para iOS como para Android y Web. Lo fabuloso de esta herramienta es que no escribes nada de código y tampoco debes entender demasiado de base de datos (vale, prácticamente nada).

firebase_logo
Logo de Firebase

Con una interfaz gráfica muy bonita, solo necesitas tu mouse y la idea básica de que quieres en la base de datos y luego la implementación es muy sencilla. En la página oficial de Firebase, se muestra toda la documentación necesaria para el desarrollo de tu servicio web para las distintas plataformas.

pro_firebase
Ventajas de Firebase

Si quieres saber más de Firebase, te recomendamos que leas antes las ventajas y desventajas de Firebase.

Por eso muchas personas consideran que el backend un app móvil no está en si, del lado del sistema operativo sino del lado del servidor. Aunque desde mi perspectiva diría que las apps móviles tienen tanto partes backend y frontend a la vez (sin incluir el web service).

 

Las APIS Más Famosas

De las apis más famosas en el desarrollo móvil encontramos las del titán Facebook, digo las <<apis>> porque la empresa Facebook además de la red social que lleva el mismo nombre, también cuenta con Instagram, Whatsapp y Messenger (¿Monopolio?).

Cuando deseamos que nuestra app tenga un sistema de logeo intuitivo, procuramos que sea muy fácil para el usuario como dar dos taps en la pantalla y listo. Por eso la api de Facebook es una de las más completas, ya que cuentas con un sistema de login, publicaciones, mensajes, bots y entre otras cosas más avanzadas.

Si quieres hacer un sistema de login sofisticado e intuitivo, te comparto las apis más populares y que probablemente en algún momento las utilizaras:

Api Facebook

Api Instagram

Api Twitter
¡Excelente! Ahora ya sabés que si quieres construir tu web service tienes dos caminos, compras tu servidor y alojas tu servicio web con tu lenguaje de preferencia, o compras tu membresía en Firebase y haces maravillas.