ÍNDICE
PLATAFORMAS PARA EQUIPOS MÓVILES
- Symbian
- Android
- IPhone SO
- Java Me
En cada una de ellas se desarrollará:
- La descripción de la arquitectura.
- Sistema operativo que utiliza.
- Lenguajes de Interfaces de servicios.
- Lenguajes de desarrollo y bibliotecas.
- Base de datos que soporta.
- Emuladores con los que cuenta.
CONTENIDO
Symbian
Arquitectura del Sistema operativo
Symbian
EL Sistema operativo Symbian con el
paso de los años ha evolucionado como cualquier Sistema operativocomputacional la arquitectura que analizaremos es
la base de las primeras versiones, las posteriores handado mejoras en
cuanto a velocidad, la conectividad y aplicaciones novedosas.
Symbian se basa en el sistema operativo
EPOC de Psion
LENGUAJES DE DESARROLLO PARA SYMBIAN
Las lenguas de desarrollo para Symbian OS incluyen C++ y Java.
Symbian cuenta con cinco interfaces de usuario o
plataformas para su sistema operativo:
– Serie 60, Serie 80, Serie 90. Usadas por la mayoría de
los móviles con Symbian y elegidas por la Symbian Fundation como plataformas a continuar.
– UIQ. Usada principalmente por Sony-Ericsson y Motorola,
desarrollada por UIQ
Technology.
– MOAP. Usada por algunos móviles 3G de NTT-Docomo.
Las aplicaciones se desarrollan de forma nativa en C++
para S60.
– Standard C++ es diferente de Symbian OS C++.
• Algunas características de C++ son demasiado complejas
para un
móvil.
• Los tipos de datos no están definidos de forma exacta.
• No soporta DLLs ni (en el momento de crearse Symbian)
excepciones.
• Diferentes requisitos de manejo de errores, eficiencia…
LIBRERIAS
Librerías Qt
BASE DE DATOS
SQLite
SQL
Entre los servicios genéricos que brinda el SO, se
encuentran una base de datos SQL,
seguridad integrada contra malware y viruses y soporte
para varias plataformas de desarrollo
como C++, J2ME, C y MIDP 2.0.
EMULADORES
S40 , Lumia,
GBA, vboy:emulador de gameboy, vnes:emulador de nes, vsun:emulador de snes, picodrive:emulador
de sega

Android
Arquitectura Android
Android utiliza el núcleo
de Linux 2.6 como una capa de
abstracción para el hardware
§ Librerías: La siguiente capa se
corresponde con las librerías utilizadas por Android. Éstas han sido escritas
utilizando C/C++ y proporcionan a Android la mayor parte de sus capacidades más
características. Junto al núcleo basado en Linux, estas librerías constituyen
el corazón de Android.
Entre las librerías más importantes ubicadas aquí, se pueden encontrar las
siguientes:
· Librería libc: Incluye todas las
cabeceras y funciones según el estándar del lenguaje C. Todas las demás
librerías se definen en este lenguaje.
· Librería 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 tanto, sustentan la capacidad gráfica de Android.
OpenGL/SL maneja gráficos en 3D y permite utilizar, en caso de que esté
disponible en el propio dispositivo móvil, el hardware encargado de
proporcionar gráficos 3D. Por otro lado, SGL proporciona gráficos en 2D, por lo
que será la librería más habitualmente utilizada por la mayoría de las
aplicaciones. Una característica importante de la capacidad gráfica de Android
es que es posible 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
(vídeo, 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 del actual navegador
incluido por defecto en la plataforma Android.
§ Árbol estructurado
de la interfaz UI:
La
interfaz de usuario se define en los archivos XML del directorio res/layout.
Cada pantalla tendrá un código XML diferente.
§ En la plataforma Android
tú defines una Activity del UI usando un árbol de nodos view y viewgroups, como
vemos en la imágen de abajo. El árbol puede ser tan simple o complejo como
necesites hacerlo, y se puede desarrollar usando los widgets y layouts que
Android proporciona o creando tus propios views.
§ Android tiene diversas librerías para
aplicaciones multimedia, nosotros vamos a centrarnos en SensorManager,
§ La interfaz de SensorListener se utiliza para obtener el valor del
sensor y los cambios de precisión
Basee datos: SQLite , SQL
Emuladores:
-Atari
2600
- Nintendo
-Sega master system
-Super nintendo
- Game boy
-Game boy color
-Game boy advance
-Playstation
-Playstation portable
-Nintendo 64
-Nintendo ds
-Mame
-windows Android
BlueStacks
YouWave
Android SDK
Android Para pc
IPhone OS
SO: IOS variante del MAC OS X
La arquitectura del
Iphone consta de 4 niveles:
Capa
del núcleo del sistema operativo
Controla
el sistema de memoria virtual, los hilos, los ficheros del sistema, la red e
interprocesa la comunicación con los marcos de la capa del núcleo del sistema
operativo. Esta capa rodea el entorno del kernel, los controladores y las
interfaces básicas del sistema operativo de iPhone.
-Capa
del núcleo de servicios Core Services
layer
Proporciona
acceso a los servicios principales del
SO de iPhone con los marcos de la capa del núcleo de servicios. Con estos
servicios, el acceso a ficheros, los datos de bajo nivel, Bonjour services,
network sockets y más.
Se
usarán los marcos de esta capa si las de Cocoa Touch y medias no cubren las
necesidades.
Cuando
haces uso de las tecnologías en la capa del núcleo de servicios, te beneficias,
automáticamente, de la capa del núcleo del sistema operativo sin entrar en
detalles.
Capa
media
Crea
la mejor experiencia multimedia disponible en un móvil con los marcos en la
capa media. Usar estas tecnologías, permite construir rápidamente aplicaciones
que tienen una pinta y un sonido estupendo.
Se
usaran los marcos de esta capa si las de Cocoa Touch no cubren tus necesidades.
Cuando
usas las tecnologías en la capa media te beneficias, automáticamente, de las
capas de nivel inferior sin entrar en detalles.
Capa
Cocoa Touch
Implementa
una aplicación gráfica orientada a eventos en el SO del iPhone con los marcos
de la capa de Cocoa Touch. Además, se hace uso de los marcos de esta capa para
acceder a las funciones clave del dispositivo, como los contactos del usuario
entre otros. Inicie el sistema operativo iPhone en esta capa más alta, y se
aprovechará, automáticamente, de las capas de nivel inferior, sin entrar en
detalles.
LENGUAJES DE DESARROLLO
C, C++, Objective-C
Interfaz
gráfica por defecto: Cocoa Touch (Multitáctil,GUI)
BASE DE DATOS
SQLite
LENGUAJE DE INTERFACES
La interfaz de usuario del sistema operativo de iPhone se
basa en el concepto directo de manipulación, haciendo el uso de gestos
multi-touch. Los elementos de control de la interfaz se componen de
deslizadores, interruptores y botones.
La respuesta a la entrada del usuario supone que debe ser
inmediata para proporcionar una interfaz fluida. La interacción con el sistema
operativo incluye gestos como “swiping”, “tapping”, “pinching”, y “reverse pinching”.
EMULADORES
iPhone Drift
iPhoney (Mac Os x)
AIR iPhone
JAVA ME
SISTEMA OPERATIVO
Windows
(en todas sus versions),macintosh Osx, Solaris, Red Hat Linux(multiplataforma)
■ Arquitectura
de Java ME
Una aplicación Java ME típica
está formada por un archivo JAR, que es el que contiene a la aplicación en sí,
y un archivo opcional JAD (Java Archive Descriptor) que contiene diversa
información sobre la aplicación. Antes de desarrollar una aplicación en Java
ME, es necesario tomar una serie de decisiones según el dispositivo a utilizar
y las necesidades requeridas. No todos los desarrollos realizados en Java ME
utilizan los mismos componentes. En concreto, una aplicación en Java ME se
desarrolla a partir de una combinación de:
-> Máquina
virtual: Existen dos máquinas virtuales de Java ME con diferentes
requisitos, cada una pensada para tipos distintos de pequeños
dispositivos: KVM (Kilobyte Virtual Machine) y CVM (Compact
Virtual Machine).
-> Configuración: Una configuración consiste en un conjunto de
clases básicas destinadas a conformar el corazón de la aplicación. En
concreto, dentro de Java ME existe dos configuraciones: CLDC (Connected Limited DeviceConfiguration) y CDC (Connected Device Configuration).
-> Perfil: Bibliotecas de clases específicas, orientadas
a implementar funcionalidades de más alto nivel para familias específicas
de dispositivos.
Cada una de las dos
configuraciones mencionadas requiere en realidad de una determinada máquina
virtual. De esta forma, si es escoge la configuración CLDC, será necesario
utiliza la máquina virtual denominada KVM; si, por el contrario, se decide
utilizar la configuración CDC, la máquina virtual necesaria es la conocida como
CVM.
Con la elección de perfiles, se da una
situación similar. Existen unos perfiles que se utilizan sobre la configuración CDC(Foundation
Profile, Personal Profile y Personal Basis Specification) y otros que lo hacen sobre CLDC (Mobile
Information Device Profile, conocido como MIDP,y Information Module Profile).
Las aplicaciones en Java ME
que se realizan utilizando el perfil MIDP reciben el nombre de MIDlets.
Se dice así que un MIDlet es una "aplicación Java ME realizada con
el perfil MIDP", sobre la configuración CLDC, y usando la máquina
virtual KVM. Desde un punto de vista práctico, MIDP es el único perfil
actualmente disponible.
■ Librerías
Al desarrollar una aplicación en Java
ME bajo el perfil MIDP, el programador puede hacer uso, entro otras, de las
siguientes bibliotecas:
Nombre
|
Descripción
|
|
java.io
|
Operaciones de E/S básicas
|
|
java.lang
|
Operaciones de la máquina virtual
|
|
java.util
|
Utilidades estándar
|
|
javax.microedition.midlet
|
Marco de ejecución para las aplicaciones
|
|
javax.microedition.lcdui
|
Interfaces de usuario
|
|
javax.microedition.rms
|
Almacenamiento persistente en el dispositivo
|
|
javax.microedition.io
|
Conexión genérica
|
BASE DE DATOS
Oracle
Ventajas
El uso de interfaces proporciona las siguientes ventajas:
·
Organizar la programación.
·
Establecer relaciones entre clases que no estén relacionadas.
Uso
Java proporciona dos palabras reservadas
para trabajar con interfaces:
interface e implements.
EMULADORES
MEBoy
JAVA Midlets
Bibliografía
http://www.poderpda.com/plataformas/el-duelo-de-las-plataformas-moviles-infografia/
https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-de-android



No hay comentarios:
Publicar un comentario