La revolución que trajo consigo el auge de la telefonía móvil no hizo más que solo comenzar. Los dispositivos que constantemente están apareciendo en el mercado, como sabemos, ofrecen cada vez más capacidades similares a las de un computador personal. Prácticamente se trata de muchas computadoras móviles en los bolsillos de cada uno de nosotros. Las apps nativas, y particularmente las del sistema operativo Android, llegaron para implantar una nueva revolución sobre la que anteriormente hablábamos.
Haciendo un análisis a gran escala, Android se ha logrado convertir en la alternativa dominante frente a otras plataformas tales como iPhone o Windows Phone, por ejemplo. Es por ello que en este artículo conocerás las características de este sistema operativo, destacando los aspectos que lo hacen distinto de su competencia.
En principio, es necesario destacar por qué Android es tan especial. Es decir, ya que en el mundo de las apps móviles coexiste una competencia tan alta (Apple, Windows Phone, BlackBerry, Palm, Java Micro Edition, LiMo, Firefox OS, etcétera, la plataforma en cuestión presenta una serie de características que lo hacen diferente. Básicamente, podríamos decir que es el primero que combina en una misma solución, una serie de cualidades que detallaremos a continuación.
¿Por qué Android es tan especial?
En primera instancia, hemos de destacar que se trata de una plataforma completamente abierta. En efecto, una de sus mayores ventajas es que cualquier persona puede desarrollar un proyecto tomando sustento en ella. Desde luego, con la posibilidad de customizar el sistema, sin la obligación de pagar regalías.
Otro punto interesante a tomar en cuenta es que Android es adaptable a cualquier tipo de hardware. En sí, la plataforma no fue diseñada para su uso en teléfonos y tablets. No obstante, hoy en día podemos encontrar relojes, gafas, cámaras, televisores, sistemas para automóviles, electrodomésticos… etcétera. En sí, podríamos toparnos con una gran variedad de sistemas basados en esta tecnología.
Las aplicaciones, al final del día, son desarrolladas en Java o Kotlin. Y esto se presenta como una de las mayores ventajas de este tipo de apps móviles. Esto es así ya que nos asegura que podrán ser ejecutadas en cualquier tipo de CPU. Todo esto, permitido gracias al concepto de máquina virtual.
Arquitectura Android
Su arquitectura está basada en componentes inspirados en Internet. Puede que esto suene un tanto confuso, vamos a ejemplificar. El diseño de una interfaz de usuario se realiza en formato XML, lo cual, en definitiva, permite que una misma aplicación pueda ejecutarse tanto en un reloj de pantalla reducida, como en un televisor. Esto, si se quiere, puede compararse con el concepto de responsividad o diseño responsivo.
Las apps nativas basadas en sistema operativo Android, además, pueden poseer una gran cantidad de servicios incorporados. Esto, por ejemplo, permite utilizar la geolocalización basada tanto en GPS como en redes, o bases de datos con SQL, el reconocimiento y síntesis y voz, navegadores, multimedia, etcétera.
Los niveles de seguridad son realmente aceptables. Es decir que los programas se encuentran aislados unos de otros gracias al concepto de ejecución dentro de caja (sandbox), el cual está heredado directamente del sistema operativo Linux. Además, lo que ocurre es que cada aplicación dispone de una serie de permisos que limitan su rango de actuación (como es el caso de los servicios de localización, acceso a Internet, etcétera). Incluso, desde la versión 6.0 (Android Marshmallow), los usuarios ya pueden conceder o retirar permisos a las aplicaciones en el momento que lo deseen.
Optimización Android
En el diseño de Android se ha tenido en cuenta el hardware específico de los dispositivos móviles en los que vayan a utilizarse las aplicaciones creadas. Por ejemplo: Android utiliza la máquina virtual ART (también conocido como Dalvik en las versiones más antiguas). En síntesis, esto nos presenta la pauta de que este sistema operativo utiliza la implementación de Google de la máquina virtual Java optimizada para dispositivos móviles. Por ello, presenta una optimización fuertemente orientada a la baja potencia en el uso de este tipo de apps móviles, lo cual, al final del día, se correlaciona con un uso menor de memoria RAM.
Por último, encontramos la alta calidad de gráficos y sonido. Android utiliza gráficos vectoriales suavizados, animaciones, y gráficos en 3D basados en OpenGL. A su vez, incorpora los codecs estándares más comunes de audio y video, los cuales incluyen a H.264 (AVC), MP3, AAC, entre otros.
¿Cómo surgió Android?
Tal como hemos visto hasta ahora, este sistema operativo combina características sumamente interesantes. Ahora bien, un punto importante presentadas ya estas cualidades, es pensar si esta plataforma reunirá las condiciones necesarias para convertirse en el S.O, estándar para la telefonía móvil.
Sencillamente, para responder esto hay que pensar en las posibles sucesiones evolutivas tanto del iPhone de Apple, y en la respuesta de Windows con su propio sistema operativo. No obstante, es necesario destacar que Android, a lo largo del tiempo, logró acaparar casi en 90% de la cuota de mercado, lo cual, al final del día, lo posiciona en un peldaño dominante, el cual será muy difícil de combatir a corto plazo.
Básicamente, las apps móviles de Android ofrecen una forma sencilla y novedosa de implementar cualquier tipo de necesidades que presente una empresa o negocio. Esto, en definitiva, otorgará el plus necesario para que cualquier entidad (a decir verdad, sea o no lucrativa) pueda alcanzar todos sus objetivos propuestos.
A raíz del párrafo anterior, podemos comenzar a hablar de cómo fue el surgimiento de esta plataforma. Hablar de apps nativas para particulares, antes de su explosión en el mercado, era prácticamente un lujo. En el año 2005, Google adquirió Android Inc. Se trataba de una pequeña compañía, prácticamente recién creada, orientada a la producción de aplicaciones para terminales móviles. Es así que ese mismo año se comenzó a trabajar en la creación de una máquina virtual Java, optimizada precisamente para celulares: se la llamó Dalvik VM.
Posteriormente, en el año 2007, se creó la compañía Open Handset Alliance, cuyo objetivo fue desarrollar estándares abiertos para teléfonos móviles. Las empresas que lo conformaban eran Google, Intel, Texas Instruments, Motorola, T-Mobile, Samsung, Ericsson, Toshiba, Vodafone, NTT DoCoMo, Sprint Nextel, entre muchos otros. En sí, su principal objetivo fue promover el diseño y la difusión de la plataforma Android. En efecto, desde ese momento sus miembros se comprometieron a publicar una parte importantísima de su propiedad intelectual como código abierto bajo licencia Apache v2.0.
¿Cómo programar aplicaciones nativas Android?
Más allá de los conceptos que cualquier persona debería tener aprendidos para poder programar, el mundo de Android, ateniéndose a sus múltiples ventajas, requiere algunas bases sólidas extra un poco más fuertes. Antes de empezar a programar en Android, por ejemplo, es necesario pensar en la versión del sistema para la cual se desea realizar la aplicación.
Esto, sin lugar a dudas, se relaciona directamente con el plan de negocio establecido por el futuro propietario. Precisamente, en todo lo que refiere a la segmentación de mercado.
En la práctica, es necesario observar y comprender que existen clases y métodos que están disponibles recién a partir de cierta versión. Es por ello que, si deseamos utilizarlos, es obligatorio conocer la versión mínima necesaria previo al desarrollo.
Una vez avanzado sobre este paso, es necesario pensar en la plataforma de desarrollo. Para esto, como vimos, es necesario saber si la aplicación requerirá de alguna característica especial que solo esté disponible a partir de una versión determinada. En la práctica, este paso puede salvarse al seleccionar la mejor versión posible que la app en cuestión pueda soportar. Por ejemplo: si lo que se quiere utilizar es el motor de animaciones de propiedades, será necesario como mínimo utilizar la versión 3.0, siendo esta la primera que lo soporta. El problema radica, a decir verdad, en que un dispositivo con versión anterior a la 3.0 no soportaría su instalación.
Programación Android: Filosofía
En efecto, tal como describimos, la filosofía tradicional de Android siempre fue que las novedades que aparecen en una API determinada (por ejemplo, para la versión Lollipop 5.0, el nivel de API es 21), solo pueden utilizarse en dispositivos que soporten esa misma API.
Esto nos lleva a pensar que la fragmentación de las versiones de apps nativas Android es muy grande. Esto, al punto tal que podemos encontrar dispositivos móviles con una gran variedad de versiones disponibles en el mercado.
Con el fin de que las aplicaciones puedan ser utilizadas por el mayor número posible de usuarios, será necesario ser sumamente conservadores a la hora de escoger la versión mínima de API disponible para la app en cuestión. Caso contrario, y como consecuencia, las novedades que aparecieran en las últimas versiones de Android, no podrían ser utilizadas (salvo, desde luego, se realice una actualización bastante robusta).
En síntesis, podemos encontrarnos con que, dentro del mundo de apps nativas para móviles, el sustento de Android se presenta como una de las opciones más interesantes. Las cualidades que hemos detallado en este artículo, en verdad, irán incrementándose con el paso del tiempo. Esto, lógicamente, en virtud al fuerte peso que este sistema operativo tiene en todo el mundo.
Como pudiste observar, contar con una aplicación Android es, sin lugar a dudas, una opción sumamente viable para tu negocio. Es momento de que empieces a contar con la tuya.