Plataformas móviles, evolución de medios y soportes, convergencia medial.
Plataformas Móviles Web y Juegos
description
Transcript of Plataformas Móviles Web y Juegos
26/04/2023Maritzol Tenemaza
1
Plataformas MóvilesMaritzol Tenemaza2014-B
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
26/04/2023Maritzol Tenemaza
3
26/04/2023Maritzol Tenemaza
4
Plataformas más conocidas
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.
26/04/2023Maritzol Tenemaza
6
Plataforma Android
http://emacorpandroid.blogspot.com/2012/07/sesion-2-estructura-de-android.html
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
26/04/2023Maritzol Tenemaza
8
Años y versiones de Android
26/04/2023Maritzol Tenemaza
9
Versiones de Android
26/04/2023Maritzol Tenemaza
10
Evolución de Android
26/04/2023Maritzol Tenemaza
11
Versiones y API
26/04/2023Maritzol Tenemaza
12
Versiones de Android y niveles de APIs
26/04/2023Maritzol Tenemaza
13
Versiones de Android
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.
26/04/2023Maritzol Tenemaza
15
Versiones y SDK iOS
26/04/2023Maritzol Tenemaza
16
Versiones iOS
26/04/2023Maritzol Tenemaza
17
Plataforma y distribución
26/04/2023Maritzol Tenemaza
18
Plataforma Windows Phone
26/04/2023Maritzol Tenemaza
19
Arquitectura Plataforma Windows Phone 7S• Desarrollado por Microsoft.• Sucesor de Windows Mobile.
26/04/2023Maritzol Tenemaza
20
Plataforma Symbian
26/04/2023Maritzol Tenemaza
21
Plataforma BlackBerry
http://sg.com.mx/buzz/rim-lanza-la-plataforma-blackberry-10#.VCRdiRb47eI
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
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
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
26/04/2023Maritzol Tenemaza
25
Comparativa de tecnologías para aplicaciones móviles
26/04/2023Maritzol Tenemaza
26
El desarrollo móvil▫ Diseño ▫ Desarrollo▫ Distribuir
http://developer.android.com/about/start.html
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)
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-)
26/04/2023Maritzol Tenemaza
29
Enfoques de desarrollo
http://www.accensit.com/index.php/en/accensit-blog-en/150-mobile-platforms.html
26/04/2023Maritzol Tenemaza
30
Aplicaciones
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/
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.
26/04/2023Maritzol Tenemaza
33
Plataformas para aplicaciones nativas
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.
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
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.
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).
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.
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.
26/04/2023Maritzol Tenemaza
40
Comparación de aplicaciones web con nativas
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,
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.
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/
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/
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.
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-
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”.
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.
26/04/2023Maritzol Tenemaza
49
Nativas Híbridas y web
26/04/2023Maritzol Tenemaza
50
Comparación App Híbrida con App Nativa
26/04/2023Maritzol Tenemaza
51
Comparación App Nativa, Web móvil e Híbrida
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
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/
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/
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