Plataformas Móviles Web y Juegos

55
Plataformas Móviles Maritzol Tenemaza 2014-B 25/01/2022 Maritzol Tenemaza 1

description

Es un agente basado en objetivos y estos deciden que hacer para encontrar una secuencia de acciones que conduzcan a los estados deseables Se debe hacer dos formulaciones:1. Formulación del objetivoAlcanzar todo lo que le interesa al agenteSe pueden eliminar estados basándose en 2 cosas la medida del rendimiento y en la situación actual de nuestro problema2. Formulación del problemaSe debe

Transcript of Plataformas Móviles Web y Juegos

Page 1: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

1

Plataformas MóvilesMaritzol Tenemaza2014-B

Page 2: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

2

Objetivos•Plataformas móviles•Versiones de plataformas•Programación vía API •Tipos de aplicaciones: nativas, web móviles, híbridas

Page 3: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

3

Page 4: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

4

Plataformas más conocidas

Page 5: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

5

Plataforma Android• SO desarrollado por Open

Handset Alliance. Organización liderada por Google

• Desarrollo abierto. (arquitectura ARM)

• Gran fragmentación de versiones, se traduce en Incremento de la complejidad de desarrollo.

Page 6: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

6

Plataforma Android

http://emacorpandroid.blogspot.com/2012/07/sesion-2-estructura-de-android.html

Page 7: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

7

Versiones de Android y niveles de APIs• Las plataformas se identifican de

tres formas:▫ Versión▫ Nivel de API.▫ Nombre comercial.

http://www.androidcurso.com/index.php/tutoriales-android/31-unidad-1-vision-general-y-entorno-de-desarrollo/146-las-versiones-de-android-y-niveles-de-api

Page 8: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

8

Años y versiones de Android

Page 9: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

9

Versiones de Android

Page 10: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

10

Evolución de Android

Page 11: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

11

Versiones y API

Page 12: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

12

Versiones de Android y niveles de APIs

Page 13: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

13

Versiones de Android

Page 14: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

14

Plataforma iOS (iPhone OS)

•Desarrollada por Apple Inc, para iPhone, iPod Touch, iPad y Apple TV.

•Las herramientas de diseño de aplicaciones y frameworks proporcionadas por Apple están optimizadas para dicho hardware.

Page 15: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

15

Versiones y SDK iOS

Page 16: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

16

Versiones iOS

Page 17: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

17

Plataforma y distribución

Page 18: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

18

Plataforma Windows Phone

Page 19: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

19

Arquitectura Plataforma Windows Phone 7S• Desarrollado por Microsoft.• Sucesor de Windows Mobile.

Page 20: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

20

Plataforma Symbian

Page 21: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

21

Plataforma BlackBerry

http://sg.com.mx/buzz/rim-lanza-la-plataforma-blackberry-10#.VCRdiRb47eI

Page 22: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

22

Plataforma J2ME• Java Platform, Micro Edition (Java

ME) ofrece un entorno flexible y sólido para aplicaciones que se ejecutan en dispositivos móviles e integrados:

• Oracle definió los fundamentos de la tecnología Java ME.

http://www.java.com/es/download/faq/whatis_j2me.xml

Page 23: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

23

Plataforma J2ME• Sun Microsistem y su platafortma de desarrollo Java y

sus diferentes versiones de JDK y SDK.

• La máquina virtual de J2ME (1 versión) es KVM solo tenía un API para PAL OS.

• En el 2000 aparece la versión Connected Limited Device Configuration (J2ME SLDC 1.0), ofrece el API básico para programar.

• En julio del 2002 nace la primera implementación de un perfil llamado MIDP Mobile Information Device Profile, a partir de éste perfil J2ME fuè considerablemente aceptado por la comunidad de desarrolladores de dispositivos móviles.

Java,(2006), http://leo.ugr.es/J2ME/INTRO/index2.htm

Page 24: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

24

Plataforma J2ME• La versión 2 de java de Sun Microsystem

contiene 3 ediciones.• Estándar Edition (J2SE) entorno básico

de Java.• Enterprise edition (J2EE). Para

aplicaciones distribuidas, agrupa APIs Java y tecnologías que no están basadas en este lenguaje.

• MicroEdition (J2ME) para aplicaciones para dispositivos embebidos y electrónicos

Java,(2006), http://leo.ugr.es/J2ME/INTRO/index2.htm

Page 25: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

25

Comparativa de tecnologías para aplicaciones móviles

Page 26: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

26

El desarrollo móvil▫ Diseño ▫ Desarrollo▫ Distribuir

http://developer.android.com/about/start.html

Page 27: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

27

Enfoques de desarrollo• Aplicaciones Móviles Nativas

(iPhone, Android, BlackBerry, Windows Mobile)

• Aplicaciones Web para móviles (Web Apps)

• Aplicaciones Híbridas (Multiplataforma / Crossplatform)

Page 28: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

28

Aplicaciones nativas, Hibridas, Mobile web (http://blogs.telerik.com/appbuilder/posts/12-06-14/what-is-a-hybrid-mobile-app-)

Page 29: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

29

Enfoques de desarrollo

http://www.accensit.com/index.php/en/accensit-blog-en/150-mobile-platforms.html

Page 30: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

30

Aplicaciones

Page 31: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

31

Desarrollo nativo de una aplicación móvil• Una aplicación “nativa”, es una aplicación móvil

desarrollada en el lenguaje específico para esa plataforma.

• En otras palabras, si deseamos que nuestra aplicación funcione en el iPhone, Android y BlackBerry, tenemos que desarrollar la misma aplicación en tres versiones distintas, una para cada plataforma.

• Se ejecutan en un dispositivo y sistema operativo específico.

• Corren de forma más eficiente sobre estos dispositivos, ya que estos componentes están diseñados específicamente para este sistema operativo.

http://www.accensit.com/index.php/en/accensit-blog-en/150-mobile-platforms.htmlhttp://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles/

Page 32: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

32

Características principales de las aplicaciones móviles «nativas»• Para cada sistema operativo /

plataforma hay que desarrollar una aplicación distinta: Android, iOS, Blackberry, Windows Mobile.

• Se desarrollan con lenguajes distintos (Java para Android, Objective-C para iOS por ejemplo)

• Se distribuyen a través de las tiendas oficiales:▫ Google Play▫ Apple Store▫ AppWorld▫ Windows Marketplace

• Apple Store cobra 99 dólares al año por cada aplicación y 30% de los ingresos obtenidos mediante esta aplicación.

• Google Play (Android) cobra 25 dólares una sola vez por cada aplicación y 30% de los ingresos obtenidos mediante la misma.

• Las aplicaciones se instalan en el disco duro o tarjeta de memoria del dispositivo móvil.

• Permiten al usuario acceder con ellas a todos los recursos del dispositivo (cámara, contactos, gps, NFC ...) e interactuar con otras aplicaciones nativas.

Page 33: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

33

Plataformas para aplicaciones nativas

Page 34: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

34

Ventajas de las aplicaciones nativas• Posibilidad de utilizar funcionalidades del

teléfono: cámara, GPS, contactos, acelerómetro, etc.

• Rendimiento: Es más rápida que una aplicación híbrida, puede interactuar con otras aplicaciones nativas, saca mejor partido a los recursos del teléfono, uso de CPU, memoria y batería óptimo.

• Existe un sitio para compartir y comercializar las aplicaciones: Apple Store, Google Play, Blackberry AppWorld, Windows Marketplace.

• Funciona en modo online y offline: Se puede utilizar sin la necesidad de una conexión a internet.

• El proceso de verificación y aceptación por parte de Apple o Google suele ser más rápido que en una aplicación híbrida.

• Almacenamiento local seguro.

Page 35: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

35

Desventajas de las aplicaciones nativas• El coste, para una única plataforma entonces suele ser más

barato. • Tiempo de desarrollo es mayor, en el caso que deba

desarrollarse un aplicación para cada plataforma.

• Mayor Coste de mantenimiento: Mantener varias versiones.

• Tiempo de aprobación: La aprobación de una nueva aplicación en el Apple Store puede llegar a tardar un par de semanas. En Google Play son 24h.

• Cualquier modificación, actualización o nueva funcionalidad de la aplicación tiene que pasar por el mismo sistema de aprobación.

• Coste adicional: Apple Store y Google Play cobran por cada aplicación disponible en su tienda 30% del precio de la aplicación. Así como un 30% de los ingresos obtenidos a través de la aplicación mediante in-app purchase (compras desde la propia aplicación).

• Se necesitan desarrolladores con conocimientos específicos de la plataforma

Page 36: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

36

Aplicaciones web móviles• Las aplicaciones web móviles, a

diferencia de las aplicaciones nativas, se ejecutan dentro del navegador del teléfono.

• Por ejemplo, en la plataforma iOS, se ejecutan en el navegador Safari.

• Estas aplicaciones están desarrolladas con HTML, CSS y Javascript.

Page 37: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

37

Características principales de las aplicaciones web móviles• Se acceden mediante un navegador web del

dispositivo.

• La aplicación se visualizará de forma casi idéntica en todos los dispositivos.

• Las tecnologías utilizadas son las mismas que para un sitio web. Se utiliza HTML, CSS y JavaScript.

• No se distribuyen mediante sitios oficiales.

• Funcionan principalmente online pero pueden contar con caché local y almacenamiento de datos local para el funcionamiento offline (un ejemplo es la aplicación del Financial Times).

Page 38: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

38

Ventajas Aplicaciones web móviles• Se pueden ejecutar en múltiples dispositivos .

• El proceso de desarrollo es más sencillo ya que emplean tecnologías ya conocidas como HTML, CSS y Javascript.

• Estas aplicaciones se pueden encontrar con los tradicionales buscadores.

• No necesitan de la aprobación de ningún fabricante para ser publicadas.

• Coste: Se desarrolla una única aplicación para todos los sistemas operativos a diferencia de una aplicación nativa.

• Rapidez de desarrollo: Al desarrollar para todas las plataformas a la vez no se multiplica el tiempo de desarrollo.

• Compatibilidad: Se reutiliza casi en un 100% el mismo código fuente para todos los sistemas operativos de los dispositivos móviles. Se puede optimizar para las distintas resoluciones de pantallas móviles.

• Mantenimiento de un único código para todas las plataformas.

• Distribución: Se puede evitar la subida a los repositorios oficiales online (App Stores). Es posible descargar la aplicación desde una página web o accediendo a una URL concreta.

• Actualizaciones inmediatas: Las actualizaciones de la aplicación son inmediatas, a diferencia de unas semanas de espera de aprobación por Apple Store.

• Posibilidad de SEO: Ayuda a mejorar la visibilidad de su aplicación puesto que esta y sus contenidos estan disponibles en la web.

• Visibilidad: La URL de la aplicación web es fácil de compartir, e incluso se puede redirigir el tráfico desde redes sociales, blogs, códigos QR y medios de publicidad.

Page 39: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

39

Desventajas de los sistemas web móviles• No se venden en los market

place.

• Integración con los componentes nativos del dispositivo: Las aplicaciones web, al ser ejecutadas en el navegador, solo pueden acceder a determinados componentes y funcionalidades nativas del dispositivo, aunque las posibilidades evolucionan con rapidez.

• Diferencias entre dispositivos. El nivel de incorporación de los estándares en los navegadores de cada dispositivo es bastante heterogéneo. Es posible que se dedique mas tiempo en testear y corregir problemas de una aplicación web debido al comportamiento distinto de los navegadores que en el propio desarrollo de la misma.

• El uso offline: Las capacidades de almacenamiento local de las aplicaciones Web son limitadas, solicitándose al usuario la confirmación en caso de sobrepasar ciertos límites.

• Fluidez: Un interface de usuario desarrollado en HTML5 no es tan fluido como uno nativo.

Page 40: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

40

Comparación de aplicaciones web con nativas

Page 41: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

41

Aplicaciones Hibridas• Una aplicación híbrida es una

aplicación escrita en el mismo lenguaje de las aplicaciones web o websites, que está alojada en un contenedor nativo, en un dispositivo móvil.

• Es, entonces, la unión entre la tecnología web y la ejecución nativa,

Page 42: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

42

Aplicaciones Hibridas• Una aplicación híbrida o multiplataforma.

• “mezcla entre una aplicación Nativa y una WebApp”.

• Este tipo de aplicaciones se hicieron populares gracias al framework Phonegap (hoy Apache Cordova) pero existen varios que pueden ser utilizados: Kendo UI Mobile, Sencha Touch, Trigger.io o Titanium Appcelerator.

• Al desarrollar aplicaciones híbridas :▫ Se utiliza s la tecnología nativa (conjunto de APIs)

cuando es necesario o mas nos conviene (para acceder a cámara, acelerómetro, contactos, etc.),

▫ la tecnología web (como HTML5, CSS3 y JavaScript) para el desarrollo de la estructura e interfaz de la aplicación.

• De este modo maximizamos la base de código que es común a las distintas plataformas y limitamos el desarrollo de funcionalidad nativa a aquellos aspectos que no puedan ser desarrollados de otro modo.

Page 43: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

43

Proceso de desarrollo de aplicaciones Híbridas• Toman lo mejor de los dos anteriores

modelos.

• Usan tecnologías multiplataforma como HTML, Javascript y CSS, ppermiten acceder a buena parte de los dispositivos y sensores del teléfono.

• Buena parte de la infraestructura es tipo web y la comunicación con los elementos del teléfono se hace mediante comunicadores tales como phonegap (http://phonegap.com).

• Un buen ejemplo de aplicaciones híbridas es Facebook. Se descarga de la app store y cuenta con todas las características de una aplicación nativa pero requiere ser actualizada ocasionalmente.

http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles/

Page 44: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

44

Proceso de desarrollo de aplicaciones híbridas• Phonegap es el vínculo que une la tecnología web

con los elementos propios del teléfono, tiene dos objetivos:

▫ Permite que un código fuente cualquiera se pueda ejecutar en diversas plataformas.

▫ Permite que la aplicación web acceda a los diferentes elementos del teléfono.

• Una vez creado el código se compila a un ejecutable (como las nativas), también se genera HTML. CSS y java script a ejecutar en el navegador (como las aplicaciones web).

http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles/

Page 45: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

45

Ejemplos de aplicaciones Híbridas• Instagram: Utiliza tecnología nativa

para tomar, editar y publicar las fotos (incluso sin conexión a internet) y la tecnología web para desplegar las fotos y el perfil.

• Linked In: Híbrida para iOS y nativa para Android.

• Facebook: Ha cambiado de una aplicación totalmente híbrida a una nativa con funcionalidades híbridas.

Page 46: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

46

Cuándo optar por una aplicación Híbrida• Para aprovechar las

especificaciones de dispositivos. • Para utilizar la aplicación cuando

el dispositivo está offline.• Para llegar a un mayor número de

diferentes dispositivos móviles.• Cuando No es tan importante el

rendimiento gráfico que pueden ofrecer las aplicaciones nativas.

http://inusual.com/articulos/aplicaciones-moviles-hibridas/http://blogs.telerik.com/appbuilder/posts/12-06-14/what-is-a-hybrid-mobile-app-

Page 47: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

47

Ventajas de las aplicaciones híbridas• Minimizamos el código específico: La

mayor parte del código puede utilizarse para el resto de plataformas. Solo se utiliza código nativo para aquellos aspectos que lo requieran.

• Menor coste de desarrollo sobretodo si se requiere la aplicación en varias plataformas.

• Menor coste de mantenimiento al ser la mayor parte del código común a todas las plataformas.

• Una aplicación Híbrida puede acceder a los recursos del dispositivo móvil prácticamente como una nativa.

• Se distribuye mediante los respectivos “stores”.

Page 48: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

48

Desventajas de las aplicaciones híbridas• Rendimiento: El rendimiento y la

experiencia de usuario no pueden alcanzar los niveles de la aplicación nativa. Incluso los dispositivos más actuales tienen problemas gestionando interfaces desarrollados en HTML5.

• Habitualmente los procesos de aprobación en los correspondientes "stores" para aplicaciones hibridas son más estrictos y pueden llegar a ser rechazadas si no queda clara la funcionalidad proporcionada mediante la carga de código remoto.

Page 49: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

49

Nativas Híbridas y web

Page 50: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

50

Comparación App Híbrida con App Nativa

Page 51: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

51

Comparación App Nativa, Web móvil e Híbrida

Page 52: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

52

Plataformas para desarrollo híbridas• Apache Cordova (Phone Gap) es una plataforma para desarrollar aplicaciones

móviles nativas usando HTML,CSS y Java script. Es un conjunto de APIs de dispositivos.

• Córdova usa diferentes herramientas como Jquery Mobile o Dojo Mobile, entre otras, para desarrollar aplicaciones móviles híbridas para iOS, Android, Windows Phone, Blackberry, etc.

• Sencha Space es una plataforma para distribuir de forma segura HTML5 y aplicaciones híbridas para negocios en un entorno gestionado.

• Xamarín y su kit para aplicaciones híbridas permiten utilizar HTML y C#.

http://inusual.com/articulos/aplicaciones-moviles-hibridas/

(Microsoft incluye en Visual Studio herramientas Córdova : : http://msdn.microsoft.com/en-us/magazine/hh975345.aspx

Page 53: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

53

Aplicaciones nativas multiplataforma• Las aplicaciones nativas de plataformas

cruzadas funcionan de manera similar a las aplicaciones nativas estándar.

• Sin embargo las aplicaciones nativas multiplataforma en general no se construyen utilizando las herramientas de desarrollo por defecto de la plataforma (ejemplo: Objective-C/Xcode para Aplle, Java/Android Studiio para Android, C·/Visual Studio para Windows Phone)

• Se construye usando un producto de terceros y el código se compila en diferentes plataformas para producir aplicaciones completamente nativas que comparten código entre ellos.

http://blog.westmonroepartners.com/cross-platform-native-mobile-apps/

Page 54: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

54

Arquitectura de aplicaciones cruzadas• La diferencia clave de trabajar para

aplicaciones nativas de plataforma cruzada es que son capaces de compartir cierta cantidad de código a través de plataformas.

• La lógica empresarial es compartida,.

• La IU se reconstruye para cada plataforma.

http://blog.westmonroepartners.com/cross-platform-native-mobile-apps/

Page 55: Plataformas Móviles Web y Juegos

26/04/2023Maritzol Tenemaza

55

Bibliografía•Gradiant, El éxito de las plataformas de aplicaciones

Móviles, http://www.gradiant.org/es/actualidad/noticias/606-el-exito-de-las-plataformas-de-aplicaciones-moviles.html (centro tecnológico de telecomunicaciones de Galicia)

•http://www.accensit.com/index.php/en/accensit-blog-en/150-mobile-platforms.html