• Diseñado para dispositivos móviles con pantalla táctil
• Smartphone, tablets, Google TV y otros
• Plataforma de código abierto
• Sistema gratuito y multiplataforma
Android
• Android Inc. Fundada en Octubre 2003
• Andy Rubin, Rich Miner, Nick Sears y Chris White
• Cámara fotográficas
• Intencion de la creacion: competir con Windows, Mobile y Symbian.
• Agosto 2005 Google adquirió la empresa
AndyEl logotipo de Android
• 2005
• Muñeco verde
Android
Historial de Actualizaciones
Android ha tenido numerosas actualizaciones desde su liberación
inicial. Estas actualizaciones al sistema operativo base típicamente
arreglan bugs y agregan nuevas funciones.
Las versiones de Android reciben el nombre de postres en Inglés.
Historial de Actualizaciones
• A: Apple Pie (v1.0), Tarta de manzana
• B: Banana read (v1.1), Pan de plátano
• C: Cupcake (v1.5), Panqueque.
• D: Donut (v1.6), Rosquilla.
• E: Éclair (v2.0/v2.1), Pastel francés.
• F: Froyo (v2.2), (Abreviatura de «frozen yogurt») Yogur helado.
• G: Gingerbread (v2.3) , Pan de jengibre.
• H: Honeycomb (v3.0/v3.1/v3.2), Panal de miel.
• I: Ice Cream Sandwich (v4.0), Sándwich de helado.
• J: Jelly Bean (v4.1/v4.2), Gominola.
• K: Key Lime Pie (v5.0), Tarta de Limón
Ventajas
• Código abiertoSe pueden desarrollar aplicaciones para
plataformas móviles
• MultitareaFuncionamiento simultáneo de aplicaciones
• ModificacionesFabricación creativa y cambios de
aplicaciones
Desventajas
• DuraciónBajo rendimiento de baterías
• No intuitivoProblema provocado por la interfaz
• DesfragmentadoNo es la misma versión
¿Que hace mejor a Android ?
Libertad para el consumidor Accesos
directos en el escritorio
Funciones y aplicativos
LIBERTAD WIDGET
S
CAMBIOS
ARQUITECTURA DE LA
PLATAFORMA
• Arquitectura: cómo está estructurado el Sistema Operativo
• Estructura de 4 capas o niveles
• Esta distribución garantiza la facilidad en el desarrollo de aplicaciones
Luismaelus
Android es una plataforma cuya arquitectura define cómo está estructurado el sistema operativo: como se ve, está dividido en 4 capas o niveles.Cada una de estas capas utiliza servicios ofrecidos por las capas anteriores, y a su vez ofrece los suyos propios a las capas de niveles superiores.Esta distribución facilita el desarrollo de aplicaciones:Básicamente, porque los desarrolladores no necesitan lidiar directamente con el núcleo del sistema operativo al momento de programar.(El núcleo es la capa de abstracción que trabaja de forma directa con el hardware)(Plataforma: combinación de hardware y software usada para ejecutar aplicaciones)
• Es el núcleo, la capa más cercana al hardware.• Se basa en una de las versiones de Linux.• Adaptado para dispositivos móviles.• Gestiona los diferentes recursos del dispositivo (la
energía, la memoria, etc).• Y el sistema operativo en sí (los procesos, los
elementos de comunicación, etc).• Nivel que los fabricantes adaptan a las
necesidades específicas para optimizar sus dispositivos.
ARQUITECTURA - NÚCLEO
Luismaelus
El Kernel o núcleo es el nivel del sistema más cercano al hardware y actúa como capa de abstracción intermediaria entre el hardware y el resto de los componentes lógicos que conforman las capas que le siguen.El kernel está basado en una versión de Linux adaptada especialmente para dispositivos móviles. (Linux hace que Android sea adaptable y libre porque es de código abierto, es decir, cualquiera con los conocimientos suficientes puede crear, adaptar, modificar o mejorar una aplicación y distribuirla de forma gratuita.)Se encarga de gestionar diferentes tipos de recursos del dispositivo, (como la energía y la memoria) y al sistema operativo en sí (los procesos y elementos de comunicación)Para esto, incluye drivers específicos basados en tecnología móvil:-Controladores de hardware-Controladores de gestión de energía-Controladores de gestión de procesos-Controladores de gestión de memoria
• Capa dividida en dos:
bibliotecas nativas Runtime de Android
• Las bibliotecas están programadas en C o C++
• Son el basamento de la optima funcionalidad de las aplicaciones
• Administrador de ventanas, formatos multimedia, protocolos de comunicación, base de datos relacional, motor de búsqueda, tipos de fuentes…
ARQUITECTURA - BIBLIOTECAS
Luismaelus
La siguiente capa está dividida en dos: Bibliotecas nativas y el Runtime del sistema.Las bibliotecas o librerías son el basamento de la funcionalidad de las aplicaciones: sus componentes están programados en C o C++ y ayudan a optimizar el funcionamiento del sistema de tareas repetitivas. (Evita tener que codificar dichas tareas cada vez que se las necesite)Funciona como repositorio de diferentes tipos de gestores y administradores; de codecs, protocolos, etc: Administrador de ventanas, una base de datos relacional, un motor de búsqueda, codecs de audio y video, fuentes, protocolos de comunicación, aceleradores 3D, entro otros.
* El Runtime cuenta con un núcleo de librerías en lenguaje Java y una máquina virtual llamada “Dalvik” (DVM)
* DVM interpreta, compila y traduce los ficheros Java a una versión más comprimida:
1 Se programa en Java 2 Se compila a Java estándar 3 Se traduce Java estándar a un formato más compacto4 Se conforma el archivo de extensión .apk
ARQUITECTURA - BIBLIOTECAS
Luismaelus
Por otro lado, tenemos el Runtime que es el entorno de ejecución. Cuenta con un grupo de librerías en lenguaje Java y una máquina virtual llamada Dalvik.La DVM, es la encargada de interpretar, compilar y traducir los elementos Java a una versión más comprimida. La DVM es comparable a la JVM en su funcionamiento pero no es igual: no ejecuta los componentes Java de forma directa sino que los reutiliza generando una versión más comprimida de los archivos Java. La secuencia sería así: 1. Se programa en Java 2. Se compila a Java estándar 3. Se traduce Java estándar a un formato más compacto y 4. Se conforma el archivo de extensión .apk.La extensión .apk son los archivos que se distribuyen finalmente como archivos ejecutables e instalables.Lo más importante es que esta organización optimiza el uso de memoria y el uso de energía
ARQUITECTURA FRAMEWORK - APLICACIONES
• La tercer capa es el Framework: compuesto de lenguaje Java en su totalidad
• Gestiona aspectos vitales para el libre desarrollo de aplicaciones; evita la programación a bajo nivel
• El diseño de aplicaciones se basa en la simplificación, la reutilización y reemplazo de componentes
• Notifica eventos; gestiona ventanas, entorno gráfico, tiempos de ejecución, etc.
• La cuarta capa es el de las Aplicaciones. • Contiene todas las aplicaciones predeterminadas del dispositivo, más
la que iremos instalando y agregando: la agenda, el teléfono, el navegador, calendario, etc
ARQUITECTURA FRAMEWORK – APLICACIONES
Luismaelus
La tercera capa es el Framework o entorno de trabajo, compuesto de lenguaje Java en su totalidad. Es el nivel disponible para ser manipulado por desarrolladores.Gestiona aspectos vitales para el desarrollo de aplicaciones y evita la programación a bajo nivel: el desarrollo de aplicaciones está basado en la simplificación, la reutilización y reemplazo de componentes. Las herramientas más importantes en este nivel son: la gestión de ventanas, funcionalidades propias de teléfono, construcción de interfaces de usuario, notificaciones de eventos, protocolos de intercambio de datos, etc.La cuarta y última capa es la de Aplicaciones propiamente dichas. Es el nivel que contiene las aplicaciones nativas del dispositivo, es decir las que vienen preinstaladas de forma predeterminadas (la agenda, el teléfono, el navegador, el calendario, etc.) y, también las que iremos agregando en sucesivas instalaciones.