Arquitectura de Android
Dentro del universo de android tenemos una parte muy importante que permite el funcionamiento de nuestro dispositivo, en este caso es la arquitectura de nuestro SO Android.
Esta parte es muy importante para entender un poco mas como se compartan nuestras aplicaciones y con que herramientas contamos para desarrollar estas mismas, ya que al tener que desarrollar alguna aplicación y tener el conocimiento sobre que estamos trabajando, nos abrirá mas posibilidades para saber que tan lejos podemos llegar con alguna aplicación que deseemos desarrollar.
A continuación, la arquitectura android se compone de las siguientes capas:
- 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 esta diseñada para simplificar la reutilización de componentes. Cualquier aplicación puede publicar sus componentes de cualquier otra aplicación, después de hacer uso de ese código sujeto a reglas de seguridad de ese framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.
- ANDROID RUNTIME: 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 corre su propio proceso, con su propia instancia de la maquina virtual dalvik, la cual ha sido escrita de forma que un dispositivo puede correr múltiples maquinas de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex) el cual esta optimizado para memoria mínima La Maquina Virtual esta basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato .dex por la herramienta incluida "dx".
- Tiempo de
- LIBRERÍAS: Android incluye un conjunto de librerías de C/C++ usadas por varios componentes del sistemas. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android.
- Librería Libc: Incluye todas cabeceras y funciones según el estándar del lenguaje C. Todas las demás librerías se definen en este lenguaje.
- Libreria Surface Manager: Es la encargada de componer los diferentes elementos de navegación de pantalla. Gestiona también las ventanas pertenecientes a las distintas aplicaciones activas en cada momento.
- OpenGL/SL y SGL: Representan las librerías gráficas y, por lo tanto, sustentan la capacidad gráfica Android. OpenGL/SL maneja gráficos 3D y permite utilizar los gráficos disponibles en el propio móvil dentro del hardware encargado de proporcionar gráficos 3D. Por otro lado, SGL proporciona gráficos en 2D, por lo que será la librería mas habitualmente utilizada por la mayoría de las aplicaciones. Una característica importante de la capacidad gráfica de Android es la posibilidad de desarrollar aplicaciones que combinen gráficos en 3D y 2D.
- Librería Media Libraries: Proporciona todos los códecs necesarios para el contenido multimedia soportado en Android (Video, audio, imágenes estáticas y animadas, etc. )
- FreeType: Permite trabajar de forma rápida y sencilla con distintos tipos de fuentes.
- Librería SSL: Posibilita la utilización de dicho protocolo para establecer comunicaciones seguras.
- Librería SQLite: Creación y gestión de bases de datos relacionales.
- Librería WebKit: Proporciona un motor para las aplicaciones de tipo navegador y forma el núcleo actual navegador incluido por defecto en la plataforma Android.
- KERNEL LINUX: Android utiliza el núcleo de Linux 2.6 como una capa de abstracción para el hardware disponible en los dispositivos móviles. Esta capa contiene los drivers necesarios para que cualquier componente de hardware pueda ser utilizado mediante las llamadas correspondientes. Siempre que un fabricante incluye un nuevo elemento de hardware, lo primero que se debe de realizar para que pueda ser utilizado desde Android es crear las librerías de control o drivers necesarios dentro de este kernel de Linux embebido en el propio android.
Arquitectura Android |
No hay comentarios:
Publicar un comentario