análisis de alternativas para el desarrollo de aplicaciones gráficas 3d sobre dispositivos...

83
Análisis de Alternativas para el Desarrollo de Aplicaciones Gráficas 3D sobre Dispositivos Móviles Rubén Talón Argente

Upload: ruben-talon-argente

Post on 07-Jun-2015

796 views

Category:

Technology


2 download

TRANSCRIPT

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

Análisis de Alternativas para el Desarrollo de Aplicaciones

Gráficas 3D sobre Dispositivos Móviles

Rubén Talón Argente

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

Índice de Contenidos

Introducción

Alternativas y plataformas actuales

Librerías gráficas 3D

IDE de programación

Tipos de aplicaciones

Nuestras Recomendaciones

Conclusiones

1

2

3

4

5

6

7

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

Introducción1

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

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

1983 1999 2000 2002 2005 2007 2009 2010 2011

MP3MP3

VídeoVídeo

Gráficos 3DGráficos 3D

GPSGPS

TouchTouch

Evolución Tecnológica

Introducción1

3D3D

TABLETS

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

Evolución Gráfica

M3G – OpenGL ES OpenGL ES 1.1 – OpenGL ES 2.0Java2D

1998 2000 2002 2005 2007 2008 2009 2010 2011

Introducción1

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

Índice de Contenidos

Introducción

Alternativas y plataformas actuales

Librerías gráficas 3D

IDE de programación

Tipos de aplicaciones

Nuestras Recomendaciones

Conclusiones

1

2

3

4

5

6

7

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

Plataformas Actuales2

Programación en Java con la alternativa de utilizar NDK para C

Biblioteca de gráficos 2D y 3D basada en OpenGL ES

Máquina virtual Dalvik para traducir el código a su lenguaje nativo

1.1 1.5 1.6 2.0.1 2.1 2.2

EVOLUCIÓN

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.

Arquitectura monolítica (núcleo escrito en C)

2.3

3.0

Android 2.3

Android 3.0

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

Mucha documentación y ejemplos

Cuidado con quedarnos sin memoria

Fácil de programar

Depuración en el emulador y móvil

Diseño complejo de interfaz

Fragmentación

Android 2.3 en el Samsung Galaxy S2

Fácil publicación de software en el Android Market

Plataformas Actuales2

1.1 1.5 1.6 2.0.1 2.1 2.2

EVOLUCIÓN

2.3

3.0

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

S60 9.3 ^1S60 9.2 ^2 ^3

Sistema optimizado para dispositivos de baja batería

Desarrollo en C++

Arquitectura basada en micronúcleo escrito en C++

Ampliamente extendido

EVOLUCIÓN

Symbian OS 9.4 y Symbian^3

Política de licencias: Eclipse Public License (EPL)

Plataformas Actuales2

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

Soporte de máquina virtual java

Buena gestión de memoria

Complejidad en el desarrollo

Los emuladores no disponen de todas las características reales de los móviles

Actualmente se pueden desarrollar interfaces con Qt

S60 9.3 ^1S60 9.2 ^2 ^3

EVOLUCIÓN

Symbian^3 en un Nokia N8

Plataformas Actuales2

Futuro incierto

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

Open Source con componentes propietarios

Interfaz gráfica basada en GNOME

Plataforma desarrollada por Nokia basada en el Sistema Debian

4.0 5.0 6.0

EVOLUCIÓN

Arquitectura de núcleo monolítico Linux

Utilizado en Nokia 770, N800, N810 y N900

Plataformas Actuales2

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

Utilización de Qt

Incompatibilidades entre SDKs en diferentes versiones

Utilización de las herramientas proporcionadas por Debian

Los SDK se adaptan a los nuevos terminales

Complejo desarrollo y ejecución

4.0 5.0 6.0

EVOLUCIÓN

Maemo en un Nokia N900

Plataforma desarrollada por Nokia

Plataformas Actuales2

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

Quiere llegar a los sistemas de vehículos y televisión

Sigue una línea paralela a Maemo sin ser un reemplazo

Surge de la unión de Maemo y Moblin (Qt-based framework + Intel Moblins)

1.0 1.1 1.2

EVOLUCIÓN

MeeGo

Plataformas Actuales2

El núcleo es una distribución de Linux

1.1.3

Modo experimental para desarrolladores

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

Utilización de Qt

Poca documentación

Compatibilidad con Maemo

Sistema aun en pruebas

EVOLUCIÓN

MeeGo en un Nokia N900

Plataformas Actuales2

1.0 1.1 1.21.1.3

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

Diseñado desde sus inicios para terminales de pocos recursos

Desarrollo en C++ y .NET

Compatibilidad con aplicaciones muy utilizadas de Microsoft Windows

Ampliamente extendido

7.02003 5.0CE 3.0 6.0 6.5

EVOLUCIÓN

Windows Mobile 6.5 y Windows Phone 7

Plataformas Actuales2

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

Desarrollo muy fácil y flexible

Mucha documentación y ejemplos

Sistema bastante lento

Soporte Multi-Touch a partir de la última versión

Interfaz en ocasiones incómoda

7.02003 5.0CE 3.0 6.0 6.5

EVOLUCIÓN

Plataformas Actuales2

Primera actualización con problemas

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

Multitarea

Posibilidad de usar C y C++ utilizando el PDK (Kit de desarrollo Plug-in)

Lenguaje JavaScript junto con HTML y CSS

EVOLUCIÓN

Plataformas Actuales2

HTML5

Funciona de forma nativa

1.0/1.1 1.2 1.3 1.4 1.4.5 2.0

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

Herramientas SDL y PDK

Limitación de JavaScript

Desarrollo Web básicamente

Rápido desarrollo y Rápida ejecución

Limitación de gráficos 3D

EVOLUCIÓN

WebOS en un Palm

Plataformas Actuales2

1.0/1.1 1.2 1.3 1.4 1.4.5 2.0

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

Interfaz de usuario basada en gestos multi-touch

Desarrollo en C, C++ y Objective-C

Sistema derivado de Mac OS X

3.1 (iPhone 2G)

3.2.2 (iPad)

4.0

EVOLUCIÓN

iOS 4.2.1

Núcleo Híbrido (Micronúcleo + Servicios)

Hay tres tipos de licencias: Universitaria, Estándar y Empresarial

4.1

La Universitaria es gratuita y las demás se paga un porcentaje a Apple

Plataformas Actuales2

4.34.2

4.2 4.3

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

No soporta ni Java ni Flash

Compatibilidad con HTML5 en últimas versiones

Primeras versiones no soportan multitareaSe necesita un Mac para desarrollar aplicaciones

EVOLUCIÓN

iOS en un iPhone 4

Aplicaciones fáciles de portar entre iPhone, iPod y iPad

Plataformas Actuales2

3.1 (iPhone 2G)

3.2.2 (iPad)

4.0 4.1 4.34.2

4.2 4.3

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

Según Samsung, NO es un Sistema Operativo

Plataforma con un kernel configurable

Desarrollado por Samsung

Desarrollo en C++

1.0.0.b3

EVOLUCIÓN

Bada OS

Plataformas Actuales2

1.2 1.2.1

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

SDK destinado a los desarrolladores libres

Poca documentación

Compatibilidad con Flash

Pocos dispositivos

EVOLUCIÓN

Bada OS 2.0 en un Samsung Wave 2

Plataformas Actuales2

1.0.0.b3 1.2 1.2.1

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

Soporte nativo para correo corporativo

Desarrollo en C, C++ y Java

Sistema patentado por RIM

5.0 6.04.5

EVOLUCIÓN

BlackBerry Tablet

Plataformas Actuales2

BlackBerry 8700

Enfocado a servicios profesionales

PlayBook OS basado en QNXEjecutará aplicaciones Android 2.2

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

Soporte para Java MIDP 1.0 y WAP 1.2

Sistema Multitarea

Fragmentación de versiones

Desarrollo utilizando plugin en Eclipse

5.0 6.04.5

EVOLUCIÓN

BlackBerry OS 6

Poco atractivo para un desarrollador multiplataforma

Plataformas Actuales2

No está destinado al ocio

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

Independiente de cualquier equipo físico

Sistema Operativo basado en Linux

Problemas a la hora de conectar con la red

Sistema de código totalmente abierto

Precio Licencias: 0€

Limo Linux

Plataformas Actuales2

Vodafone apostó por él con el servicio Vodafone 360

No hay controladores 100% funcionales

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

CLDC 1.0 MIDP 1.0 MIDP 2.0/2.1CLDC 1.1

Subconjunto destinado a dispositivos móviles

Programación en Java

J2ME no es un Sistema Operativo

Está muy extendido

AJUSTES

La máquina virtual de J2ME viene integrada con el sistema Symbian

Presente en un amplio abanico de dispositivos sin importar la plataforma

Plataformas Actuales2

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

Fácil de programar

Limitaciones de las APIs

Conjunto amplio de APIs diseñadas

Mucha documentación y ejemplos

Recursos muy bajos en móviles

Multiplataforma

CLDC 1.0 MIDP 1.0 MIDP 2.0/2.1CLDC 1.1

AJUSTES

Incompatibilidad de APIs con algunas máquinas virtuales

Plataformas Actuales2

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

Prácticamente todos disponen de una máquina virtual de J2ME

Características según el fabricante

Funciones básicas de manejo del dispositivo

Algunos firmwares están desarrollados en Flash

Otros, firmware propietarios

Sony Ericsson T610

LG BL40

Sony Ericsson W660

Plataformas Actuales2

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

Índice de Contenidos

Introducción

Alternativas y plataformas actuales

Librerías gráficas 3D

IDE de programación

Tipos de aplicaciones

Nuestras Recomendaciones

Conclusiones

1

2

3

4

5

6

7

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

Librerías gráficas 3D3

OpenGL ES

Tiny Graphics EngineTIGRE

Tiny Graphics EngineTIGRE

Vincent 3DVincent 3D

KlimtKlimt

M3GM3G

DirectX

Direct3D

GApiDraw(sólo 2D)

GApiDraw(sólo 2D)

WMGLWMGL

AndEngine 2DAndEngine 2D

OpenSceneGraphOSG

OpenSceneGraphOSG

J2ME

jPCT-AEjPCT-AEBalder (Silverlight, Windows

Phone 7 y Xna)Balder (Silverlight, Windows

Phone 7 y Xna)

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

OpenGL ES es una API de bajo nivel para gráficos 2D y 3D en sistemas avanzados embebidos

Existen varias versiones, las más utilizadas hoy en día son la OpenGL ES 1.1 y la OpenGL ES 2.0

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

La principal diferencia entre las dos versiones es el soporte de Shaders en la 2.0

Librerías gráficas 3D3

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

OpenGL ES 1.1 Vs OpenGL ES 2.0

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.

iPhone 3GS

Librerías gráficas 3D3

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

Ejemplos en varias plataformas

Qualcomm MSM7x30 con Android y un juego en OpenGL ES

Librerías gráficas 3D3

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

Ejemplos en varias plataformas

Demo OpenGL ES 2.0 en un Sony Ericsson Satio

Librerías gráficas 3D3

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

Ejemplos en varias plataformas

Demo juego OpenGL ES en un N900

Librerías gráficas 3D3

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

Ejemplos en varias plataformas

Demo juego OpenGL ES en HTC HD2

Librerías gráficas 3D3

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

Disponibilidad

OpenGL ES es la API oficial para algunos sistemas operativos

Librerías gráficas 3D3

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

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

Actualmente existen dos versiones:

Tigre 1.1 – fixed pipeline OpenGL ES

Tigre 2.0 – dynamic pipeline OpenGL ES

Máxima flexibilidad: Modelo de cámaras, texturas, filtros, renderizado de texto, etc.

Librerías gráficas 3D3

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

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

Librerías gráficas 3D3

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

Basadas en OpenGL ESVincent 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

Librerías gráficas 3D3

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

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

Librerías gráficas 3D3

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

Basadas en OpenGL ES

Windows CE PDA using PocketKnife's TGA-export function

Librerías gráficas 3D3

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

43

Librerías gráficas 3D3

WMGL - WM PPC Graphics Library

Librería gráfica diseñada para dispositivos con Windows Mobile

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

Librería basada en DirectDraw

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

44

Se utilizó en el proyecto Touch Shell

WMGL - WM PPC Graphics Library

Librerías gráficas 3D3

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

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

45

Librerías gráficas 3D3

Es una plataforma gráfica para crear aplicaciones que requieren una alta demanda de procesado gráfico en dispositivos con Windows Mobile

Básicamente está destinada al desarrollo de juegos

Es un complemento para DirectDraw

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

Desarrollo en C++

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

Librerías gráficas 3D3

Juegos diseñados con la librería GapiDraw para móviles con Windows Mobile

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

Librerías gráficas 3D3

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

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

Librerías gráficas 3D3

andEngine

Comparación entre varios dispositivos

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

Librerías gráficas 3D3

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

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

Librerías gráficas 3D3

jPCT-AE (android edition)

Animación de un modelo con esqueleto

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

Librerías gráficas 3D3

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

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

Librerías gráficas 3D3

Ejemplo de SOG sobre Android 2.2 Ejemplo OSG en Windows

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

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

Librerías gráficas 3D3

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

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 SketchUp 3D Studio

Modelo final en un Nokia N95

Librerías gráficas 3D3

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

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

Librerías gráficas 3D3

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

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

Librerías gráficas 3D3

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

57

Librerías gráficas 3D3

Motor gráfico para sistemas Windows Phone, SilverLight y XNA

Proporciona herramientas para el desarrollo de aplicaciones 3D de forma sencilla

Dispone de una optimización para Windows Phone

Algunos elementos como las luces no funcionan correctamente en Windows Phone

Dispone de todos los elementos básicos de una escena 3D (cámaras, luces, modelos, texturas, etc)

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

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

Índice de Contenidos

Introducción

Alternativas y plataformas actuales

Librerías gráficas 3D

IDE de programación

Tipos de aplicaciones

Nuestras Recomendaciones

Conclusiones

1

2

3

4

5

6

7

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

IDEs de Programación4

Multiplataforma

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

No necesita instalación

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

Buena refactorización

Multiplataforma

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

Necesita instalación

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

Mejor soporte para aplicaciones Web

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

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

IDEs de Programación4

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

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 MACXcode 4.0

IDEs de Programación4

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

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++

IDEs de Programación4

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

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

Qt Creator

Contiene un simulador para desarrollar aplicaciones para móviles

Qt Creator

IDEs de Programación4

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

Relación

¿

¿

IDEs de Programación4

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

Índice de Contenidos

Introducción

Alternativas y plataformas actuales

Librerías gráficas 3D

IDE de programación

Tipos de aplicaciones

Nuestras Recomendaciones

Conclusiones

1

2

3

4

5

6

7

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

Tipos de aplicaciones5

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:

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

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

¿¿ ¿ ¿

¿

¿

¿

¿¿

¿

¿¿

¿

¿¿

¿¿

¿

Tipos de aplicaciones5

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

Aplicaciones tipo formulario con gráficos 2D y/o gráficos 3D

Tipos de aplicaciones5

Formularios simples de introducción de datos Imágenes estáticas

Información visual muy simple para el usuario

Feedback - iPhone Registros - iPhone Navigation - Android Palm WebOS

Apoyo con elementos 3D

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

Juegos 2D (Ej. Plataformas)

Tipos de aplicaciones5

Ideales para dispositivos con pocos recursos

J2ME Symbian WebOS Maemo

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

Juegos 3D

Tipos de aplicaciones5

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

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

Aplicaciones que utilicen todos los recursos multimedia (Ej. RA)

Tipos de aplicaciones5

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

Urbanspoon - iPhoneLayar - Android Realidad Aumentada

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

Aplicaciones con servicios web

Tipos de aplicaciones5

Intercambio de información con la red

Conexión permanente a la red

Aplicaciones estéticamente simples

Spotify - iPhone ustream - Android Qik - Android

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

Aplicaciones que utilicen la cámara, GPS, Acelerómetros, Sensores, etc.

Tipos de aplicaciones5

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

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

Índice de Contenidos

Introducción

Alternativas y plataformas actuales

Librerías gráficas 3D

IDE de programación

Tipos de aplicaciones

Nuestras Recomendaciones

Conclusiones

1

2

3

4

5

6

7

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

Nuestras Recomendaciones6App Formularios

Baja

Alta

Funcionalidad Requerida

Alta

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

6App 2D y 3D

Baja

Alta

Funcionalidad Requerida

Alta

Nuestras Recomendaciones

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

6Componentes del móvil

Baja

Alta

Utilización de componentes presentes en el dispositivo

Alta

Nuestras Recomendaciones

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

6Juegos 2D

Baja

Alta

Funcionalidad Requerida

Alta

Nuestras Recomendaciones

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

6Juegos 3D

Baja

Alta

COMPLEJIDAD

Alta

Nuestras Recomendaciones

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

6Realidad Aumentada

Baja

Alta

COMPLEJIDAD

Alta

Nuestras Recomendaciones

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

Índice de Contenidos

Introducción

Alternativas y plataformas actuales

Librerías gráficas 3D

IDE de programación

Tipos de aplicaciones

Nuestras Recomendaciones

Conclusiones

1

2

3

4

5

6

7

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

Conclusiones7

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 beneficiariaEs necesario saberse la tabla de relaciones (Plataforma-IDE) y las especificaciones del sistema a desarrollar

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

Conclusiones7

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