Categorías

Creación App’s #01 Android – Historia

Android es un sistema operativo basado en el kérnel de Linux desarrollado inicialmente para teléfonos móviles con una interfaz táctil. Posteriormente ha visto su evolución y migración también a una gran familia de dispositivos, ya que en la actualidad podemos encontrar android en tabletas, navegadores GPS, relojes, televisores, etc.

Este sistema operativo fue desarrollado por Android Inc., empresa fundada en 2003 por Andy Rubin, Rich MIner, Nick Sears y Chiirs White, varios de los cuales como Rubin ya habían trabajado para grandes compañías del sector de la informática como Apple y Microsoft. Esta empresa estaba establecida en Palo Alto, California.

Poco tiempo después del gérmen de esta compañía, empezó a resonar en medios especializados, comparando su nuevo sistema operativo con el sistema reinante en aquel momento Symbian y con el nuevo sistema operativo de moda iOS. Google primero respaldó económicamente estre proyecto, para en 2005 adquirir la compañía e incorporarla a sus proyectos.

La presentación oficial de la primera versión de Android se realizaó en la Open Handset Alliance, consorcio de empresas formadas por algunas de las más grandes del sector involucrado en el segmento de los teléfonos móviles cuyo fin es estandarizar de forma abierta dichos dispositivos.

El 22 de Octubre de 2008 Google lanzó en colaboración con T-Mobile y HTC el primer dispositivo comercial con Android, se trata del modelo HTC Dream (T-Mobile G1 o Google Phone). En su interior se encontraba la versión 1.0 de Android. Contaba con pantalla táctil, teclado QWERTY, cámara de 3.2 megapíxels, conectividad 3G y WiFi, entre otras características.

A partir de esa fecha, gracias a Sony, HTC, Samsung, Qualcomm, Texas Instruments y Google, entre otros de los miembros más florecientes de la Open Handset Alliance, comienzan a aparecer en el mercado numerosos dispositivos con Android como sistema operativo.

En 2010 Google, de nuevo en colaboración con HTC, lanza el primer dispositivo de una exitosa serie que continúa en la actualidad denominada bajo el nombre Nexus. Los posteriores modelos de la gama Nexus han sido fabricados en colaboración con otros fabricantes como Samsung, Asus y LG. Google ha expresado varias veces que sus dispositivos de esta serie irían variando de fabricante en el tiempo y hasta la fecha ha cumplido su promesa, también con el objetivo de demostrar a la industria que no pretende crear un monopolio, sino un ecosistema en el que distintas marcas incluyan sus sistema en sus teléfonos móviles, tabletas y demás dispositivos.

Desde 2008 se lanzan de manera asidua actualizaciones constantes del sistema en el que se van incorporando tanto mejoras de seguridad, de rendimiento y estabilidad, además de numerosa funcionalidad.

Existe un repositorio a disposición de cualquiera que incluye el código fuente completo del proyecto, llamado Android Open Source Proyect. Dicho proyecto está licenciado bajo licencias de software libre y permite a cualquiera descargar el código, modificarlo, compilarlo y usarlo en cualquier dispositivo.

Android también ofrece un kit de desarrollo de software (SDK de aquí en adelante) que comprende una serie de herramientas enfocadas a los desarrolladores de software para que puedan crear entre otras cosas, aplicaciones, actualizaciones para dispositivos, nuevas versiones del sistema, etc. SDK de Android está basado en Java. Además ofrece también un kit llamado NDK que permite la programación nativa para Android usando los lenguajes C o C++ y otro kit más llamado ADK que está enfocado al desarrollo y comunicación con dispositivos “wearables” como relojes, ropa, etc y dispositivos que usen Arduino.

Histórico de versiones por API

a primera versión del sistema operativo Android se remonta a la versión pre-alpha (versión 0.9) lanzada en Noviembre de 2007. La primera versión comercial fue lanzada en Septiempbre de 2008, (versión alpha 1.0).

Desde ese momento, Google y la Open Handset Alliance han lanzado numerosas versiones del sistema operativo base. Desde abril de 2009 el nombre de cada versión se ha relacionado con el nombre de un dulce típico por orden alfabético a excepción de las versiones 1.0 y 1.1.

De esta forma se ha conseguido dar un nombre peculiar que identifica unívocamente a cada una de las versiones del sistema además de no confundir a los usuarios con nombres de versiones numéricos.

A pesar de esto, no todas las actualizaciones del sistema han sufrido un cambio de nombre, sólo las versiones con cambios significativos han avanzado en el nombre. A continuación vamos a realizar una enumeración de las versiones por orden cronológico:

Android 1.0 : Versión Alpha  API 1

Antes de ser lanzado en Noviembre de 2007 hubo al menos dos lanzamientos internos. En los lanzamientos internos se barajaban nombres de famosos robots como Astro Boy, Bender o R2-D2. Dan Morrill creó la primera versión del logo de la mascota pero sería Irina Blok la creadora del famoso logo actual. El manager del proyecto, Ryan Gibson, ideó en aquel momento el estilo de nombres asociados a pasteles que se adoptaría a partir de la versión 1.5 del sistema.

Con el lanzamiento de esta beta, se lanzó el HTC Dream, primer dispositivo comercial que incluía Android y el kit de desarrollo de software (SDK). Se fija el día 5 de Noviembre como el cumpleaños de Android.

Esta versión incluía entre otras características notables:

  • La primera versión del Android Market que permitía descargar y actualizar aplicaciones.
  • Un navegador web que mostraba totalmente páginas HTML y XHTML, en las que se podía hacer zoom y se mostraban en forma de pestañas.
  • Soporte para cámara incluyendo opciones de configuración como el cambio de resolución, balance de blancos, etc
  • Capacidad de creación de carpetas para agrupar accesos directos a aplicaciones en el escritorio.
  • Soporte para correo incluyendo los estándares POP3, IMAP4 Y SMTP.
  • Conjunto de aplicaciones completo del paquete ofrecido por Google (Gmail, Contacts, Calendar, Sync, Talk, …)
  • Aplicación Google Maps con soporte para StreetView uso de brújula, giroscopio, acelerómetro y GPS del teléfono.
  • Mensajería instánea, SMS y MMS.
  • Reproductor multimedia con soporte para reproducción de listas y en segundo plano.
  • Notificaciones y alertas configurables con sonido, vibración e indicador LED.
  • Marcador para poder realizar llamadas telefónicas sin necesidad de introducir ningún número (a partir de la agenda).
  • Soporte para cambiar la imagen de fondo.
  • Reproductor de YouTube
  • Aplicaciones de uso general como calculadora, alarma, marcador telefónico tradicional, launcher, galería y ajustes.
  • Soporte de WiFi y Bluetooth.

Android 1.1: Versión Alpha  API 2

Versión lanzada el 9 de Feebrero de 2009 incialmente para el HTC Dream solamente. Internamente recibió el nombre de “Petit Four” aunque ese nombre nunca se usó de manera oficial. La actualización resolvía una serie de bugs y añadía algunas funciones nuevas:

  • Detalles y reviews disponibles al buscar negocios en Google Maps.
  • Duración de las llamadas en pantalla durante la conversación, posibilidad de mostrar y ocultar el teclado durante la misma.
  • Opción de guardar adjuntos en los mensajes.
  • Añadido soporte para el uso de marquesinas en las capas del sistema.

Android 1.5: Cupcake  API 3

El 27 de Abril de 2009 se lanza al mercado la primera versión comercial de Android, 1.5, recibe el nombre comercial de Cupcake y está basado en el kérnel de Linux 2.6.27.

Introducción e Historia

Esta versión incluye gran cantidad de mejoras y algunos arreglos de la interfaz de usuario:

  • Soporte para teclados virtuales o en pantalla de desarrolladores independientes.
  • Soporte para Widgets – mini aplicaciones que se embeben en el escritorio para mostrar información interesante al usuario o que prestan pequeñas funcionalidades.
  • Soporte para grabación y reproducción de video MPEG-4 y 3gp.
  • Emparejamiento automático y soporte estéreo para dispositivos de sonido Bluetooth.
  • El usuario puede usar fotos para mostrar sus contactos favoritos.
  • Fecha y hora específica para eventos en el registro de llamadas y acceso con un solo toque a la tarjeta del contacto en dicho registro.
  • Transiciones de pantalla animadas.
  • Opción de auto rotación.
  • Nueva animación de arranque del sistema.
  • Posibilidad de subir vídeos a YouTube.
  • Posibilidad de subir imágenes a Picasa.

Android 1.6: Donut  API 4

Android 1.6 se lanzó el 15 de Septiembre de 2009, basado en el kérnel de Linux 2.6.29.

Esta versión incluía una serie de mejoras en el sistema como:

  • Búsqueda a partir de texto o voz incluyendo el histórico de marcadores, contactos y la web.
  • Posibilidad de los desarrolladores de incluir su propio contenido en los resultados de búsqueda.
  • Motor de síntesis de voz multilenguaje que permite a cualquier aplicación Android convertir voz a una cadena de texto.
  • Galería, cámara de fotos y de vídeo ahora están más integradas en el sistema para acceder más rápidamente.
  • Posibilidad del usuario de realizar marcado de varias fotografías a la vez para borrarlas.
  • Añadido soporte para CDMA/EVO, 802.1x, VPN y motor TTS.
  • Soporte para resoluciones de pantalla WVGA.
  • Mejoras en la velocidad de búsqueda y en la aplicación de cámara.
  • Expandido el soporte para el uso de Gestos y añadido una nueva herramienta para crear gestos nuevos.

Android 2.0 y 2.01: Eclair  API 5 y 6

Esta versión data del 26 de octubre de 2009, basada en el kérnel de Linux 2.6.29.

Introducción e Historia

Esta versión contó desde el principio con un número de usuarios muy reducido debido a que no tardó en recibir actualizaciones y la mayoría de los fabricantes pasaron de usar en sus terminales la versión 1.6 a la 2.1. Esta versión incluye mejoras destacables como el soporte para manejar el estándar 2.1 de bluetooth. Permitía la sincronía de adaptadores para conectar el teléfono a cualquier dispositivo.

Desde esta versión el manejo de cuentas se reazliza de forma centralizada desde la configuración general del teléfono. También se mejoró la gestión de los contactaos y se ofrecen más opciones de configuración en la cámara.

En cuanto al rendimiento se optimizó la velocidad de respuesta. Se aumentó el tamaño de las pantallas y resoluciones aceptadas. Se proveyó de una nueva interfaz del navegador y soporte completo para HTML5.

Android 2.1- API 7

Esta versión supone una actualización menor así que se decidió no cambiar de nombre. Se aumenta el nivel de la API por lo que conlleva una serie de mejoras.

Ahora se puede usar el motor de reconocimiento de voz para dictar textos completos al aparato sin usar ningún tipo de teclado, tanto virtual como físico.

Ahora se ofrece soporte para el uso de fondos de pantalla animados.

La API permite ahora poder recibir información de estado de la señal de red del dispositivo.

El paquete WebKit incluye mejoras en el tratamiento de bases de datos web.

Soporte para eventos en pantallas multitáctil.

Android 2.2 Froyo (FROzen YOgurt)  API 8

Esta versión fue lanzada el 20 de Mayo de 2010, basada en el kérnel de Linux 2.6.32.

Introducción e Historia

Se realizó una enorme optimización de velocidad, memoria y rendimiento. Además se incluyeron mejoras de velocidad adicionales en las aplicaciones implmentando el compiliador JIT.

Se integró el motor V8 JavaScript de Chrome en el navegador integrado y se dio soporte a Android Cloud to Device Messaging con la habilitación para todo el sistema de las notificaciones push.

Esta versión cuenta con el gran hito de ser la primera ne ofrecer soporte para Adobe Flash tanto para las aplicaciones como para el navegador integrado en el sistema. Es más, esta versión incluyó otra serie de mejoras que dotaban al sistema operativo de características únicas en el segmento de mercado en el que se movía, entre las que destacaremos, además de las anteriores:

  • USB tethering y WiFi hotspot por lo que ahora se podía compartir la conexión a internet del dispositvo con otros dispositivos bien conectados por cable USB, bien conectados a él por WiFi.
  • Posiblidad de habilitar y deshabilitar la conexión de datos a la red
  • Actualizaciones automáticas con soporte de colas de aplicaciones descargadas del Android Market.
  • Soporte para contraseñas numéricas y alfanuméricas, subida y bajada de archivos desde el navegador.
  • Ahora es compatible con los sistemas de manos libres Bluetooth y soportes incluidos en la mayoría de vehículos nuevos.
  • Mejora en la aplicación de galería, ahora con soporte de gestos para hacer zoom sobre las fotografías.

Android 2.3.X: Gingerbread  API 9 y 10

La primera de todas las versiones incluídas con el nombre de Gingerbread fue lanzada el 6 de Diciembre de 2010, basada en el kérnel Linux 2.6.35.

Introducción e Historia

Probablemente esta sea la versión que catapultó Android de forma definitiva. Durante mucho tiempo ha sido la versión más usada y estaba ampliamente extendida entre el mercado de dispositivos.

Como se había cosechado un gran éxito con versiones anteriores en tablets el tamaño de pantalla y resolución siguieron aumentando superando ya el estándar WXGA. De la mano vino también un lavado de cara al interfaz gráfica que ahora lucía más actualizado y atractivo pero también funcional ya que ahora había soporte completo para las acciones de copiar, pegar y cortar además de poder usar teclados virtuales con soporte multitáctil.

Desde esta versión se pueden usar varias cámaras a la vez en el mismo dispositivo, esto claramente enfocado al uso de las videollamadas.

La máquina virtual Dalvik sufre numerosas mejoras con lo que el funcionamiento general del sistema se aprecia mucho más fluído en terminales con idéntica potencia que usaban versiones anteriores del sistema. El soporte de memoria ahora es más eficiente y se libera con mayor agilidad. Se añade mayor soporte para el uso del NDK.

Además se realizan otra serie de mejores como la introducción de numerosos códecs, cambio de sistema de ficheros para usar EXT4 (estándar en sistemas UNIX) y se soporta por primera vez la tecnología NFC.

Android 3.X: Honeycomb  API 11, 12 y 13

Con el lanzamiento de esta versión del sistema operativo, Google daba un giro en su filosofía del sistema operativo y ahora nacía esta versión específica para tabletas y se desmarcaba dela versión 2.3.7 que era la que en ese momento había para teléfonos móviles. Estaba basada en el kérnel 2.3.36 de Linux y estaba optimizada para su uso en pantallas grandes. Su lanzamiento se materializón con el lanzamiento en la tableta Xoom de Motorola.

Introducción e Historia

En esta versión la interfaz gráfica se rediseñó totalmente dando cambios de rumbo en la forma de navegar e interactuar con el sistema. El primer gran cambio es el de eliminar las teclas físicas y colocar botones en la parte baja de la pantalla.

En el apartado gráfico se incluye compatibilidad para que todas las aplicaciones incluso las diseñadas para niveles de api inferiores se adapten a la nueva interfaz. Hay un nuevo motor gráfico para aprovechar más el hardware y se mejora la aceleración por hardware gracias al uso de OpenGL 3.0.

Pasando al sistema en sí, se reconocen mejoras que han sido vitales para su posterior desarrollo. Por primera vez se da soporte a procesadores multinúcleo y se adecúa la máquina virtual Dalvik para que pueda aprovechar dicho paralelismo incluso en aplicaciones con una sóla hebra de ejecución.

Se añaden numerosas mejoras en el apartado multimedia, incluso soportando la reproducción de medios con DRM. Se da soporte para las últimas versiones de las apis de Bluetooth y ya se pueden conectar teclados normales por USB y Bluetooth.

Se mejora la seguridad del sistema dando soporte para encriptación del almacenamiento, contraseñas temporalizadas, entre otras.

Android 4.0.X: Ice Cream Sandwich  API 13, 14 y 15

El 19 de Octubre de 2011 se da a coocer la nueva versión del sistema operativo de Google, Ice Cream Sandwich, cuyo código sería liberado en el Android Open Source Project el 14 de Noviembre del mismo año. Estaba basado en el kérnel de Linux 3.0.1. Esta es la última versión con soporte oficial para Adobe Flash Player.

Introducción e Historia

En esta versión se unifican las versiones de teléfonos y de tabletas. Se toma la línea renovadora de la nueva interfaz Holo introducida en la versión 3.0, así que se suprimen los botones también en los teléfonos y se sustituye por una botonera virtual.

Se introduce la característica estrella de la versión: el reconocimiento facial (incluido en la API). Ahora el dueño del teléfono puede desbloquear su teléfono con su cara.

El motor de reconocimiento de voz también se ve mejorado y ya soporta dictados completos en cualquier momento con sólo pulsar un botón.

Se realizan mejoras relacionadas con las comunicaciones NFC. También aparece un gestor de consumo de datos a través de redes móviles que nos permite imponer límites y controlar nuestro gasto, así como las aplicaciones que más protagonizan el tráfico.

Se realizan varias actualizaciones que no incrementan el cambio de versión que incorporan mejoras de seguridad, estabilidad y mejoras menores como mejoras en la resolución de las fotografías tomadas por la cámara.

Android 4.X.X: Jelly Bean  API 16, 17 y 18

Google anunció Android 4.1 Jelly Bean en su conferencia Google I/O el 27 de Junio de 2012. Estamos ante una actualización incremental del sistema que como prioridad máxima tiene mejorar el rendimiento y la funcionalidad de la interfaz de usuario. Esta mejora del rendimiento es parte del “Project Butter”, que usa la anticipación del toque, triple buffering, vsync extendido y un ratio de 60 fps para crear una interfaz fluída y suave. Esta versión fue lanzada al Android Open Source Project el 9 de Julio de 2012. El primer dispositivo en contar con esta versión del sistema operativo fue la tableta Nexus 7 fabricada esta vez por Asus.

Introducción e Historia

Las notificaciones ahora se presentan en un nuevo formato que permite expandirlas y que muestren más información, además de poder realizar respuestas y acciones desde la misma barra de notificaciones sin tener que ir a la aplicación principal de cada una de ellas.

Los Widgets del escritorio ahora se pueden redimensionar y al soltarlos en un hueco del escritorio se auto adaptan al hueco y pueden aparecer en la pantalla de bloqueo.

En la actualización incremental 4.2 se introducen algunas mejoras como la posibilidad de crear varias cuentas de usuario en el mismo dispositivo, con sus propias aplicaciones y configuración. Ahora en la versión base del sistema se incorpora un teclado que permite la escritura deslizando el dedo en vez de pulsando las teclas una a una como se hacía tradicionalmente.

La cámara ahora puede realizar instantáneas en 360º, esta tecnología recibe el nombre de PhotoSphere.

Con la última actualización de esta versión se realizan varias mejoras como la inclusión de perfiles restringidos, soporte para Bluetooth Low Energy y mejor rendimiento en el apartado multimedia en general (por ejemplo con el soporte completo para OpenGL ES 3.0). También se realizan mejoras en la seguridad y arreglo de vulnerabilidades.

Android 4.4 KitKat  API 19 y 20

Google anunció esta versión de Android el 3 de Septiembre de 2013. Aunque inicialmente se llamó “Key Lime Pie” el nombre se cambió debido a un acuerdo alcanzado con Nestle por el nombre de su mundialmente conocida chocolatina KitKat.

Esta versión debutó en el Nexus 5, fabricado por LG el 31 de Ocubre del mismo año. Ésta está optimizada para poder correr en un amplísimo rango de dispositivos que corren versiones anteriores siempre y cuando dispongan de al menos 512 MB de RAM. Estas mejoras están desarrolladas bajo el auspicio del proyecto “Svelte”, proyecto interno de Google.

Introducción e Historia

La interfaz de usuario también ha sufrido grandes mejoras con esta actualización. Se han cambiado los colores azules de la barra de notificaciones por blancos. Se introduce un modo de inmersión que permite ocultar los botones y la barra de notificaciones mientras se ejecuta una aplicación para aprovechar al máximo la superficie de la pantalla.

Ciertos componentes de la interfaz del sistema ahora se basan en WebViews que se basan en el motor de Chromium y brindan soporte para HTML5.

Se ha dado soporte a la emulación de tarjetas de pago NFC para que un dispositivo pueda reemplazar su Smart card.

Introducida nueva máquina virtual ART como aplicación experimental, deshabilitada por defecto, habilitable en las opciones de desarrolladores. Esta nueva máquina virtual aporta un mayor rendimiento y reduce los tiempos de ejecución de manera más que notable. Cómo aún está en fase experimental los desarrolladores deben habilitarla de forma manual para poder probar sus aplicaciones, actualmente no todas las aplicaciones hechas con anterioridad se ejecutan correctamente en esta nueva máquina virtual.

A continuación mostramos otras características reseñables:

  • Capacidad para imprimir de forma inalámbrica.
  • API pública para desarrollar y gestionar clientes de mensajería de texto.
  • Nuevas transiciones en la interfaz.
  • Soporte para Wereables (API 20)
  • Resueltaas varias vulnerabilidades
  • Mejoras en el autofocus y HDR+ en varios dispositivos como el Nexus 5.

Android 5.0 (Lollipop)

Meses después de la presentación de Android L en junio, Google finalmente anunció la nueva versión de Android, llamada oficialmente Android 5.0 Lollipop.

Introducción e Historia

Durante Google I/O 2014, la empresa dio las primeras características de Android 5.0, esta versión tiene como principal cambio el diseño, un nuevo concepto de Diseño Material (Material Design) y es la primera versión que integra Android Runtime (ART) de manera predeterminada.

En marzo de 2015, fue presentada finalmente la versión Android 5.1 Lollipop, trayendo algunas mejoras en el desempeño, nuevas animaciones y funciones, poco después de que la empresa habilitara Android 5.01 y Android 5.02 con algunas correcciones del sistema operativo. Además, a finales de abril Google comenzó a habilitar Android 5.1.1, incluyendo más correcciones al sistema operativo.

Android 6.0 Marshmallow

Android 6.0 Marshmallow, nueva versión del sistema operativo para dispositivos móviles, este es el sucesor de Android Lollipop.

Al igual que Android L, Android Marshmallow se presentó inicialmente en versión previa y con un nombre diferente a la versión final Android M, pero fue hasta agosto que Google confirmó el nombre de Android 6.0 Marshmallow.

Android 6.0 Marshmallow estivo en versión previa unos meses,hasta el 29 de septiembre que la se presento el lanzamiento oficial de Android Marshmallow. El Nexus 5, Nexus 6, Nexus 7 (2013), Nexus 9 y Nexus Player comenzarán a recibir la actualización Android 6.0 desde la semana del 6 de octubre y poco después fabricantes comenzaron a anunciar qué celulares se podrán actualizar a Android 6.0 Marshmallow. Los primeros celulares con Android 6.0 Marshmallow presintalado son el Nexus 5X y Nexus 6P.

Lo más importante

  • Android es un sistema operativo basado en GNU/Linux diseñado en su origen para dispositivos móviles y que posteriormente fue expandiéndose a otros dispositivos tales como tablets, PCs, netbooks, lectores de e-book, etc.
  • El soporte para Adobe Flash Player sólo estuvo disponible en unas cuantas versiones del sistema.
  • Gingerbread incorporó una gran cantidad de novedades tanto a estético con una renovada interfaz de usuario con incrementos de velocidad y simpleza, y se preparó para la llegada de los smartphones de doble núcleo al cambiar al sistema de archivos EXT4 y de pantallas más grandes con el soporte para resoluciones WXGA y mayores.
  • El objetivo primordial de Android Jelly Bean fue mejorar la estabilidad, funcionalidad y rendimiento de la interfaz de usuario, para lo cual se implementó el núcleo de linux 3.0.31 y una serie de mejoras en lo que se llamó Project Butter que permitió aumentar hasta 60 FPS las transiciones en la interfaz de usuario, dando una experiencia realmente fluida.
  • Android 4.4 KitKat es capaz de ejecutarse en dispositivos anteriores que dispongan de al menos 512 MB de RAM.
  • Android 4.0 Ice Cream Sandwich es la primera versión del sistema que permite desbloquear el teléfono gracias al reconocimiento facial de la cara de su dueño.