Você está na página 1de 55

Plataformas Mviles

Maritzol Tenemaza
2014-B
30/10/2014 Maritzol Tenemaza
1
Objetivos
Plataformas mviles
Versiones de plataformas
Programacin va API
Tipos de aplicaciones: nativas, web mviles, hbridas
30/10/2014 Maritzol Tenemaza
2





30/10/2014 Maritzol Tenemaza
3
Plataformas ms conocidas
30/10/2014 Maritzol Tenemaza
4
Plataforma Android
SO desarrollado por Open
Handset Alliance. Organizacin
liderada por Google

Desarrollo abierto. (arquitectura
ARM)

Gran fragmentacin de versiones,
se traduce en Incremento de la
complejidad de desarrollo.
30/10/2014 Maritzol Tenemaza
5
Plataforma Android

30/10/2014 Maritzol Tenemaza
6
http://emacorpandroid.blogspot.com/2012/07/sesion-2-estructura-de-android.html
Versiones de Android y niveles de APIs
Las plataformas se identifican de tres
formas:
Versin
Nivel de API.
Nombre comercial.

30/10/2014 Maritzol Tenemaza
7
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
Aos y versiones de Android
30/10/2014 Maritzol Tenemaza
8
Versiones de Android

30/10/2014 Maritzol Tenemaza
9
Evolucin de Android
30/10/2014 Maritzol Tenemaza
10
Versiones y API
30/10/2014 Maritzol Tenemaza
11
Versiones de Android y niveles de APIs
30/10/2014 Maritzol Tenemaza
12
Versiones de Android

30/10/2014 Maritzol Tenemaza
13
Plataforma iOS (iPhone OS)

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

Las herramientas de diseo
de aplicaciones y frameworks
proporcionadas por Apple
estn optimizadas para dicho
hardware.


30/10/2014 Maritzol Tenemaza
14
Versiones y SDK iOS
30/10/2014 Maritzol Tenemaza
15
Versiones iOS
30/10/2014 Maritzol Tenemaza
16
Plataforma y distribucin
30/10/2014 Maritzol Tenemaza
17
Plataforma Windows Phone
30/10/2014 Maritzol Tenemaza
18
Arquitectura Plataforma Windows Phone 7S
Desarrollado por Microsoft.
Sucesor de Windows Mobile.

30/10/2014 Maritzol Tenemaza
19

Plataforma Symbian

30/10/2014 Maritzol Tenemaza
20
Plataforma BlackBerry












http://sg.com.mx/buzz/rim-lanza-la-
plataforma-blackberry-10#.VCRdiRb47eI
30/10/2014 Maritzol Tenemaza
21
Plataforma J2ME
Java Platform, Micro Edition (Java ME)
ofrece un entorno flexible y slido para
aplicaciones que se ejecutan en
dispositivos mviles e integrados:


Oracle defini los fundamentos de la
tecnologa Java ME.



http://www.java.com/es/download/faq/wha
tis_j2me.xml


30/10/2014 Maritzol Tenemaza
22
Plataforma J2ME

Sun Microsistem y su platafortma de desarrollo Java y sus
diferentes versiones de JDK y SDK.

La mquina virtual de J2ME (1 versin) es KVM solo tena
un API para PAL OS.

En el 2000 aparece la versin Connected Limited Device
Configuration (J2ME SLDC 1.0), ofrece el API bsico para
programar.

En julio del 2002 nace la primera implementacin 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 mviles.



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


30/10/2014 Maritzol Tenemaza
23
Plataforma J2ME
La versin 2 de java de Sun Microsystem
contiene 3 ediciones.
Estndar Edition (J2SE) entorno bsico
de Java.
Enterprise edition (J2EE). Para
aplicaciones distribuidas, agrupa APIs Java y
tecnologas que no estn basadas en este
lenguaje.
MicroEdition (J2ME) para aplicaciones
para dispositivos embebidos y electrnicos



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


30/10/2014 Maritzol Tenemaza
24
30/10/2014 Maritzol Tenemaza
25
El desarrollo mvil

Diseo
Desarrollo
Distribuir




http://developer.android.com/about/st
art.html

30/10/2014 Maritzol Tenemaza
26
Enfoques de desarrollo
Aplicaciones Mviles Nativas (iPhone,
Android, BlackBerry, Windows Mobile)

Aplicaciones Web para mviles (Web
Apps)

Aplicaciones Hbridas (Multiplataforma /
Crossplatform)



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








30/10/2014 Maritzol Tenemaza
28
Enfoques de desarrollo
30/10/2014 Maritzol Tenemaza
29
http://www.accensit.com/index.php/en/accensit-blog-en/150-
mobile-platforms.html
Aplicaciones

30/10/2014 Maritzol Tenemaza
30
Desarrollo nativo de una aplicacin mvil
Una aplicacin nativa, es una aplicacin mvil
desarrollada en el lenguaje especfico para esa
plataforma.

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

Se ejecutan en un dispositivo y sistema operativo
especfico.

Corren de forma ms eficiente sobre estos
dispositivos, ya que estos componentes estn
diseados especficamente para este sistema
operativo.
http://www.accensit.com/index.php/en/accensit-blog-
en/150-mobile-platforms.html
http://geospatialtraininges.com/recursos-
gratuitos/tipos-de-aplicaciones-moviles/


30/10/2014 Maritzol Tenemaza
31
Caractersticas principales de las aplicaciones
mviles nativas
Para cada sistema operativo / plataforma
hay que desarrollar una aplicacin
distinta: Android, iOS, Blackberry,
Windows Mobile.
Se desarrollan con lenguajes distintos
(Java para Android, Objective-C para iOS
por ejemplo)
Se distribuyen a travs de las tiendas
oficiales:
Google Play
Apple Store
AppWorld
Windows Marketplace

Apple Store cobra 99 dlares al ao por
cada aplicacin y 30% de los ingresos
obtenidos mediante esta aplicacin.
Google Play (Android) cobra 25 dlares
una sola vez por cada aplicacin y 30% de
los ingresos obtenidos mediante la misma.
Las aplicaciones se instalan en el disco
duro o tarjeta de memoria del dispositivo
mvil.
Permiten al usuario acceder con ellas a
todos los recursos del dispositivo (cmara,
contactos, gps, NFC ...) e interactuar con
otras aplicaciones nativas.

30/10/2014 Maritzol Tenemaza
32
Plataformas para aplicaciones nativas
30/10/2014 Maritzol Tenemaza
33
Ventajas de las aplicaciones nativas
Posibilidad de utilizar funcionalidades del
telfono: cmara, GPS, contactos, acelermetro,
etc.
Rendimiento: Es ms rpida que una aplicacin
hbrida, puede interactuar con otras aplicaciones
nativas, saca mejor partido a los recursos del
telfono, uso de CPU, memoria y batera 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 conexin a
internet.
El proceso de verificacin y aceptacin por parte
de Apple o Google suele ser ms rpido que en una
aplicacin hbrida.
Almacenamiento local seguro.
30/10/2014 Maritzol Tenemaza
34
Desventajas de las aplicaciones nativas
El coste, para una nica plataforma entonces suele ser ms
barato.
Tiempo de desarrollo es mayor, en el caso que deba
desarrollarse un aplicacin para cada plataforma.

Mayor Coste de mantenimiento: Mantener varias versiones.

Tiempo de aprobacin: La aprobacin de una nueva
aplicacin en el Apple Store puede llegar a tardar un par de
semanas. En Google Play son 24h.

Cualquier modificacin, actualizacin o nueva funcionalidad
de la aplicacin tiene que pasar por el mismo sistema de
aprobacin.

Coste adicional: Apple Store y Google Play cobran por cada
aplicacin disponible en su tienda 30% del precio de la
aplicacin. As como un 30% de los ingresos obtenidos a
travs de la aplicacin mediante in-app purchase (compras
desde la propia aplicacin).

Se necesitan desarrolladores con conocimientos
especficos de la plataforma

30/10/2014 Maritzol Tenemaza
35
Aplicaciones web mviles
Las aplicaciones web mviles, a diferencia
de las aplicaciones nativas, se ejecutan
dentro del navegador del telfono.

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

Estas aplicaciones estn
desarrolladas con HTML, CSS y
Javascript.
30/10/2014 Maritzol Tenemaza
36
Caractersticas principales de las aplicaciones web
mviles
Se acceden mediante un navegador web del
dispositivo.

La aplicacin se visualizar de forma casi
idntica en todos los dispositivos.

Las tecnologas 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
aplicacin del Financial Times).

30/10/2014 Maritzol Tenemaza
37
Ventajas Aplicaciones web mviles
Se pueden ejecutar en mltiples dispositivos .

El proceso de desarrollo es ms sencillo ya que emplean
tecnologas ya conocidas como HTML, CSS y Javascript.

Estas aplicaciones se pueden encontrar con los tradicionales
buscadores.

No necesitan de la aprobacin de ningn fabricante para ser
publicadas.

Coste: Se desarrolla una nica aplicacin para todos los
sistemas operativos a diferencia de una aplicacin 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 cdigo
fuente para todos los sistemas operativos de los dispositivos
mviles. Se puede optimizar para las distintas resoluciones de
pantallas mviles.


Mantenimiento de un nico cdigo para todas las
plataformas.

Distribucin: Se puede evitar la subida a los repositorios
oficiales online (App Stores). Es posible descargar la
aplicacin desde una pgina web o accediendo a una URL
concreta.

Actualizaciones inmediatas: Las actualizaciones de la
aplicacin son inmediatas, a diferencia de unas semanas de
espera de aprobacin por Apple Store.

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

Visibilidad: La URL de la aplicacin web es fcil de
compartir, e incluso se puede redirigir el trfico desde redes
sociales, blogs, cdigos QR y medios de publicidad.







30/10/2014 Maritzol Tenemaza
38
Desventajas de los sistemas web mviles
No se venden en los market place.

Integracin 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 incorporacin de los estndares en los
navegadores de cada dispositivo es bastante
heterogneo. Es posible que se dedique mas
tiempo en testear y corregir problemas de
una aplicacin 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, solicitndose al usuario
la confirmacin en caso de sobrepasar ciertos
lmites.
Fluidez: Un interface de usuario
desarrollado en HTML5 no es tan fluido
como uno nativo.

30/10/2014 Maritzol Tenemaza
39
Comparacin de aplicaciones web con nativas
30/10/2014 Maritzol Tenemaza
40
Aplicaciones Hibridas
Una aplicacin hbrida es una
aplicacin escrita en el mismo
lenguaje de las aplicaciones web o
websites, que est alojada en un
contenedor nativo, en un dispositivo
mvil.
Es, entonces, la unin entre la
tecnologa web y la ejecucin nativa,
30/10/2014 Maritzol Tenemaza
41
Aplicaciones Hibridas
Una aplicacin hbrida o multiplataforma.

mezcla entre una aplicacin 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 hbridas :
Se utiliza s la tecnologa nativa (conjunto de APIs) cuando es
necesario o mas nos conviene (para acceder a cmara,
acelermetro, contactos, etc.),
la tecnologa web (como HTML5, CSS3 y JavaScript) para el
desarrollo de la estructura e interfaz de la aplicacin.
De este modo maximizamos la base de cdigo que es comn a
las distintas plataformas y limitamos el desarrollo de
funcionalidad nativa a aquellos aspectos que no puedan ser
desarrollados de otro modo.

30/10/2014 Maritzol Tenemaza
42
Proceso de desarrollo de aplicaciones Hbridas
Toman lo mejor de los dos anteriores
modelos.

Usan tecnologas multiplataforma como
HTML, Javascript y CSS, ppermiten acceder a
buena parte de los dispositivos y sensores del
telfono.

Buena parte de la infraestructura es tipo
web y la comunicacin con los elementos del
telfono se hace mediante comunicadores tales
como phonegap (http://phonegap.com).

Un buen ejemplo de aplicaciones hbridas es
Facebook. Se descarga de la app store y cuenta
con todas las caractersticas de una aplicacin
nativa pero requiere ser actualizada
ocasionalmente.

30/10/2014 Maritzol Tenemaza
43
http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles/
Proceso de desarrollo de aplicaciones hbridas
Phonegap es el vnculo que une la tecnologa web
con los elementos propios del telfono, tiene dos
objetivos:

Permite que un cdigo fuente cualquiera se
pueda ejecutar en diversas plataformas.
Permite que la aplicacin web acceda a los
diferentes elementos del telfono.

Una vez creado el cdigo se compila a un ejecutable
(como las nativas), tambin 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/
30/10/2014 Maritzol Tenemaza
44
Ejemplos de aplicaciones Hbridas
Instagram: Utiliza tecnologa nativa para
tomar, editar y publicar las fotos (incluso
sin conexin a internet) y la tecnologa
web para desplegar las fotos y el perfil.

Linked In: Hbrida para iOS y nativa
para Android.

Facebook: Ha cambiado de una
aplicacin totalmente hbrida a una nativa
con funcionalidades hbridas.

30/10/2014 Maritzol Tenemaza
45
Cundo optar por una aplicacin Hbrida
Para aprovechar las especificaciones
de dispositivos.
Para utilizar la aplicacin cuando el
dispositivo est offline.
Para llegar a un mayor nmero de
diferentes dispositivos mviles.
Cuando No es tan importante el
rendimiento grfico 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-

30/10/2014 Maritzol Tenemaza
46
Ventajas de las aplicaciones hbridas
Minimizamos el cdigo especfico: La mayor
parte del cdigo puede utilizarse para el resto
de plataformas. Solo se utiliza cdigo nativo
para aquellos aspectos que lo requieran.
Menor coste de desarrollo sobretodo si se
requiere la aplicacin en varias plataformas.
Menor coste de mantenimiento al ser la
mayor parte del cdigo comn a todas las
plataformas.
Una aplicacin Hbrida puede acceder a los
recursos del dispositivo mvil prcticamente
como una nativa.
Se distribuye mediante los respectivos
stores.

30/10/2014 Maritzol Tenemaza
47
Desventajas de las aplicaciones hbridas
Rendimiento: El rendimiento y la
experiencia de usuario no pueden
alcanzar los niveles de la aplicacin
nativa. Incluso los dispositivos ms
actuales tienen problemas gestionando
interfaces desarrollados en HTML5.
Habitualmente los procesos de
aprobacin en los correspondientes
"stores" para aplicaciones hibridas
son ms estrictos y pueden llegar a ser
rechazadas si no queda clara la
funcionalidad proporcionada mediante la
carga de cdigo remoto.
30/10/2014 Maritzol Tenemaza
48
Nativas Hbridas y web
30/10/2014 Maritzol Tenemaza
49
Comparacin App Hbrida con App Nativa
30/10/2014 Maritzol Tenemaza
50
Comparacin App Nativa, Web mvil e Hbrida
30/10/2014 Maritzol Tenemaza
51
Plataformas para desarrollo hbridas
Apache Cordova (Phone Gap) es una plataforma para desarrollar aplicaciones mviles
nativas usando HTML,CSS y Java script. Es un conjunto de APIs de dispositivos.

Crdova usa diferentes herramientas como Jquery Mobile o Dojo Mobile, entre otras,
para desarrollar aplicaciones mviles hbridas para iOS, Android, Windows Phone,
Blackberry, etc.

Sencha Space es una plataforma para distribuir de forma segura HTML5 y aplicaciones
hbridas para negocios en un entorno gestionado.

Xamarn y su kit para aplicaciones hbridas permiten utilizar HTML y C#.


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

(Microsoft incluye en Visual Studio herramientas Crdova : : http://msdn.microsoft.com/en-us/magazine/hh975345.aspx
30/10/2014 Maritzol Tenemaza
52
Aplicaciones nativas multiplataforma
Las aplicaciones nativas de plataformas
cruzadas funcionan de manera similar a las
aplicaciones nativas estndar.

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 cdigo se compila en
diferentes plataformas para producir
aplicaciones completamente nativas que
comparten cdigo entre ellos.

http://blog.westmonroepartners.com/cross-
platform-native-mobile-apps/
30/10/2014 Maritzol Tenemaza
53
Arquitectura de aplicaciones cruzadas
La diferencia clave de trabajar para
aplicaciones nativas de plataforma cruzada
es que son capaces de compartir cierta
cantidad de cdigo a travs de
plataformas.

La lgica empresarial es compartida,.

La IU se reconstruye para cada plataforma.



http://blog.westmonroepartners.com/cross-
platform-native-mobile-apps/
30/10/2014 Maritzol Tenemaza
54
Bibliografa
Gradiant, El xito de las plataformas de aplicaciones Mviles,
http://www.gradiant.org/es/actualidad/noticias/606-el-exito-de-
las-plataformas-de-aplicaciones-moviles.html (centro tecnolgico
de telecomunicaciones de Galicia)
http://www.accensit.com/index.php/en/accensit-blog-en/150-
mobile-platforms.html
30/10/2014 Maritzol Tenemaza
55

Você também pode gostar