Historia de Android

El sistema operativo para móviles más famoso del mundo, no estamos hablando de otro sino de la Historia de Android. Multitud de apps disponibles para cualquier cosa que busques. Además este sistema operativo cuenta con infinidad de dispositivos diferentes para cada necesidad del usuario.

Android es un SO* basado en el núcleo Linux. En principio fue diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tablets. A día de hoy se encuentra en relojes inteligentes, televisores y coches que forman ya parte de la historia de Android. Inicialmente fue desarrollado por Android.Inc, empresa que Google en 2005, compró.

La versión básica del sistema operativo es conocida como Open Source Project* (AOSP).

(*)
SO : Sistema Operativo.
Open Source Project : es como su nombre dice, el proyecto de código abierto de Android liderado por Google, con la tarea de mantener y continuar el desarrollo futuro de Android. Técnicamente todas las ROMs stock son ROMs AOSP, exceptuando las versiones de Android que no han sido liberadas aún por Google.

El lanzamiento de Android

Antes de que Android fuera lanzando oficialmente (Android 1.0 Apple Pie) tuvo al menos tres lanzamientos internos de software dentro de Google y la OHA, denominadas Alfa*. Para los lanzamientos de estas alfas se escogieron nombres de robots ficticios, como “Astroboy”, “Bender”, y “R2-D2”.

Android 1.0
Android 1.0

Después de la alfa*, pasamos a la beta*. Esta beta fue lanzada el 5 de noviembre de 2007. Las versiones públicas beta del SDK fueron 7 incluyendo la versión estable.

Fue presentado en 2007 con las betas, pero el primer móvil con el sistema operativo fue el HTC Dream y se vendió el 23 de septiembre de 2008.

Los dispositivos de Android venden más que las ventas combinadas de Windows Phone e iOS y demás sistemas para móviles.

(*)
Alfa : Las versiones alfa son las primeras versiones en salir y contienen muchos fallos, que poco a poco, se van solventando. Así se obtiene la versión beta.
Beta : Las versiones beta son las que prosiguen a las alfa, estas tienen muchos errores corregidos. Una vez se puede usar sin problemas, se denomina estable.

Arquitectura

Pasemos a hablar de la arquitectura, los componentes principales del sistema operativo de Android:

Aplicaciones: las aplicaciones base por defecto incluyen un cliente de correo electrónico, un programa de SMS, el calendario, mapas (Google maps), navegador (Google search), contactos y más. Todas las aplicaciones están escritas en lenguaje de programación Java.

Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs* del framework* usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes. Cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de ellas (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ (códigos de programación) usadas por varios componentes del sistema. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android.

Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje de programación Java. Cada aplicación Android tiene su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecutaba hasta la versión 5.0, archivos en el formato Dalvik Ejecutable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida “dx”.

Desde la versión 5.0 se utiliza ART, que compila totalmente al momento de instalación de la aplicación.

Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de interacción entre el hardware y el resto de la pila de software, también denominado kernel.

(*)
APIs : significa, Interfaz de Programación de Aplicaciones. Es una biblioteca de módulos reutilizables que utilizas en el código de tu aplicación.
Framework : significa, Armazón. Es una aplicación reutilizable (es el conjunto de APIs) incompleta que se especializa para construir aplicaciones concretas.

Project Treble: Actualizaciones más rápidas

Con Android Oreo, es la primera vez en la que Google dividirá el sistema operativo en módulos para reducir el tiempo a los fabricantes para actualizar sus dispositivos.

Actualmente, las actualizaciones de Android pasan por un largo proceso y esta es la razón por la que se demoran tanto tiempo en llegar a los dispositivos.

Una vez Google libera una nueva versión de Android, las fabricantes de chips (Qualcomm, MediaTek, etc.) tienen que ofrecer nuevos drivers para ofrecer compatibilidad, pero puede tomar tiempo porque el código está esparcido en diferentes sectores del sistema operativo.

Una vez los fabricantes de chips hacen lo suyo, las empresas (como Samsung, LG, Sony, Motorola, etc.) puedan añadir todas las personalizaciones que comenzaron a probar con el código fuente de Android.

Dado a este engorroso proceso, sin contar el proceso adaptativo si has adquirido el terminal por una compañia telefonica, Google decidió llevar este proyecto a cabo.

Google ha decidido separar el framework de Android del framework de las capas de personalización de los fabricantes. Esto implica dividir en varios módulos la arquitectura del sistema, de manera que se podrá actualizar de manera más sencilla el sistema.

Project-Treble
Project-Treble

Esto será posible solo en los dispositivos que ya sean lanzados con el sistema operativo Android 8.0. Esperamos que esta vez, Project Treble sea la solución a la fragmentación, y no otra promesa vacía de la firma norteamericana.

Máquina virtual

Como comentábamos arriba, la maquina virtual de Android sufrió un cambio desde la versión 5.0, cambiando de Dalvik a ART.

Menu ART/Dalvink
Menu ART/Dalvink

Primero te preguntarás, ¿Qué es Dalvik? Bien, es una parte importante en la historia de Android desde la versión 2.2 Froyo, Dalvik es una plataforma de ejecución de aplicaciones de java ya que como decíamos antes, Android fue creado en java y programado en código de programación C, que hoy en día sigue siendo así, quitando el núcleo, que está basado en linux.

Dalvik por tanto no es más que un software de ejecución de procesos.

Desventajas de Dalvik

Las desventajas que tiene Dalvik es que el sistema denominado “Dalvik Caché*”, sistema que ha dado gran dolor de cabeza con el simple hecho de que si tienes poco espacio de memoria, Dalvik caché lo gastará rápidamente.

(*)
Dalvik Caché : podría considerarse como el espacio temporal que usa la Máquina Virtual para ejecutar las aplicaciones programadas en Java. Este espacio va aumentando según utilizamos las apps y que no se recupera, por eso es recomendable borrarlo de vez en cuando.

Cambio a ART

Esta versión de Android tiene bases de ejecución parecidas a su antecesor Dalvik, pero esto no es más que el principio, ya que como podemos ver, ART fue modificado para mejorar la velocidad de las aplicaciones, aunque también el rendimiento de batería y del sistema de Android en general.

Dalvik se diferencia de ART en el sistema de compilación, porque este compila los procesos y guarda el caché desde el momento de la instalación de la aplicación. Esto quiere decir que ART ya guarda el caché de la app desde la instalación, por el contrario, Dalvik lo guardaba según se iba usando la app.

Por consecuencia, la aplicación iniciará mucho más rápido y deberá ser mucho más fluido, y por otra parte en la historia de Android también tenemos que destacar que entonces los procesos gastarán menos batería y por consecuencia, el rendimiento del sistema a nivel general deberá ser mayor.

Actualizaciones

Pasemos a la historia de las actualizaciones, que ha pasado actualmente a estar en la versión 8.0 con los pixel. Desde su lanzamiento android ha llevado un ritmo de una nueva versión por año, año y medio, sin contar las actualizaciones menores.

En el siguiente esquema vemos como ha evolucionado android:

A Apple Pie 1.0

B Banana Bread 1.1

C Cupcake 1.5

D Donut 1.6

E Éclair 2.0/2.1

F Froyo 2.2

G Gingerbread 2.3

H Honeycomb 3.0 – 3.1 – 3.2

I Ice Cream Sandwich 4.0

J Jelly Bean 4.1 – 4.2 – 4.3

K KitKat 4.4

L Lollipop 5.0/5.1

M Marshmallow 6.0/6.0.1

N Nougat 7.0/7.1/7.1.1

O Oreo 8.0

Última versión de android

Mascota Android 8.0 Oreo
Mascota Android 8.0 Oreo

Actualmente disponemos de la última versión oficial de Android 8.0 para algunos dispositivos como el Nexus 6, Nexus 5X, Nexus 6P, Nexus 9, Nexus Player o los Pixel.

Nueva versión de Android y como actualizar la versión android

Android nos tiene acostumbrados a lanzar cada año un nueva gran actualización, este año Android se actualiza a 8.0 Oreo, y actualmente, de momento los pixel, y en próximos meses lo harán los demás fabricantes. Pero algunas de las ROM’s cocinadas ya disponen de la última versión.

Vulkan ¿Qué es y por qué es bueno para la historia de Android?

Vulkan es una nueva API gráfica multiplataforma, creada como el sucesor directo de OpenGL, Vulkan es libre y de código abierto.

Como principal competencia tiene a DirectX 12 de Microsoft. Con la elección de Vulkan en una plataforma tan grande como Android no sólo beneficiará a Android, sino también ayudará a que el desarrollo de Vulkan se expanda.

En 2015 Google eligió a Vulkan como el sucesor de OpenGL ES para Android poniéndolo como el stock gráfico por defecto pero manteniendo la retrocompatibilidad con OpenGL ES.

Todo esto está muy bien, pero… ¿Qué es Vulkan y OpenGL ES o la mencionada DirectX 12? Son APIs gráficas, una API gráfica es la parte del sistema que se encarga de renderizar o dibujar todo lo que ves en pantalla cuando ves un video o juegas algún juego como Need for Speed o Modern Combat 5.

Problemas con OpenGL ES

La API gráfica por defecto en Android es OpenGL ES, una característica heredada directamente de Linux. El problema con OpenGL ES es que se ha quedado atrás con el tiempo, según los expertos. Dado esto, no logra exprimir como es debido la potencia gráfica de nuestros dispositivos Android.

Esto se debe a que OpenGL es una API gráfica de alto nivel, es decir, es muy fiable. Pero a dia de hoy, no se comunica con el hardware. Lo que hace una API o lenguaje de alto nivel es interpretar el código en un lenguaje digerible para que nuestra gráfica Adreno o PowerVR lo lea nativamente.

Ventajas Vulkan

Vulkan está implementado a partir de la versión 6.0 por lo que entró más tarde en la historia de Android.

A diferencia de OpenGL ES, Vulkan es una API gráfica de bajo nivel, lo cual significa que ofrece muchísima mejor eficiencia, ya que al ser de bajo nivel tiene un acceso más directo a la GPU al comunicarse casi directamente con el hardware, es decir, Vulkan permitirá exprimir al máximo la potencia de nuestro Android al no tener intermediarios entre el software y la gráfica. Podéis juzgar vosotros mismos con el vídeo.

Compatibilidad Vulkan

En teoría, Vulkan es compatible con cualquier GPU que soporte OpenGL ES 3.1 en adelante. Debería ser compatible con gráficas de la serie Adreno 400 en adelante, PowerVR Series 6 en adelante, procesadores Tegra K1 y cualquier gráfica genérica ARM Mali de serie 600, 700 y 800 en adelante.

Esto quiere decir que cualquier móvil de 2014 y que forma parte de la historia de Android puede ser compatible con esta nueva API.

Aplicaciones

Las aplicaciones se desarrollan en el lenguaje de programación Java con Android Software Development Kit (Android SDK*), pero hay disponibles otras herramientas de desarrollo para aplicaciones o extensiones en C o C++. Los desarrolladores suelen usar Android Studio, creado por la propia Google.

Project Android Studio
Project Android Studio

Todas las aplicaciones están comprimidas en formato APK, que se pueden instalar sin dificultad desde cualquier explorador de archivos en la mayoría de dispositivos, siempre que ese apk sea compatible.

La app esencial de google para poder a empezar a usar Android es Google Play. Es la tienda desarrollada por Google para dispositivos Android. Una aplicación llamada “Play Store” que se encuentra instalada en la mayoría de los dispositivos Android (quitando los dispositivos chinos o otros fabricantes con tiendas propias) y permite a los usuarios navegar y descargar aplicaciones publicadas por los desarrolladores.

La reciente app lanzada por la gran G, no es otra que Android Pay un nuevo paso en la historia de Android, el sistema de pago que te permite comprar usando un teléfono con sistema operativo Android, que por fin ha llegado a España de la mano de un banco únicamente, por el momento.

(*)
Android SDK : un conjunto de herramientas de desarrollo para los desarrolladores.

La historia de Android no ha hecho nada más que comenzar y esperamos muchos más años disfrutándolo en ElCamioneroGeek.es

Además, si tienes Telegram y no te quieres perder ninguna de nuestras noticias, únete a nuestro canal: Telegram ElCamioneroGeek.es

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
U2.S5.ACTIVIDAD 1/ SELECCIÓN Y RECOPILACIÓN DE IFORMACIÓN – Jonathan Sánchez IDS Recent comment authors
  Suscribete a las respuestas  
recientes antiguas más votadas
Notificar...
trackback

[…] Llorca, C. (17 de 09 de 2017). La Historia de Android. Obtenido de clubtech.es: https://clubtech.es/2017/09/historia-de-android/ […]