SlideShare una empresa de Scribd logo
1 de 83
Análisis de Alternativas para el
Desarrollo de Aplicaciones
Gráficas 3D sobre Dispositivos
Móviles

Rubén Talón Argente
Índice de Contenidos
1

Introducción

2

Alternativas y plataformas actuales

3

Librerías gráficas 3D

4

IDE de programación

5

Tipos de aplicaciones

6

Nuestras Recomendaciones

7

Conclusiones
1

Introducción

 Los teléfonos móviles han experimentado una evolución
tecnológica muy importante durante esta última década
 Prácticamente hoy en día se parecen a diminutos
computadores capaces de procesar grandes cantidades de
información
 Sus prestaciones gráficas no se quedan atrás y han
permitido que los teléfonos móviles se conviertan en una
pequeña plataforma de trabajo, ocio y diversión
1

Introducción
Evolución Tecnológica

1983

1999

2000

2002

2005

2007

2009

2010

2011

MP3
MP3
Vídeo
Vídeo

TABLETS

Gráficos 3D
Gráficos 3D
GPS
GPS
Touch
Touch
3D
3D
1

Introducción
Evolución Gráfica
1998

2000

Java2D

2002

2005

M3G – OpenGL ES

2007

2008

2009

2010

OpenGL ES 1.1 – OpenGL ES 2.0

2011
Índice de Contenidos
1

Introducción

2

Alternativas y plataformas actuales

3

Librerías gráficas 3D

4

IDE de programación

5

Tipos de aplicaciones

6

Nuestras Recomendaciones

7

Conclusiones
2 Plataformas Actuales
Android 2.3
Arquitectura monolítica (núcleo escrito en C)
Máquina virtual Dalvik para traducir el código a su
lenguaje nativo
Programación en Java con la alternativa de utilizar
NDK para C

Android 3.0

Biblioteca de gráficos 2D y 3D basada en OpenGL ES
Primeros móviles: HTC Dream y HTC Magic. Actualmente
funciona en una amplia variedad de móviles de distintas
compañías: Motorola, Samsung, HTC, LG, etc.
EVOLUCIÓN
1.1

3.0
1.5

1.6

2.0.1

2.1

2.2

2.3
2 Plataformas Actuales

Fácil de programar
Mucha documentación y ejemplos
Depuración en el emulador y móvil
Fácil publicación de software en el
Android Market
Cuidado con quedarnos sin memoria
Diseño complejo de interfaz

Android 2.3 en el Samsung Galaxy S2

Fragmentación
EVOLUCIÓN
1.1

3.0
1.5

1.6

2.0.1

2.1

2.2

2.3
2 Plataformas Actuales

Arquitectura basada en micronúcleo
escrito en C++
Sistema optimizado para dispositivos de baja
batería
Desarrollo en C++
Ampliamente extendido
Política de licencias: Eclipse Public
License (EPL)

Symbian OS 9.4 y Symbian^3

EVOLUCIÓN
S60 9.2

S60 9.3

^1

^2

^3
2 Plataformas Actuales

Buena gestión de memoria
Soporte de máquina virtual java
Actualmente se pueden desarrollar
interfaces con Qt
Complejidad en el desarrollo
Los emuladores no disponen de todas
las características reales de los móviles

Symbian^3 en un Nokia N8

Futuro incierto
EVOLUCIÓN
S60 9.2

S60 9.3

^1

^2

^3
2 Plataformas Actuales

Arquitectura de núcleo monolítico
Linux
Plataforma desarrollada por Nokia
basada en el Sistema Debian
Open Source con componentes
propietarios
Interfaz gráfica basada en GNOME
Utilizado en Nokia 770, N800, N810
y N900
EVOLUCIÓN
4.0

5.0

6.0
2 Plataformas Actuales

Plataforma desarrollada por Nokia
Utilización de las herramientas
proporcionadas por Debian
Utilización de Qt
Los SDK se adaptan a los nuevos
terminales
Incompatibilidades entre SDKs en
diferentes versiones

Maemo en un Nokia N900

Complejo desarrollo y ejecución
EVOLUCIÓN
4.0

5.0

6.0
2 Plataformas Actuales

Surge de la unión de Maemo y Moblin
(Qt-based framework + Intel Moblins)
El núcleo es una distribución de Linux
Quiere llegar a los sistemas de
vehículos y televisión
Sigue una línea paralela a Maemo sin ser
un reemplazo
Modo experimental para desarrolladores

MeeGo

EVOLUCIÓN
1.0

1.1

1.1.3

1.2
2 Plataformas Actuales

Compatibilidad con Maemo
Utilización de Qt
Poca documentación
Sistema aun en pruebas

MeeGo en un Nokia N900

EVOLUCIÓN
1.0

1.1

1.1.3

1.2
2 Plataformas Actuales

Compatibilidad con aplicaciones
muy utilizadas de Microsoft
Windows
Diseñado desde sus inicios para
terminales de pocos recursos
Desarrollo en C++ y .NET
Ampliamente extendido
Windows Mobile 6.5 y Windows Phone 7

EVOLUCIÓN
CE 3.0

2003

5.0

6.0

6.5

7.0
2 Plataformas Actuales

Mucha documentación y ejemplos
Desarrollo muy fácil y flexible
Sistema bastante lento
Interfaz en ocasiones incómoda
Soporte Multi-Touch a partir de la
última versión
Primera actualización con problemas
EVOLUCIÓN
CE 3.0

2003

5.0

6.0

6.5

7.0
2 Plataformas Actuales

Lenguaje JavaScript junto con HTML
y CSS
HTML5
Multitarea
Funciona de forma nativa
Posibilidad de usar C y C++
utilizando el PDK (Kit de desarrollo
Plug-in)
EVOLUCIÓN
1.0/1.1

1.2

1.3

1.4

1.4.5

2.0
2 Plataformas Actuales

Desarrollo Web básicamente
Herramientas SDL y PDK
Rápido desarrollo y Rápida
ejecución
Limitación de JavaScript
Limitación de gráficos 3D

WebOS en un Palm

EVOLUCIÓN
1.0/1.1

1.2

1.3

1.4

1.4.5

2.0
2 Plataformas Actuales

Núcleo Híbrido (Micronúcleo + Servicios)
Sistema derivado de Mac OS X
Interfaz de usuario basada en
gestos multi-touch
Desarrollo en C, C++ y Objective-C
Hay tres tipos de licencias: Universitaria,
Estándar y Empresarial

iOS 4.2.1

La Universitaria es gratuita y las demás se paga
un porcentaje a Apple
3.2.2 (iPad)

EVOLUCIÓN
3.1 (iPhone 2G)

4.0

4.2
4.1

4.3
4.2

4.3
2 Plataformas Actuales

Compatibilidad con HTML5 en últimas
versiones
Aplicaciones fáciles de portar entre
iPhone, iPod y iPad
No soporta ni Java ni Flash
Primeras versiones no soportan
multitarea
Se necesita un Mac para desarrollar
aplicaciones

iOS en un iPhone 4

3.2.2 (iPad)

EVOLUCIÓN
3.1 (iPhone 2G)

4.0

4.2
4.1

4.3
4.2

4.3
2 Plataformas Actuales

Desarrollado por Samsung
Según Samsung, NO es un Sistema
Operativo
Plataforma con un kernel
configurable
Desarrollo en C++

Bada OS

EVOLUCIÓN
1.0.0.b3

1.2

1.2.1
2 Plataformas Actuales

Compatibilidad con Flash
SDK destinado a los desarrolladores
libres
Poca documentación
Pocos dispositivos

Bada OS 2.0 en un Samsung Wave 2

EVOLUCIÓN
1.0.0.b3

1.2

1.2.1
2 Plataformas Actuales

Sistema patentado por RIM
Soporte nativo para correo
corporativo
BlackBerry Tablet

Desarrollo en C, C++ y Java
Enfocado a servicios profesionales
PlayBook OS basado en QNX
Ejecutará aplicaciones Android 2.2

BlackBerry 8700

EVOLUCIÓN
4.5

5.0

6.0
2 Plataformas Actuales

Sistema Multitarea
Soporte para Java MIDP 1.0 y WAP
1.2
Desarrollo utilizando plugin en
Eclipse
Fragmentación de versiones
Poco atractivo para un
desarrollador multiplataforma
No está destinado al ocio

BlackBerry OS 6

EVOLUCIÓN
4.5

5.0

6.0
2 Plataformas Actuales

Sistema Operativo basado en Linux
Independiente de cualquier equipo
físico
Sistema de código totalmente abierto
Vodafone apostó por él con el servicio
Vodafone 360
Precio Licencias: 0€
Problemas a la hora de conectar con la
red
No hay controladores 100% funcionales

Limo Linux
2 Plataformas Actuales

J2ME no es un Sistema Operativo
Subconjunto destinado a dispositivos móviles
Programación en Java
Está muy extendido
La máquina virtual de J2ME viene integrada con el sistema Symbian
Presente en un amplio abanico de dispositivos sin importar la plataforma

AJUSTES
CLDC 1.0

CLDC 1.1

MIDP 1.0

MIDP 2.0/2.1
2 Plataformas Actuales

Conjunto amplio de APIs diseñadas
Fácil de programar
Mucha documentación y ejemplos
Multiplataforma
Limitaciones de las APIs
Recursos muy bajos en móviles

Incompatibilidad de APIs con algunas
máquinas virtuales

AJUSTES
CLDC 1.0

CLDC 1.1

MIDP 1.0

MIDP 2.0/2.1
2 Plataformas Actuales
Otros, firmware propietarios
Funciones básicas de manejo del
dispositivo
Prácticamente todos disponen de
una máquina virtual de J2ME

Sony Ericsson T610

Características según el fabricante
Algunos firmwares están
desarrollados en Flash

Sony Ericsson W660

LG BL40
Índice de Contenidos
1

Introducción

2

Alternativas y plataformas actuales

3

Librerías gráficas 3D

4

IDE de programación

5

Tipos de aplicaciones

6

Nuestras Recomendaciones

7

Conclusiones
3 Librerías gráficas 3D
OpenGL ES
Tiny Graphics Engine
Tiny Graphics Engine
TIGRE
TIGRE

DirectX
Klimt
Klimt

Vincent 3D
Vincent 3D

AndEngine 2D
AndEngine 2D

J2ME

OpenSceneGraph
OpenSceneGraph
OSG
OSG

M3G
M3G

jPCT-AE
jPCT-AE

Direct3D
GApiDraw
GApiDraw
(sólo 2D)
(sólo 2D)

WMGL
WMGL

Balder (Silverlight, Windows
Balder (Silverlight, Windows
Phone 77yyXna)
Phone
Xna)
3 Librerías gráficas 3D

OpenGL ES es una API de bajo nivel para gráficos 2D y 3D en sistemas
avanzados embebidos
Deriva de la API gráfica OpenGL. Se han eliminado módulos y características
que los dispositivos móviles no pueden soportar por su bajo rendimiento
Está muy bien documentado y estructurado, además, los comandos lógicos se
han modificado para facilitar la tarea de programación
Existen varias versiones, las más utilizadas hoy en día son la OpenGL ES 1.1 y la
OpenGL ES 2.0
La principal diferencia entre las dos versiones es el soporte de Shaders en la 2.0
3 Librerías gráficas 3D
OpenGL ES 1.1 Vs OpenGL ES 2.0

iPhone 3GS

OpenGL ES 1.1

OpenGL ES 2.0

OpenGL ES 1.1

OpenGL ES 2.0

SHADER: Procedimiento de sombreado e iluminación que permite especificar el
renderizado de un vertex o de un pixel.
3 Librerías gráficas 3D
Ejemplos en varias plataformas

Qualcomm MSM7x30 con Android y un juego en OpenGL ES
3 Librerías gráficas 3D
Ejemplos en varias plataformas

Demo OpenGL ES 2.0 en un Sony Ericsson Satio
3 Librerías gráficas 3D
Ejemplos en varias plataformas

Demo juego OpenGL ES en un N900
3 Librerías gráficas 3D
Ejemplos en varias plataformas

Demo juego OpenGL ES en HTC HD2
3 Librerías gráficas 3D
Disponibilidad

OpenGL ES es la API oficial para algunos sistemas operativos
3 Librerías gráficas 3D
Basadas en OpenGL ES
Tiny Graphics Engine (TIGRE)
Librería de renderizado gratuita para
Windows Mobile 5, 6, 6.1 y 6.5
Escrita en Managed C# y basada en la
versión 3.5 de FrameWork
Utiliza aceleración por hardware
Máxima flexibilidad: Modelo de cámaras,
texturas, filtros, renderizado de texto, etc.
Actualmente existen dos versiones:
Tigre 1.1 – fixed pipeline OpenGL ES
Tigre 2.0 – dynamic pipeline OpenGL ES
3 Librerías gráficas 3D
Basadas en OpenGL ES
Tiny Graphics Engine (TIGRE)
Windows Mobile tiene un problema con OpenGL ES, ya que no forma parte
del Sistema en si. Se necesitas drivers que comuniquen la parte hardware con
la API

Demo TIGRE en un HTC HD2
3 Librerías gráficas 3D
Basadas en OpenGL ES
Vincent 3D
Librería de renderizado gratuita
Soporte para Symbian y Windows
Mobile
Utiliza aceleración por hardware
Actualmente sigue dos proyectos,
uno basado en OpenGL ES 1.x y el
otro en OpenGL ES 2.0
3 Librerías gráficas 3D
Basadas en OpenGL ES

Librería de código abierto
Soporte para Windows Mobile , Symbian y PalmOS
Está basada en Coin3D que a su vez es una librería basada en OpenGL
Dispone de iluminación, primitivas básicas de OpenGL, vídeo de fondo,
entre otras
No soporta antialiasing
3 Librerías gráficas 3D
Basadas en OpenGL ES

Windows CE PDA using PocketKnife's TGA-export function
3 Librerías gráficas 3D
WMGL - WM PPC Graphics Library
Librería gráfica diseñada para dispositivos con Windows Mobile
Librería basada en DirectDraw
Provista de herramientas para facilitar la programación de Alpha Blending y
varios efectos 3D (Rotaciones, Sliding, etc)
Soporte para transparencia PNG
C++ optimizado para las tareas de pintado transparente
Proyectos en C++ o C#
No tiene aceleración por hardware

43
3 Librerías gráficas 3D
WMGL - WM PPC Graphics Library
Se utilizó en el proyecto Touch Shell
La finalidad del proyecto era
mejorar la interfaz con la que venía
el propio sistema de Windows
Mobile añadiéndole efectos 3D y
una mejor interactuación con el
usuario

Demostración de la intefáz Windows Mobile

44
3 Librerías gráficas 3D

Es una plataforma gráfica para crear aplicaciones que requieren una alta
demanda de procesado gráfico en dispositivos con Windows Mobile
Es un complemento para DirectDraw
Desarrollo en C++
Básicamente está destinada al desarrollo de juegos
Se puede desarrollar aplicaciones en .NET utilizando un C# Wrapper
gratuito disponible en Google Code
Dispone de aceleración por hardware con la librería de DirectDraw

45
3 Librerías gráficas 3D

Juegos diseñados con la librería GapiDraw para móviles con Windows Mobile
3 Librerías gráficas 3D
andEngine

Librería gráfica 2D basada en OpenGL ES gratuita para dispositivos con Android
Contiene muchas herramientas para la animación de objetos 2D tales como
un motor de física, multitouch y conexión entre móviles
No dispone de mucha documentación pero todos los ejemplos vienen con
su código debidamente comentado

Ejemploss de la librería de física y comunicación con otros dispositivos
3 Librerías gráficas 3D
andEngine

Comparación entre varios dispositivos
3 Librerías gráficas 3D
jPCT-AE (android edition)
jPCT ofrece la solución de desarrollar aplicaciones
dentro del mundo de Java
Solucionamos el problema de la máquina virtual de Java
Podemos desarrollar incluso para navegadores web
Carga modelos 3DS, OBJ, XML, MD2 y ASC
Soporta animaciones y está diseñado para multi core
La versión para Android es un port de jPCT donde
algunas características no han sido implementadas
y otras simplificadas
3 Librerías gráficas 3D
jPCT-AE (android edition)

Animación de un modelo con esqueleto
3 Librerías gráficas 3D

Librería de gráficos 3D de alto nivel
Basada en OpenGL y escrita en C++
Sigue una jerarquia de grafo de escena
Soporta OpenGL 1.1 y OpenGL 2.0
Actualmente se está desarrollando
un port para la plataforma Android
utilizando el NDK que proporciona la
propia Google. Los resultados son
bastantes buenos
3 Librerías gráficas 3D

Ejemplo de SOG sobre Android 2.2

Ejemplo OSG en Windows
3 Librerías gráficas 3D
Librerías para J2ME
Mobile 3D Graphics (M3G)
Librería escrita en Java destinada a dispositivos móviles de pocos recursos
Contiene 30 clases para pintar una escena 3D compleja
M3G y Java3D son dos APIs totalmente distintas e incompatibles
Está tecnología está muy extendida. Prácticamente todos los móviles de
soporte M3G y los que no se les puede instalar una máquina virtual de
J2ME
Actualmente M3G tiene dos versiones: La M3G 1.1 (JSR-184) y la M3G 2.0
(JSR-297) con soporte de Shaders para dispositivos potentes
3 Librerías gráficas 3D
Librerías para J2ME
Mobile 3D Graphics (M3G)
Si no se gestiona debidamente y si el dispositivo carece de recursos M3G va
muy lento
Las especificaciones recomiendan no sobrepasar los 1500 polígonos en
pantalla
Se pueden importar modelos creados en Maya, Blender o 3D studio con
un plugin especial

Modelo final en
un Nokia N95
Modelo SketchUp

3D Studio
3 Librerías gráficas 3D
Librerías para J2ME
Mobile 3D Graphics (M3G)
A pesar de las desventajas que presenta M3G podemos ajustarlo a
cualquier dispositivo compatible haciendo que funcione con fluidez
Podemos encontrar multitud de juegos con gráficos excelentes corriendo
en móviles de pocos recursos debido a una buena gestión de la librería
3 Librerías gráficas 3D
Microsoft
Direct3D Mobile
Esta librería deriva de la Direct3D API
basada en sistemas de escritorio y está
optimizada para el uso en sistemas
embebidos
Se han eliminado algunos módulos de
soporte 3D debido a la baja potencia de
los sistemas móviles
Al igual que OpenGL, el dispositivo tiene
que soportar las características que nos
da la API
A diferencia de OpenGL estas librerías son
propietarias

Demo Direct3D con una librería de física
3 Librerías gráficas 3D

Motor gráfico para sistemas Windows
Phone, SilverLight y XNA
Proporciona herramientas para el desarrollo
de aplicaciones 3D de forma sencilla
Dispone de todos los elementos básicos de
una escena 3D (cámaras, luces, modelos,
texturas, etc)
Dispone de una optimización para
Windows Phone

Demostración de Balder en una
aplicación de escritorio

Algunos elementos como las luces no
funcionan correctamente en Windows
Phone
57
Índice de Contenidos
1

Introducción

2

Alternativas y plataformas actuales

3

Librerías gráficas 3D

4

IDE de programación

5

Tipos de aplicaciones

6

Nuestras Recomendaciones

7

Conclusiones
4 IDEs de Programación

Multiplataforma

Multiplataforma

SDK Java aunque también acepta
proyectos en C/C++

SDK Java aunque también acepta
proyectos en otros lenguajes.

No necesita instalación

Necesita instalación

Funcionalidad basada en módulos
donde el usuario elige los que
necesita

Funcionalidad basada en módulos
donde el usuario elige los que
necesita

Buena refactorización

Mejor soporte para aplicaciones
Web
4 IDEs de Programación

IDE para sistemas Windows
C, C++, C#, J#, .NET y otros
Interfaz gráfica basada en Windows
Forms
Utiliza frameworks para el
desarrollo de la interfaz
XNA Framework para desarrollar
juegos

Visual Studio 2008
4 IDEs de Programación

IDE de Apple
Compila código C, C++, Objetive-C y
Objetive C++
Destinada a desarrollar interfaces gráficas
IDE organizado en diferentes programas
por separado
Desarrollo obligado en ordenadores MAC

Xcode 4.0
4 IDEs de Programación

Es una herramienta para el desarrollo de
aplicaciones Symbian
Está basada en el IDE Eclipse
añadiendo plugins para Symbian
Gestiona el desarrollo Symbian mejor
que el Visual Studio
Totalmente gratuito
Carbide C++
4 IDEs de Programación
Qt Creator

Desarrollo en C++
Buena gestión y refactorización
Tiene un diseñador de interfaces pero
es muy complejo
Soporte para Windows, Linux y Mac
Contiene un simulador para desarrollar
aplicaciones para móviles

Qt Creator
4 IDEs de Programación
Relación

¿

¿
Índice de Contenidos
1

Introducción

2

Alternativas y plataformas actuales

3

Librerías gráficas 3D

4

IDE de programación

5

Tipos de aplicaciones

6

Nuestras Recomendaciones

7

Conclusiones
5

Tipos de aplicaciones
Prácticamente todas las aplicaciones desarrolladas para sistemas de
escritorio pueden ser portadas a dispositivos móviles
Actualmente las compañías intentan sacar el mismo producto tanto
para sistemas de escritorio como para móviles

Algunos Ejemplos:
Tipos de aplicaciones

5

¿Qué tengo o debo utilizar para desarrollar mis
aplicaciones?

¿

¿
¿

¿

¿

¿

¿

¿

¿

¿

¿

¿

¿

¿

¿

¿

¿

¿
5

Tipos de aplicaciones
Aplicaciones tipo formulario con gráficos 2D y/o gráficos 3D
Formularios simples de introducción de datos

Imágenes estáticas

Información visual muy simple para el usuario

Apoyo con elementos 3D

Feedback - iPhone

Registros - iPhone

Navigation - Android

Palm WebOS
5

Tipos de aplicaciones
Juegos 2D (Ej. Plataformas)
Ideales para dispositivos con pocos recursos

J2ME

Symbian

WebOS

Maemo
5

Tipos de aplicaciones
Juegos 3D
Uso de librerías 3D del dispositivo
Algunos juegos requieren dispositivos potentes
Convivencia entre 2D y 3D en la mayoría de juegos

Windows Phone

iPhone

Android
5

Tipos de aplicaciones
Aplicaciones que utilicen todos los recursos multimedia (Ej. RA)
Uso de todos los recursos del dispositivo debido a la
necesidad de procesar gran cantidad de datos
Algunas aplicaciones se ayudan de internet para actualizar datos

Layar - Android

Urbanspoon - iPhone

Realidad
Aumentada
5

Tipos de aplicaciones
Aplicaciones con servicios web
Intercambio de información con la red
Conexión permanente a la red
Aplicaciones estéticamente simples

Spotify - iPhone

ustream - Android

Qik - Android
5

Tipos de aplicaciones
Aplicaciones que utilicen la cámara, GPS, Acelerómetros, Sensores, etc.
Uso de la cámara para manipular las capturas en tiempo real
Uso del GPS para la localización
Uso de sensores para aplicaciones especificas (niveles, luz, brújula)

Compass Android

Speedometer - WM

Cámara - Symbian

GPS - Symbian
Índice de Contenidos
1

Introducción

2

Alternativas y plataformas actuales

3

Librerías gráficas 3D

4

IDE de programación

5

Tipos de aplicaciones

6

Nuestras Recomendaciones

7

Conclusiones
6 Nuestras Recomendaciones
App Formularios
Funcionalidad Requerida
Baja

Alta

Alta
6 Nuestras Recomendaciones
App 2D y 3D
Funcionalidad Requerida
Baja

Alta

Alta
6 Nuestras Recomendaciones
Componentes del móvil
Utilización de componentes presentes en el dispositivo
Baja

Alta

Alta
6 Nuestras Recomendaciones
Juegos 2D
Funcionalidad Requerida
Baja

Alta

Alta
6 Nuestras Recomendaciones
Juegos 3D
COMPLEJIDAD
Baja

Alta

Alta
6 Nuestras Recomendaciones
Realidad Aumentada
COMPLEJIDAD
Baja

Alta

Alta
Índice de Contenidos
1

Introducción

2

Alternativas y plataformas actuales

3

Librerías gráficas 3D

4

IDE de programación

5

Tipos de aplicaciones

6

Nuestras Recomendaciones

7

Conclusiones
7

Conclusiones
Existen muchas alternativas a la hora de desarrollar aplicaciones
para dispositivos móviles
Actualmente los dispositivos se decantan por utilizar de forma
nativa la librería OpenGL ES
Hay una alta competitividad entre todas las empresas que se
especializan en el desarrollo y nuevas tecnologías para dispositivos
móviles
A pesar de que la temática de todas las plataformas es similar cada
empresa quiere desarrollar su software por separado en un
mercado donde la más original y la que mejor sepa vender será la
beneficiaria
Es necesario saberse la tabla de relaciones (Plataforma-IDE) y las
especificaciones del sistema a desarrollar
7

Conclusiones
Con nuestra experiencia hemos visto que el mercado tecnológico en
desarrollar para tecnología móvil tiene un comportamiento tipo
Onda
Exige un esfuerzo adicional en información continua en el equipo de
desarrollo

Más contenido relacionado

La actualidad más candente

Tipos de software
Tipos de softwareTipos de software
Tipos de softwarelgordian
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo androidmrd2013
 
ANDROID INFORMACION
ANDROID INFORMACIONANDROID INFORMACION
ANDROID INFORMACIONFranco Paton
 
software
softwaresoftware
software270996
 
Arquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidArquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidEventos Creativos
 
Presentacion Direct X 2009 V3
Presentacion Direct X 2009 V3Presentacion Direct X 2009 V3
Presentacion Direct X 2009 V3guest0011b43
 
Sistemas operativos para móviles
Sistemas operativos para móvilesSistemas operativos para móviles
Sistemas operativos para móvilesDiegoGS1096
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaKaren Nuñez
 
HISTORIA DE LAS VERSIONES ANDROID
HISTORIA DE LAS VERSIONES ANDROIDHISTORIA DE LAS VERSIONES ANDROID
HISTORIA DE LAS VERSIONES ANDROIDFufo Vega Cabra
 
La evolución del sistema operativo android
La evolución del sistema operativo android La evolución del sistema operativo android
La evolución del sistema operativo android kevin Ipujan
 
Diapositiva sobre android
Diapositiva sobre androidDiapositiva sobre android
Diapositiva sobre androidpexoxaprincess
 
Android y leopard
Android y leopardAndroid y leopard
Android y leopardombligo10
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderjezabelink
 

La actualidad más candente (18)

Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
ANDROID INFORMACION
ANDROID INFORMACIONANDROID INFORMACION
ANDROID INFORMACION
 
Android studio
Android studioAndroid studio
Android studio
 
software
softwaresoftware
software
 
Arquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en AndroidArquitectura, aplicaciones y seguridad en Android
Arquitectura, aplicaciones y seguridad en Android
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Presentacion Direct X 2009 V3
Presentacion Direct X 2009 V3Presentacion Direct X 2009 V3
Presentacion Direct X 2009 V3
 
Sistemas operativos para móviles
Sistemas operativos para móvilesSistemas operativos para móviles
Sistemas operativos para móviles
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historia
 
Power point
Power pointPower point
Power point
 
HISTORIA DE LAS VERSIONES ANDROID
HISTORIA DE LAS VERSIONES ANDROIDHISTORIA DE LAS VERSIONES ANDROID
HISTORIA DE LAS VERSIONES ANDROID
 
La evolución del sistema operativo android
La evolución del sistema operativo android La evolución del sistema operativo android
La evolución del sistema operativo android
 
Android
AndroidAndroid
Android
 
Diapositiva sobre android
Diapositiva sobre androidDiapositiva sobre android
Diapositiva sobre android
 
Android y leopard
Android y leopardAndroid y leopard
Android y leopard
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entender
 

Destacado

Genesisslideshere
GenesisslideshereGenesisslideshere
GenesisslideshereGENEDURAN
 
Java 3d
Java 3dJava 3d
Java 3djtk1
 
Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.
Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.
Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.Ruth Martínez
 
CUERPOS GEOMÉTRICOS O FIGURAS 3D
CUERPOS GEOMÉTRICOS O FIGURAS 3DCUERPOS GEOMÉTRICOS O FIGURAS 3D
CUERPOS GEOMÉTRICOS O FIGURAS 3DSandra Farías
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
MODELADO DE PERSONAJES 3D
MODELADO DE PERSONAJES 3DMODELADO DE PERSONAJES 3D
MODELADO DE PERSONAJES 3Dguestd52308
 

Destacado (11)

Java 3D
Java 3DJava 3D
Java 3D
 
Genesisslideshere
GenesisslideshereGenesisslideshere
Genesisslideshere
 
esferas en 3d
esferas en 3desferas en 3d
esferas en 3d
 
Java 3d
Java 3dJava 3d
Java 3d
 
Java 3 d manual
Java 3 d manualJava 3 d manual
Java 3 d manual
 
Figuras 3 d
Figuras 3 dFiguras 3 d
Figuras 3 d
 
Aplicacion de texturas
Aplicacion de texturasAplicacion de texturas
Aplicacion de texturas
 
Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.
Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.
Actividades de aprendizaje en Mundos Virtuales 3D. Análisis de casos prácticos.
 
CUERPOS GEOMÉTRICOS O FIGURAS 3D
CUERPOS GEOMÉTRICOS O FIGURAS 3DCUERPOS GEOMÉTRICOS O FIGURAS 3D
CUERPOS GEOMÉTRICOS O FIGURAS 3D
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
MODELADO DE PERSONAJES 3D
MODELADO DE PERSONAJES 3DMODELADO DE PERSONAJES 3D
MODELADO DE PERSONAJES 3D
 

Similar a Análisis de alternativas para el desarrollo de aplicaciones gráficas 3D sobre dispositivos móviles

Artec alternativas moviles
Artec alternativas movilesArtec alternativas moviles
Artec alternativas movilespmorillo
 
Valencia android
Valencia androidValencia android
Valencia androidericka2378
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"ericka2378
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"ericka2378
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"ericka2378
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"ericka2378
 
trabajo Android
trabajo Androidtrabajo Android
trabajo Android3104359589
 
Sistemas operativos para celulares
Sistemas operativos para celularesSistemas operativos para celulares
Sistemas operativos para celularesJhoana Jhovis
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"ericka2378
 
Presentación Windows Phone 8 en Campus Party 2013
Presentación Windows Phone 8 en Campus Party 2013Presentación Windows Phone 8 en Campus Party 2013
Presentación Windows Phone 8 en Campus Party 2013Vicente Gerardo Guzman Lucio
 
Cuadro comparativo de sistemas operativos primitivos y libres
Cuadro comparativo de sistemas operativos primitivos y libresCuadro comparativo de sistemas operativos primitivos y libres
Cuadro comparativo de sistemas operativos primitivos y libresAlexis Hernandez
 
Aplicaciones y terminales móviles
Aplicaciones y terminales móvilesAplicaciones y terminales móviles
Aplicaciones y terminales móvilescarolinavargas213117
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesFernand Bernowly
 

Similar a Análisis de alternativas para el desarrollo de aplicaciones gráficas 3D sobre dispositivos móviles (20)

Artec alternativas moviles
Artec alternativas movilesArtec alternativas moviles
Artec alternativas moviles
 
Android
AndroidAndroid
Android
 
Valencia android
Valencia androidValencia android
Valencia android
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"
 
trabajo Android
trabajo Androidtrabajo Android
trabajo Android
 
Sistemas operativos para celulares
Sistemas operativos para celularesSistemas operativos para celulares
Sistemas operativos para celulares
 
"Tema a Tratarse"
"Tema a Tratarse""Tema a Tratarse"
"Tema a Tratarse"
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
Buenooo opengl
Buenooo openglBuenooo opengl
Buenooo opengl
 
Presentación Windows Phone 8 en Campus Party 2013
Presentación Windows Phone 8 en Campus Party 2013Presentación Windows Phone 8 en Campus Party 2013
Presentación Windows Phone 8 en Campus Party 2013
 
Cuadro comparativo de sistemas operativos primitivos y libres
Cuadro comparativo de sistemas operativos primitivos y libresCuadro comparativo de sistemas operativos primitivos y libres
Cuadro comparativo de sistemas operativos primitivos y libres
 
Programacion.NET
Programacion.NETProgramacion.NET
Programacion.NET
 
Presentacion Máster
Presentacion MásterPresentacion Máster
Presentacion Máster
 
Aplicaciones y terminales móviles
Aplicaciones y terminales móvilesAplicaciones y terminales móviles
Aplicaciones y terminales móviles
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móviles
 
sistema operativo android
sistema operativo androidsistema operativo android
sistema operativo android
 
Android
Android Android
Android
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 

Análisis de alternativas para el desarrollo de aplicaciones gráficas 3D sobre dispositivos móviles

  • 1. Análisis de Alternativas para el Desarrollo de Aplicaciones Gráficas 3D sobre Dispositivos Móviles Rubén Talón Argente
  • 2. Índice de Contenidos 1 Introducción 2 Alternativas y plataformas actuales 3 Librerías gráficas 3D 4 IDE de programación 5 Tipos de aplicaciones 6 Nuestras Recomendaciones 7 Conclusiones
  • 3. 1 Introducción  Los teléfonos móviles han experimentado una evolución tecnológica muy importante durante esta última década  Prácticamente hoy en día se parecen a diminutos computadores capaces de procesar grandes cantidades de información  Sus prestaciones gráficas no se quedan atrás y han permitido que los teléfonos móviles se conviertan en una pequeña plataforma de trabajo, ocio y diversión
  • 5. 1 Introducción Evolución Gráfica 1998 2000 Java2D 2002 2005 M3G – OpenGL ES 2007 2008 2009 2010 OpenGL ES 1.1 – OpenGL ES 2.0 2011
  • 6. Índice de Contenidos 1 Introducción 2 Alternativas y plataformas actuales 3 Librerías gráficas 3D 4 IDE de programación 5 Tipos de aplicaciones 6 Nuestras Recomendaciones 7 Conclusiones
  • 7. 2 Plataformas Actuales Android 2.3 Arquitectura monolítica (núcleo escrito en C) Máquina virtual Dalvik para traducir el código a su lenguaje nativo Programación en Java con la alternativa de utilizar NDK para C Android 3.0 Biblioteca de gráficos 2D y 3D basada en OpenGL ES Primeros móviles: HTC Dream y HTC Magic. Actualmente funciona en una amplia variedad de móviles de distintas compañías: Motorola, Samsung, HTC, LG, etc. EVOLUCIÓN 1.1 3.0 1.5 1.6 2.0.1 2.1 2.2 2.3
  • 8. 2 Plataformas Actuales Fácil de programar Mucha documentación y ejemplos Depuración en el emulador y móvil Fácil publicación de software en el Android Market Cuidado con quedarnos sin memoria Diseño complejo de interfaz Android 2.3 en el Samsung Galaxy S2 Fragmentación EVOLUCIÓN 1.1 3.0 1.5 1.6 2.0.1 2.1 2.2 2.3
  • 9. 2 Plataformas Actuales Arquitectura basada en micronúcleo escrito en C++ Sistema optimizado para dispositivos de baja batería Desarrollo en C++ Ampliamente extendido Política de licencias: Eclipse Public License (EPL) Symbian OS 9.4 y Symbian^3 EVOLUCIÓN S60 9.2 S60 9.3 ^1 ^2 ^3
  • 10. 2 Plataformas Actuales Buena gestión de memoria Soporte de máquina virtual java Actualmente se pueden desarrollar interfaces con Qt Complejidad en el desarrollo Los emuladores no disponen de todas las características reales de los móviles Symbian^3 en un Nokia N8 Futuro incierto EVOLUCIÓN S60 9.2 S60 9.3 ^1 ^2 ^3
  • 11. 2 Plataformas Actuales Arquitectura de núcleo monolítico Linux Plataforma desarrollada por Nokia basada en el Sistema Debian Open Source con componentes propietarios Interfaz gráfica basada en GNOME Utilizado en Nokia 770, N800, N810 y N900 EVOLUCIÓN 4.0 5.0 6.0
  • 12. 2 Plataformas Actuales Plataforma desarrollada por Nokia Utilización de las herramientas proporcionadas por Debian Utilización de Qt Los SDK se adaptan a los nuevos terminales Incompatibilidades entre SDKs en diferentes versiones Maemo en un Nokia N900 Complejo desarrollo y ejecución EVOLUCIÓN 4.0 5.0 6.0
  • 13. 2 Plataformas Actuales Surge de la unión de Maemo y Moblin (Qt-based framework + Intel Moblins) El núcleo es una distribución de Linux Quiere llegar a los sistemas de vehículos y televisión Sigue una línea paralela a Maemo sin ser un reemplazo Modo experimental para desarrolladores MeeGo EVOLUCIÓN 1.0 1.1 1.1.3 1.2
  • 14. 2 Plataformas Actuales Compatibilidad con Maemo Utilización de Qt Poca documentación Sistema aun en pruebas MeeGo en un Nokia N900 EVOLUCIÓN 1.0 1.1 1.1.3 1.2
  • 15. 2 Plataformas Actuales Compatibilidad con aplicaciones muy utilizadas de Microsoft Windows Diseñado desde sus inicios para terminales de pocos recursos Desarrollo en C++ y .NET Ampliamente extendido Windows Mobile 6.5 y Windows Phone 7 EVOLUCIÓN CE 3.0 2003 5.0 6.0 6.5 7.0
  • 16. 2 Plataformas Actuales Mucha documentación y ejemplos Desarrollo muy fácil y flexible Sistema bastante lento Interfaz en ocasiones incómoda Soporte Multi-Touch a partir de la última versión Primera actualización con problemas EVOLUCIÓN CE 3.0 2003 5.0 6.0 6.5 7.0
  • 17. 2 Plataformas Actuales Lenguaje JavaScript junto con HTML y CSS HTML5 Multitarea Funciona de forma nativa Posibilidad de usar C y C++ utilizando el PDK (Kit de desarrollo Plug-in) EVOLUCIÓN 1.0/1.1 1.2 1.3 1.4 1.4.5 2.0
  • 18. 2 Plataformas Actuales Desarrollo Web básicamente Herramientas SDL y PDK Rápido desarrollo y Rápida ejecución Limitación de JavaScript Limitación de gráficos 3D WebOS en un Palm EVOLUCIÓN 1.0/1.1 1.2 1.3 1.4 1.4.5 2.0
  • 19. 2 Plataformas Actuales Núcleo Híbrido (Micronúcleo + Servicios) Sistema derivado de Mac OS X Interfaz de usuario basada en gestos multi-touch Desarrollo en C, C++ y Objective-C Hay tres tipos de licencias: Universitaria, Estándar y Empresarial iOS 4.2.1 La Universitaria es gratuita y las demás se paga un porcentaje a Apple 3.2.2 (iPad) EVOLUCIÓN 3.1 (iPhone 2G) 4.0 4.2 4.1 4.3 4.2 4.3
  • 20. 2 Plataformas Actuales Compatibilidad con HTML5 en últimas versiones Aplicaciones fáciles de portar entre iPhone, iPod y iPad No soporta ni Java ni Flash Primeras versiones no soportan multitarea Se necesita un Mac para desarrollar aplicaciones iOS en un iPhone 4 3.2.2 (iPad) EVOLUCIÓN 3.1 (iPhone 2G) 4.0 4.2 4.1 4.3 4.2 4.3
  • 21. 2 Plataformas Actuales Desarrollado por Samsung Según Samsung, NO es un Sistema Operativo Plataforma con un kernel configurable Desarrollo en C++ Bada OS EVOLUCIÓN 1.0.0.b3 1.2 1.2.1
  • 22. 2 Plataformas Actuales Compatibilidad con Flash SDK destinado a los desarrolladores libres Poca documentación Pocos dispositivos Bada OS 2.0 en un Samsung Wave 2 EVOLUCIÓN 1.0.0.b3 1.2 1.2.1
  • 23. 2 Plataformas Actuales Sistema patentado por RIM Soporte nativo para correo corporativo BlackBerry Tablet Desarrollo en C, C++ y Java Enfocado a servicios profesionales PlayBook OS basado en QNX Ejecutará aplicaciones Android 2.2 BlackBerry 8700 EVOLUCIÓN 4.5 5.0 6.0
  • 24. 2 Plataformas Actuales Sistema Multitarea Soporte para Java MIDP 1.0 y WAP 1.2 Desarrollo utilizando plugin en Eclipse Fragmentación de versiones Poco atractivo para un desarrollador multiplataforma No está destinado al ocio BlackBerry OS 6 EVOLUCIÓN 4.5 5.0 6.0
  • 25. 2 Plataformas Actuales Sistema Operativo basado en Linux Independiente de cualquier equipo físico Sistema de código totalmente abierto Vodafone apostó por él con el servicio Vodafone 360 Precio Licencias: 0€ Problemas a la hora de conectar con la red No hay controladores 100% funcionales Limo Linux
  • 26. 2 Plataformas Actuales J2ME no es un Sistema Operativo Subconjunto destinado a dispositivos móviles Programación en Java Está muy extendido La máquina virtual de J2ME viene integrada con el sistema Symbian Presente en un amplio abanico de dispositivos sin importar la plataforma AJUSTES CLDC 1.0 CLDC 1.1 MIDP 1.0 MIDP 2.0/2.1
  • 27. 2 Plataformas Actuales Conjunto amplio de APIs diseñadas Fácil de programar Mucha documentación y ejemplos Multiplataforma Limitaciones de las APIs Recursos muy bajos en móviles Incompatibilidad de APIs con algunas máquinas virtuales AJUSTES CLDC 1.0 CLDC 1.1 MIDP 1.0 MIDP 2.0/2.1
  • 28. 2 Plataformas Actuales Otros, firmware propietarios Funciones básicas de manejo del dispositivo Prácticamente todos disponen de una máquina virtual de J2ME Sony Ericsson T610 Características según el fabricante Algunos firmwares están desarrollados en Flash Sony Ericsson W660 LG BL40
  • 29. Índice de Contenidos 1 Introducción 2 Alternativas y plataformas actuales 3 Librerías gráficas 3D 4 IDE de programación 5 Tipos de aplicaciones 6 Nuestras Recomendaciones 7 Conclusiones
  • 30. 3 Librerías gráficas 3D OpenGL ES Tiny Graphics Engine Tiny Graphics Engine TIGRE TIGRE DirectX Klimt Klimt Vincent 3D Vincent 3D AndEngine 2D AndEngine 2D J2ME OpenSceneGraph OpenSceneGraph OSG OSG M3G M3G jPCT-AE jPCT-AE Direct3D GApiDraw GApiDraw (sólo 2D) (sólo 2D) WMGL WMGL Balder (Silverlight, Windows Balder (Silverlight, Windows Phone 77yyXna) Phone Xna)
  • 31. 3 Librerías gráficas 3D OpenGL ES es una API de bajo nivel para gráficos 2D y 3D en sistemas avanzados embebidos Deriva de la API gráfica OpenGL. Se han eliminado módulos y características que los dispositivos móviles no pueden soportar por su bajo rendimiento Está muy bien documentado y estructurado, además, los comandos lógicos se han modificado para facilitar la tarea de programación Existen varias versiones, las más utilizadas hoy en día son la OpenGL ES 1.1 y la OpenGL ES 2.0 La principal diferencia entre las dos versiones es el soporte de Shaders en la 2.0
  • 32. 3 Librerías gráficas 3D OpenGL ES 1.1 Vs OpenGL ES 2.0 iPhone 3GS OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 1.1 OpenGL ES 2.0 SHADER: Procedimiento de sombreado e iluminación que permite especificar el renderizado de un vertex o de un pixel.
  • 33. 3 Librerías gráficas 3D Ejemplos en varias plataformas Qualcomm MSM7x30 con Android y un juego en OpenGL ES
  • 34. 3 Librerías gráficas 3D Ejemplos en varias plataformas Demo OpenGL ES 2.0 en un Sony Ericsson Satio
  • 35. 3 Librerías gráficas 3D Ejemplos en varias plataformas Demo juego OpenGL ES en un N900
  • 36. 3 Librerías gráficas 3D Ejemplos en varias plataformas Demo juego OpenGL ES en HTC HD2
  • 37. 3 Librerías gráficas 3D Disponibilidad OpenGL ES es la API oficial para algunos sistemas operativos
  • 38. 3 Librerías gráficas 3D Basadas en OpenGL ES Tiny Graphics Engine (TIGRE) Librería de renderizado gratuita para Windows Mobile 5, 6, 6.1 y 6.5 Escrita en Managed C# y basada en la versión 3.5 de FrameWork Utiliza aceleración por hardware Máxima flexibilidad: Modelo de cámaras, texturas, filtros, renderizado de texto, etc. Actualmente existen dos versiones: Tigre 1.1 – fixed pipeline OpenGL ES Tigre 2.0 – dynamic pipeline OpenGL ES
  • 39. 3 Librerías gráficas 3D Basadas en OpenGL ES Tiny Graphics Engine (TIGRE) Windows Mobile tiene un problema con OpenGL ES, ya que no forma parte del Sistema en si. Se necesitas drivers que comuniquen la parte hardware con la API Demo TIGRE en un HTC HD2
  • 40. 3 Librerías gráficas 3D Basadas en OpenGL ES Vincent 3D Librería de renderizado gratuita Soporte para Symbian y Windows Mobile Utiliza aceleración por hardware Actualmente sigue dos proyectos, uno basado en OpenGL ES 1.x y el otro en OpenGL ES 2.0
  • 41. 3 Librerías gráficas 3D Basadas en OpenGL ES Librería de código abierto Soporte para Windows Mobile , Symbian y PalmOS Está basada en Coin3D que a su vez es una librería basada en OpenGL Dispone de iluminación, primitivas básicas de OpenGL, vídeo de fondo, entre otras No soporta antialiasing
  • 42. 3 Librerías gráficas 3D Basadas en OpenGL ES Windows CE PDA using PocketKnife's TGA-export function
  • 43. 3 Librerías gráficas 3D WMGL - WM PPC Graphics Library Librería gráfica diseñada para dispositivos con Windows Mobile Librería basada en DirectDraw Provista de herramientas para facilitar la programación de Alpha Blending y varios efectos 3D (Rotaciones, Sliding, etc) Soporte para transparencia PNG C++ optimizado para las tareas de pintado transparente Proyectos en C++ o C# No tiene aceleración por hardware 43
  • 44. 3 Librerías gráficas 3D WMGL - WM PPC Graphics Library Se utilizó en el proyecto Touch Shell La finalidad del proyecto era mejorar la interfaz con la que venía el propio sistema de Windows Mobile añadiéndole efectos 3D y una mejor interactuación con el usuario Demostración de la intefáz Windows Mobile 44
  • 45. 3 Librerías gráficas 3D Es una plataforma gráfica para crear aplicaciones que requieren una alta demanda de procesado gráfico en dispositivos con Windows Mobile Es un complemento para DirectDraw Desarrollo en C++ Básicamente está destinada al desarrollo de juegos Se puede desarrollar aplicaciones en .NET utilizando un C# Wrapper gratuito disponible en Google Code Dispone de aceleración por hardware con la librería de DirectDraw 45
  • 46. 3 Librerías gráficas 3D Juegos diseñados con la librería GapiDraw para móviles con Windows Mobile
  • 47. 3 Librerías gráficas 3D andEngine Librería gráfica 2D basada en OpenGL ES gratuita para dispositivos con Android Contiene muchas herramientas para la animación de objetos 2D tales como un motor de física, multitouch y conexión entre móviles No dispone de mucha documentación pero todos los ejemplos vienen con su código debidamente comentado Ejemploss de la librería de física y comunicación con otros dispositivos
  • 48. 3 Librerías gráficas 3D andEngine Comparación entre varios dispositivos
  • 49. 3 Librerías gráficas 3D jPCT-AE (android edition) jPCT ofrece la solución de desarrollar aplicaciones dentro del mundo de Java Solucionamos el problema de la máquina virtual de Java Podemos desarrollar incluso para navegadores web Carga modelos 3DS, OBJ, XML, MD2 y ASC Soporta animaciones y está diseñado para multi core La versión para Android es un port de jPCT donde algunas características no han sido implementadas y otras simplificadas
  • 50. 3 Librerías gráficas 3D jPCT-AE (android edition) Animación de un modelo con esqueleto
  • 51. 3 Librerías gráficas 3D Librería de gráficos 3D de alto nivel Basada en OpenGL y escrita en C++ Sigue una jerarquia de grafo de escena Soporta OpenGL 1.1 y OpenGL 2.0 Actualmente se está desarrollando un port para la plataforma Android utilizando el NDK que proporciona la propia Google. Los resultados son bastantes buenos
  • 52. 3 Librerías gráficas 3D Ejemplo de SOG sobre Android 2.2 Ejemplo OSG en Windows
  • 53. 3 Librerías gráficas 3D Librerías para J2ME Mobile 3D Graphics (M3G) Librería escrita en Java destinada a dispositivos móviles de pocos recursos Contiene 30 clases para pintar una escena 3D compleja M3G y Java3D son dos APIs totalmente distintas e incompatibles Está tecnología está muy extendida. Prácticamente todos los móviles de soporte M3G y los que no se les puede instalar una máquina virtual de J2ME Actualmente M3G tiene dos versiones: La M3G 1.1 (JSR-184) y la M3G 2.0 (JSR-297) con soporte de Shaders para dispositivos potentes
  • 54. 3 Librerías gráficas 3D Librerías para J2ME Mobile 3D Graphics (M3G) Si no se gestiona debidamente y si el dispositivo carece de recursos M3G va muy lento Las especificaciones recomiendan no sobrepasar los 1500 polígonos en pantalla Se pueden importar modelos creados en Maya, Blender o 3D studio con un plugin especial Modelo final en un Nokia N95 Modelo SketchUp 3D Studio
  • 55. 3 Librerías gráficas 3D Librerías para J2ME Mobile 3D Graphics (M3G) A pesar de las desventajas que presenta M3G podemos ajustarlo a cualquier dispositivo compatible haciendo que funcione con fluidez Podemos encontrar multitud de juegos con gráficos excelentes corriendo en móviles de pocos recursos debido a una buena gestión de la librería
  • 56. 3 Librerías gráficas 3D Microsoft Direct3D Mobile Esta librería deriva de la Direct3D API basada en sistemas de escritorio y está optimizada para el uso en sistemas embebidos Se han eliminado algunos módulos de soporte 3D debido a la baja potencia de los sistemas móviles Al igual que OpenGL, el dispositivo tiene que soportar las características que nos da la API A diferencia de OpenGL estas librerías son propietarias Demo Direct3D con una librería de física
  • 57. 3 Librerías gráficas 3D Motor gráfico para sistemas Windows Phone, SilverLight y XNA Proporciona herramientas para el desarrollo de aplicaciones 3D de forma sencilla Dispone de todos los elementos básicos de una escena 3D (cámaras, luces, modelos, texturas, etc) Dispone de una optimización para Windows Phone Demostración de Balder en una aplicación de escritorio Algunos elementos como las luces no funcionan correctamente en Windows Phone 57
  • 58. Índice de Contenidos 1 Introducción 2 Alternativas y plataformas actuales 3 Librerías gráficas 3D 4 IDE de programación 5 Tipos de aplicaciones 6 Nuestras Recomendaciones 7 Conclusiones
  • 59. 4 IDEs de Programación Multiplataforma Multiplataforma SDK Java aunque también acepta proyectos en C/C++ SDK Java aunque también acepta proyectos en otros lenguajes. No necesita instalación Necesita instalación Funcionalidad basada en módulos donde el usuario elige los que necesita Funcionalidad basada en módulos donde el usuario elige los que necesita Buena refactorización Mejor soporte para aplicaciones Web
  • 60. 4 IDEs de Programación IDE para sistemas Windows C, C++, C#, J#, .NET y otros Interfaz gráfica basada en Windows Forms Utiliza frameworks para el desarrollo de la interfaz XNA Framework para desarrollar juegos Visual Studio 2008
  • 61. 4 IDEs de Programación IDE de Apple Compila código C, C++, Objetive-C y Objetive C++ Destinada a desarrollar interfaces gráficas IDE organizado en diferentes programas por separado Desarrollo obligado en ordenadores MAC Xcode 4.0
  • 62. 4 IDEs de Programación Es una herramienta para el desarrollo de aplicaciones Symbian Está basada en el IDE Eclipse añadiendo plugins para Symbian Gestiona el desarrollo Symbian mejor que el Visual Studio Totalmente gratuito Carbide C++
  • 63. 4 IDEs de Programación Qt Creator Desarrollo en C++ Buena gestión y refactorización Tiene un diseñador de interfaces pero es muy complejo Soporte para Windows, Linux y Mac Contiene un simulador para desarrollar aplicaciones para móviles Qt Creator
  • 64. 4 IDEs de Programación Relación ¿ ¿
  • 65. Índice de Contenidos 1 Introducción 2 Alternativas y plataformas actuales 3 Librerías gráficas 3D 4 IDE de programación 5 Tipos de aplicaciones 6 Nuestras Recomendaciones 7 Conclusiones
  • 66. 5 Tipos de aplicaciones Prácticamente todas las aplicaciones desarrolladas para sistemas de escritorio pueden ser portadas a dispositivos móviles Actualmente las compañías intentan sacar el mismo producto tanto para sistemas de escritorio como para móviles Algunos Ejemplos:
  • 67. Tipos de aplicaciones 5 ¿Qué tengo o debo utilizar para desarrollar mis aplicaciones? ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿
  • 68. 5 Tipos de aplicaciones Aplicaciones tipo formulario con gráficos 2D y/o gráficos 3D Formularios simples de introducción de datos Imágenes estáticas Información visual muy simple para el usuario Apoyo con elementos 3D Feedback - iPhone Registros - iPhone Navigation - Android Palm WebOS
  • 69. 5 Tipos de aplicaciones Juegos 2D (Ej. Plataformas) Ideales para dispositivos con pocos recursos J2ME Symbian WebOS Maemo
  • 70. 5 Tipos de aplicaciones Juegos 3D Uso de librerías 3D del dispositivo Algunos juegos requieren dispositivos potentes Convivencia entre 2D y 3D en la mayoría de juegos Windows Phone iPhone Android
  • 71. 5 Tipos de aplicaciones Aplicaciones que utilicen todos los recursos multimedia (Ej. RA) Uso de todos los recursos del dispositivo debido a la necesidad de procesar gran cantidad de datos Algunas aplicaciones se ayudan de internet para actualizar datos Layar - Android Urbanspoon - iPhone Realidad Aumentada
  • 72. 5 Tipos de aplicaciones Aplicaciones con servicios web Intercambio de información con la red Conexión permanente a la red Aplicaciones estéticamente simples Spotify - iPhone ustream - Android Qik - Android
  • 73. 5 Tipos de aplicaciones Aplicaciones que utilicen la cámara, GPS, Acelerómetros, Sensores, etc. Uso de la cámara para manipular las capturas en tiempo real Uso del GPS para la localización Uso de sensores para aplicaciones especificas (niveles, luz, brújula) Compass Android Speedometer - WM Cámara - Symbian GPS - Symbian
  • 74. Índice de Contenidos 1 Introducción 2 Alternativas y plataformas actuales 3 Librerías gráficas 3D 4 IDE de programación 5 Tipos de aplicaciones 6 Nuestras Recomendaciones 7 Conclusiones
  • 75. 6 Nuestras Recomendaciones App Formularios Funcionalidad Requerida Baja Alta Alta
  • 76. 6 Nuestras Recomendaciones App 2D y 3D Funcionalidad Requerida Baja Alta Alta
  • 77. 6 Nuestras Recomendaciones Componentes del móvil Utilización de componentes presentes en el dispositivo Baja Alta Alta
  • 78. 6 Nuestras Recomendaciones Juegos 2D Funcionalidad Requerida Baja Alta Alta
  • 79. 6 Nuestras Recomendaciones Juegos 3D COMPLEJIDAD Baja Alta Alta
  • 80. 6 Nuestras Recomendaciones Realidad Aumentada COMPLEJIDAD Baja Alta Alta
  • 81. Índice de Contenidos 1 Introducción 2 Alternativas y plataformas actuales 3 Librerías gráficas 3D 4 IDE de programación 5 Tipos de aplicaciones 6 Nuestras Recomendaciones 7 Conclusiones
  • 82. 7 Conclusiones Existen muchas alternativas a la hora de desarrollar aplicaciones para dispositivos móviles Actualmente los dispositivos se decantan por utilizar de forma nativa la librería OpenGL ES Hay una alta competitividad entre todas las empresas que se especializan en el desarrollo y nuevas tecnologías para dispositivos móviles A pesar de que la temática de todas las plataformas es similar cada empresa quiere desarrollar su software por separado en un mercado donde la más original y la que mejor sepa vender será la beneficiaria Es necesario saberse la tabla de relaciones (Plataforma-IDE) y las especificaciones del sistema a desarrollar
  • 83. 7 Conclusiones Con nuestra experiencia hemos visto que el mercado tecnológico en desarrollar para tecnología móvil tiene un comportamiento tipo Onda Exige un esfuerzo adicional en información continua en el equipo de desarrollo