Desarrollo de apps multiplataforma Movil

27
Desarrollo Movíl Multi Plataforma.

description

Presentando alternativas para desarrollo multi plataforma

Transcript of Desarrollo de apps multiplataforma Movil

Page 1: Desarrollo de apps multiplataforma Movil

Desarrollo Movíl Multi Plataforma.

Page 2: Desarrollo de apps multiplataforma Movil

Sobre el Expositor

Ing. Erick Martin Guardado Rauda

Ingeniero en Sistemas y ComputaciónCon Pre especialidad en desarrollo de Aplicaciones Móviles.Obtenido en: Universidad Tecnológica de El Salvador

Trabajo actual: Grupo Consisa.Puesto: Analista Programador de Aplicaciones Móviles.

Page 3: Desarrollo de apps multiplataforma Movil

Plataformas Mobiles

Page 4: Desarrollo de apps multiplataforma Movil

Android

Android es un sistema operativo basado en el kernel de Linux diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tabletas, inicialmente desarrollado por Android, Inc. Google respaldó económicamente y más tarde compró esta empresa en 2005. Android fue presentado en 2007 junto la fundación del Open Handset Alliance: un consorcio de compañías de hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles. El primer móvil con el sistema operativo Android fue el HTC Dream y se vendió en octubre de 2008.

Page 5: Desarrollo de apps multiplataforma Movil

IOS

iOS es un sistema operativo móvil de la empresa Apple Inc. Originalmente desarrollado para el iPhone (iPhone OS), siendo después usado en dispositivos como el iPod Touch, iPad y el Apple TV. Apple, Inc. no permite la instalación de iOS en hardware de terceros. Tenía el 26% de cuota de mercado de sistemas operativos móviles vendidos en el último cuatrimestre de 2010, detrás de Google Android y Nokia Symbian.2 En enero de 2014, el 78% de los dispositivos iOS (iPad, iPod y iPhone) poseen iOS 7.

Page 6: Desarrollo de apps multiplataforma Movil

Windows Mobile / Whindows Phone

Windows es un sistema operativo móvil compacto desarrollado por Microsoft, y diseñado para su uso en teléfonos inteligentes (Smartphones) y otros dispositivos móviles.Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente. Además, existe una gran oferta de software de terceros disponible para Windows Mobile, la cual se podía adquirir a través de Windows Marketplace for Mobile.

Page 7: Desarrollo de apps multiplataforma Movil

BlackBerry OS

El BlackBerry OS es un sistema operativo móvil desarrollado por RIM para los dispositivos BlackBerry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada adoptados por RIM para su uso en computadoras de mano, particularmente la trackwheel, trackball, touchpad y pantallas táctiles.

Page 8: Desarrollo de apps multiplataforma Movil
Page 9: Desarrollo de apps multiplataforma Movil

Desarrollo NativoCada plataforma tiene su propio lenguaje, herramientas de desarrollo y Apis con los que crear aplicaciones.

Page 10: Desarrollo de apps multiplataforma Movil

Desarrollo Multiplataforma.

Page 11: Desarrollo de apps multiplataforma Movil

Una APP para todas las plataformas.

¿Qué pasa cuando quieres hacer una app para cada plataforma?

- Aprender el lenguaje de cada una.- IDS de desarrollo diferentes.- Usar las API’S nativas.- Escribir la app mas de una vez.- Invertir Tiempo en cada una de ellas.

Page 12: Desarrollo de apps multiplataforma Movil

La Solución

La solución es conseguir una herramienta “write once, run everywhere”. Un software con el que sea posible programar con un lenguaje determinado y que, además, permita que tu aplicación funcione en varios dispositivos.

Una de las principales ventajas de los smartphone es que todos tienen un navegador HTML5, por lo que podemos, simplemente, crear una aplicación web y usarla desde el navegador de uno de estos móviles.

Page 13: Desarrollo de apps multiplataforma Movil

Algunas de ellas.

Page 14: Desarrollo de apps multiplataforma Movil

PhoneGap: HTML5/CSS3/JSPhoneGap es un sistema para crear aplicaciones usando exclusivamente HTML5, CSS3 y Javascript, ejecutadas dentro en un componente WebKit del móvil. Provee una serie de librerías Javascript desarrolladas en el lenguaje específico de cada plataforma (Objetctive-C para IOS, Java para Android, etc) que nos permiten acceder a las características del móvil como GPS, acelerómetro, cámara, contactos, base de datos, filesystem, etc. Al ser una página web, tenemos acceso al DOM y podemos usar frameworks web como jQuery o cualquier otro. Requiere diseñar tu aplicación web con los componentes visuales típicos del HTML, etc o usar un framework web mobile como jQuery Mobile o Sencha Touch entre otros. Tiene la ventaja de que puedes definir la navegación inicial de la aplicación usando el Chrome o el Firefox de tu ordenador, sin tener que ejecutarla en el simulador.

En resumen, podemos ver una aplicación PhoneGap como una serie de páginas web que están almacenadas y empaquetadas dentro de una aplicación móvil visualizadas con un navegador web, con acceso a la mayoría de Apis del móvil, lo cual lo convierte en una alternativa muy sencilla para crear aplicaciones.

Page 15: Desarrollo de apps multiplataforma Movil

PhoneGap: HTML5/CSS3/JSVentajas:

1. Es la solución que más plataformas móviles soporta, ya que corre dentro de un navegador web. Además de Iphone/Ipad y Android, funciona también en Palm, Symbian, WebOS, W7 y BlackBerry

2. Es muy fácil de desarrollar y proporciona una gran libertad a los que tienen conocimientos de HTML y Javascript.

3. Hay buena documentación y bastantes ejemplos.

4. Es gratis, soporte de pago. Licencia BSD.

Page 16: Desarrollo de apps multiplataforma Movil

PhoneGap: HTML5/CSS3/JSDesventajas:

1. Requiere Mac con Xcode para empaquetar aplicaciones IOS.

2. La aplicación no es más que una página web, por lo que el aspecto dependerá del framework web utilizado. Necesitaremos el uso de frameworks HTML móviles como Sencha Touch, jQuery mobile, Jo, Sproutcore, XUI, jQTouch si queremos que parezca una aplicación nativa.

3. No llega al rendimiento de una aplicación nativa, pues el HTML, CSS y Javascript debe ser leido e interpretado por el engine del navegador cada vez arranca.

Page 17: Desarrollo de apps multiplataforma Movil

BBC OLIMPICS

Page 18: Desarrollo de apps multiplataforma Movil

Titanium Appcelerator: JavaScriptCon Appcelerator es posible crear aplicaciones para Android, Iphone y, además, de escritorio, usando exclusivamente Javascript (el soporte para Blackberry está en fase beta). Para programar proporciona Titanium Studio, un IDE basado en Eclipse con el que crear los proyectos y editar los ficheros Javascript y el resto de recursos y lanzar los scripts de creación.Experimentalmente, permite usar Php, Ruby y Python también, pero transformando el código después en Javascript con los frameworks Phpjs, Skulpt o Ruby.js.

Las aplicaciones se programan integramente con Javascript, creando y colocando “a mano” todos los controles, usando para ello una librería que hace de puente entre tu aplicación Javascript y los controles del sistema. Esto significa que las ventanas y demás controles visuales (botones, listas, menus, etc) son nativos: cuando se añade un botón, se crea un botón del sistema y se añade a la vista, lo que lo hace más rápido de renderizar y la respuesta del usuario es también la más rápida. A diferencia de PhoneGap, en Appcelerator no hay DOM, por lo que no se pueden usar librerías como jQuery que sirven para manipularlo, ya que el contexto de ejecución es Javascript puro, no dentro de un documento HTML.

Page 19: Desarrollo de apps multiplataforma Movil

Titanium Appcelerator: JavaScriptVentajas:

1. Multiplataforma móvil y también de escritorio.

2. Aspecto y controles nativos. El mejor rendimiento.

3. Buenos ejemplos (el KitchenSink tiene prácticamente todo lo que se puede hacer) Gratis, soporte de pago. Licencia Apache.

Page 20: Desarrollo de apps multiplataforma Movil

Titanium Appcelerator: JavaScriptDesventajas:

1. Requiere Mac y Xcode para empaquetar aplicaciones IOS.

2. Definición de componentes visuales y controles “a mano”.

3. Mucha documentación pero poco actualizada y descolocada, tutoriales desfasados.

4. El IDE y las aplicaciones fallan a veces, no he podido exportar ni arrancar una aplicación Iphone desde el IDE, he tenido que hacerlo desde Xcode.

5. Las aplicaciones de escritorio se distribuyen con el código fuente en claro (html, js, css, imágenes, todo)

Page 21: Desarrollo de apps multiplataforma Movil

Mangia e bevi

Page 22: Desarrollo de apps multiplataforma Movil

RhodesRhodes, es un Framework de código abierto para construir rápidamente aplicaciones nativas para los principales sistemas operativos de teléfonos inteligentes de consumo (iPhone, Android y Windows Phone 8).

Rhodes usa el patrón Modelo Vista Controlador (MVC).

Rhodes esta basado en Ruby, inspirado en Rails, usa el entorno de desarrollo RhoStudio basado en eclipse, configuración de ejecución para cada plataforma.

Page 23: Desarrollo de apps multiplataforma Movil

Rhomobile: Ruby, JS, html5, CSS.Rhodes, es un Framework de código abierto para construir rápidamente aplicaciones nativas para los principales sistemas operativos de teléfonos inteligentes de consumo (iPhone, Android y Windows Phone 8).

Rhodes usa el patrón Modelo Vista Controlador (MVC).

Rhodes esta basado en Ruby, inspirado en Rails, usa el entorno de desarrollo RhoStudio basado en eclipse, configuración de ejecución para cada plataforma, ideal para apps empresariales.

Page 24: Desarrollo de apps multiplataforma Movil

Rhomobile: Ruby, JS, html5, CSS.1. RhoElements: Framework para el desarrollo de aplicaciones aptas para

múltiples plataformas de aplicaciones empresariales.

2. Rhodes: Framework para el desarrollo de aplicaciones aptas para múltiples plataformas de aplicaciones orientadas al consumidor

3. RhoStudio: La simplicidad de contar con una única herramienta para desarrollo de aplicaciones, depuración y prueba, basado en eclipse.

4. RhoConnect: La integración más fácil y rápida de datos internos (backend) de la empresa con dispositivos móviles.

5. RhoHub: Servicios hospedados que simplifican el desarrollo y la implementación de aplicaciones móviles.

6. RhoGallery: Tienda de aplicaciones empresariales para la implementación, la administración y la protección de aplicaciones móviles.

Page 25: Desarrollo de apps multiplataforma Movil

Rhomobile: Ruby, JS, html5, CSS.Ventajas:

1. Multiplataforma móvil.

2. Controles Hrml y Nativos.

3. Documentación, video tutoriales y proyectos realizados por la comunidad.

4. Simuladores html por plataforma.

5. Tiene apis completas para acceder al hardware del dispositivo.

Page 26: Desarrollo de apps multiplataforma Movil

Rhomobile: Ruby, JS, html5, CSS.Desventajas:

1. La versión 4.0 ya no tiene soporte para blackberry

2. Soporte solo hasta blackberry 7.1

3. Ciertas apis son licenciadas.

4. El numero de dispositivos enlazado a Rhoconnect es limitado según licencia, por default trae una licencia para 10 dispositivos.

5. Requiere Mac y Xcode para empaquetar aplicaciones IOS.

6. Algunas apis no son soportadas por algunas plataformas.

Page 27: Desarrollo de apps multiplataforma Movil

Apps Empresariales