Proyecto integrador. Las TIC en la sociedad S4.pptx
Arquitectura android
1. ARQUITECTURA DE ANDROID
Para comenzar, cabe destacar que Android además de ser una plataforma de Software, es un
Sistema Operativo como tal que está basado en el núcleo de Linux. Android fue pensado en un
principio para dispositivos móviles, ya que permite controlarlos por medio de bibliotecas
desarrolladas o adaptados por Google mediante el lenguaje de programación Java.
Luego de un breve concepto y la orientación que tiene el SO Android, prosigue describir la
Arquitectura interna que hace posible todo lo que vemos en Android. Ésta Arquitectura está
dividida principalmente en 5 componentes Principales:
APLICACIONES
FRAMEWORK DE APLICACIONES
LIBRERÍAS
RUNTIME
KERNEL DE LINUX
La Arquitectura de Android se puede representar con la siguiente imagen:
2. Aplicaciones: Entre las aplicaciones base incluyen un cliente de correo electrónico,
programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones
están escritas en lenguaje de programación Java.
Framework 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 esas capacidades (sujeto
a reglas de seguridad del framework). Este mismo mecanismo permite que los
componentes sean reemplazados por el usuario.
Librerías: Android incluye un conjunto de librerías de C/C++ 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; algunas son: System C library
(implementación biblioteca C estándar), librerías de medios, librerías de gráficos, 3D,
SQLite, entre otras. Están compiladas para la arquitectura de hardware específica del
teléfono. Estas normalmente están hechas por el fabricante, quien también se encarga de
instalarlas en el dispositivo antes de ponerlo a la venta.
Runtime de Android: Android incluye un set de librerías base que proporcionan la
mayor parte de las funciones disponibles en las librerías base del lenguaje Java. Cada
aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual
Dalvik, la cual ha sido escrita de forma que un dispositivo puede correr múltiples máquinas
virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.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".
Kernel Linux: Android depende de Linux para los servicios base del sistema como
seguridad, gestión de memoria, gestión de procesos, red y modelo de controladores. El
núcleo también actúa como una capa de abstracción entre el hardware y el resto del
software. Android utiliza la versión 2.6.x del núcleo de Linux. Es importante destacar que
el núcleo actúa como una capa de abstracción entre el hardware y el resto de las capas de
la arquitectura. El desarrollador no accede directamente a esta capa, sino que debe utilizar
las librerías disponibles en capas superiores.
1
3. ¿ANDROID SIN JAVA?
Actualmente las aplicaciones Android están codificadas en el lenguaje Java y luego son compiladas
por la Maquina Virtual Dalvik que utiliza un formato específico que ésta ejecuta, por lo que sería
un poco complicado que Android trabajase sin ningún rastro de Java, más no imposible, ya que por
la demanda de Oracle sobre Google, han salido varios proyectos en los que se traduce el código
Java que contiene Android para trabajarlo en el lenguaje C# de .NET con el que todo sería
“puramente” libre.
En conclusión haciendo todas las traducciones necesarias Android si podría realizarse sin ningún
rastro de JAVA.
2