U1 p5 entornos_desarrollo_moviles

12
UNIDAD 1 –P5 PROGRAMACION DE DISPOSITIVOS MOVILES HERNAN ALONSO LOTERO ROJAS | UNIASTURIAS 2015 ENTORNOS DE DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MOVILES

Transcript of U1 p5 entornos_desarrollo_moviles

Page 1: U1 p5 entornos_desarrollo_moviles

UNIDAD 1 –P5PROGRAMACION DE

DISPOSITIVOS MOVILES

HERNAN ALONSO LOTERO ROJAS | UNIASTURIAS 2015

ENTORNOS DE DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MOVILES

Page 2: U1 p5 entornos_desarrollo_moviles

ENTORNO DE DESARROLLO PARA DISPOSITIVOS MOVILES

AGENDA• Objetivos• Contenido• Preguntas• Bibliografía

Page 3: U1 p5 entornos_desarrollo_moviles

OBJETIVOS

• Explorar los entornos de programación de dispositivos móviles

• Analiza las ventajas y desventajas de los entornos de desarrollo multiplataforma.

Page 4: U1 p5 entornos_desarrollo_moviles

ENTORNOS DE DESARROLLO MOVILESSegún IDC, a agosto de 2015, el mercado de plataformas de sistemas operativos es el siguiente:

Lo cual nos permite concluir que Android con el 82% y IOS con el 13.9% son los dominadores del mercado, también se puede ver la pérdida de mercado que ha tenido Windows Phone y BlackBerry.

Page 5: U1 p5 entornos_desarrollo_moviles

ENTORNOS DE DESARROLLO MOVILESSegún Developer Econonomics (https://www.developereconomics.com/reports/developer-economics-state-of-the-developer-nation-q3-2015/ ), las plataformas de desarrollo más usadas por los desarrolladores y sus combinaciones son las siguientes:

De acuerdo al estudio, en promedio los desarrolladores de juegos construyen sus aplicaciones para 2.6 plataformas, y los demás desarrolladores en promedio para 2.2. Siendo Android e iOS las plataformas preferidas para desarrollo.

Fuente: Developer Economics: State of the Developer Nation Q3 2015

Page 6: U1 p5 entornos_desarrollo_moviles

APLICACIONES NATIVAS VS APLICACIONES WEB

Aplicaciones nativas: Son aquellas creadas con las herramientas (API) de cada plataforma y por tanto tienen acceso al hardware directamente (cámara, acelerómetro, etc), y están escritas en lenguajes compilados para dicha plataforma (por ejemplo Objetive-C para iOS).

• Ventajas: Se puede acceder a todas las características del hardware, ejecución más rápida y eficiente.

• Desventajas: Solo funciona para una plataforma, ciclo de desarrollo más lento, el lenguaje de programación de la plataforma.

Aplicaciones Web: Consisten en un sitio web optimizado para ser presentado en dispositivos móviles, pueden o no ser instaladas en el terminal. A pesar de tener limitaciones para el acceso al hardware del dispositivo, recientes actualizaciones como HTML5 y JS permiten superar dichas limitaciones en gran medida.

• Ventajas: Herramientas seleccionadas por el programador, un solo desarrollo, ciclo de desarrollo más ágil.

• Desventajas: Puede haber limitaciones acceso a todas las características del hardware, dificultad para la apariencia de la aplicación.

Page 7: U1 p5 entornos_desarrollo_moviles

APLICACIONES NATIVAS VS APLICACIONES WEB

Tendencia: Existe un grupo de proyectos que pretenden crear aplicaciones web y empaquetarlas como aplicaciones nativas que se instalan y ejecutan en el terminal, consiguiendo de esta manera obtener las ventajas de ambos enfoques. Ejemplos de estos entornos son PhoneGap y Cordova

Page 8: U1 p5 entornos_desarrollo_moviles

PRINCIPALES ENTORNOS DE DESARROLLO

• Java ME: Desarrollado por Sun corresponde a una versión de la máquina virtual de java de tamaño reducido y un conjunto de librerías (APIs) y perfiles para ejecutarse en dispositivos móviles, PDAs, televisores, microcontroladores, sensores, etc (el internet de las cosas).

• Symbian: Sistema operativo adquirido por Nokia que fue usada para sus equipos hasta 2011 cuando concreto una alianza con Microsoft para reemplazarlo por Windows Phone. En su época fue uno de los más usados.

• Android: Plataforma basada en Linux, el desarrollo de aplicaciones se realiza en java, se requiere una SDK , actualmente desarrollado por Google, es la plataforma de mayor uso por los fabricantes. Existen también versiones para TV, autos, netbooks, consolas de juegos, cámaras digitales entre otros. Licenciado por Google como licencia Open, aunque muchas instalaciones combinan software propietario.

Page 9: U1 p5 entornos_desarrollo_moviles

PRINCIPALES ENTORNOS DE DESARROLLO• Windows Mobile: Es una variante de Windows CE para teléfonos móviles, las aplicaciones se pueden

desarrollar usando el .NET compact framework. Es una plataforma que usan varios fabricantes; diseñado para ser similar a las versiones de Windows de escritorio. A sido reemplazado por el Windows Phone para el mercado de consumo. En enero de 2015 Microsoft dada la fragmentación de sus sistemas operativos, anuncio que dará de baja Windows Phone para enfocarse en su nuevo Windows 10 Mobile, disponible para todo tipo de dispositivos.

• BlackBerry: Sistema operativo propietario que se usa para sus propios dispositivos, llego a tener una gran popularidad inicialmente en los sectores empresariales, y luego en el sector de consumo, entre otras por su teclado QWERTY que hacia eficiente la escritura. Las versiones más recientes ya incorporan teclados virtuales y pantallas táctiles. Actualmente ha tenido una pérdida significativa de mercado.

• iOS: El sistema operativo para móviles de Apple usa el lenguaje de programacion Objetive-C, el cual está basado en C, para crear sus apps. Es usado en iphone, ipad y ipod touch, y es el sistema operativo mas común en Canada, Estados Unidos, Reino Unido, Australia y Japon. Dispone de herramientas nativas como Xcode 4 para desarrolladores que incluyen el SDK de iOS; el IDE de Xcode para codificación, desarrollo y depuración de tu aplicación; Interface Builder para diseñar la interfaz de usuario, e Instruments para analizar el comportamiento y el desempeño, además de decenas de herramientas adicionales.

Page 10: U1 p5 entornos_desarrollo_moviles

ENTORNOS MOVILES MULTIPLATAFORMA• Sistemas multiplataforma: Aplicaciones desarrolladas con tecnología web (HTML, JavaScript CSS) que

presenten la información necesaria y suficiente, use los elementos visuales estándares, tenga acceso al hardware del terminal, y que puedan ser empaquetadas para ser instaladas en dispositivos móviles. Con la posibilidad de ser empaquetada para un determinado sistema operativo o plataforma de forma automática.

• Aprovechan la experiencia del programador en desarrollo web para ser productivo y crear aplicaciones con muy poca curva de aprendizaje inicial

• Disponen de limitaciones con respecto a las aplicaciones nativas, por ejemplo para implementar diseños con cierta complejidad.

• “una aplicación híbrida no es más una web en HTML y programación en javascript que funciona dentro de un navegador que el usuario no ve”.

• Ejemplos de este tipo de aplicaciones son las que podemos crear con PhoneGap/Apache cordoba.

Page 11: U1 p5 entornos_desarrollo_moviles

PREGUNTAS

• Realiza una consulta y elabora cuadro comparativo de las plataformas iOS y Adroid.

• Que concepto te merece el modelo de licenciamiento de iOS y Android?

Page 12: U1 p5 entornos_desarrollo_moviles

BIBLIOGRAFIA

MORILLO, J. (2010) INTRODUCCIÓN A LOS DISPOSITIVOS MÓVILES, BARCELONA, ESPAÑA, UNIVERSITAT OBERTA DE CATALUNYA.

COMUNICACIONES MÓVILES. SISTEMAS GSM, UMTS Y LTE. JOSE MANUEL HUIDORO, MOYA ALFAOMEGA RA-MA, 2013