Te llamamos Nosotros

Aprende a diseñar tu app

¿Qué es la Ingeniería del Software? ¿Cómo diseño mi app? ¿Qué es la programación orientada a objetos? ¿Sobre qué Sistema Operativo desarrollo? ¿Qué es una interfaz de usuario? Este módulo responderá a todas estas preguntas.

MÓDULO 3: Diseño y tecnología aplicaciones móviles

Tema 0: Presentación del Módulo

Cuando se habla de desarrollar aplicaciones para dispositivos móviles de cualquier tipo, no solo hay que pensar en la parte de desarrollo necesaria para llevarla a cabo, sino también en todos los pasos previos que contribuyen a obtener una aplicación de calidad y orientada a los objetivos perseguidos en tu proyecto.

Por ello, es necesario que tengas una visión general y global de en qué consiste y cómo se aplica el diseño de cualquier aplicación móvil y la elección de las mejores tecnologías en función de las necesidades de tu app.

En este módulo podrás obtener esa visión global que necesitas para preparar tu aplicación o la aplicación que vaya a desarrollar tu equipo, partiendo de conceptos de Ingeniería del Software, pasando por los sistemas operativos en dispositivos móviles, hasta las interfaces de usuario y guías de estilo necesarios para tener una aplicación atractiva.

También podrás conocer el mundo del desarrollo de aplicaciones basadas en HTML5. En qué consiste, que conlleva su uso para el desarrollo, elementos, etc. De esta manera podrás conocer en mayor profundidad qué nos ofrece esta alternativa para la creación de aplicaciones para dispositivos móviles.

Y para que tengas una visión más práctica de este módulo y por supuesto, también más visual, revisaremos algunos proyectos de desarrollo de apps, que nos podrán servir de ejemplo para plasmar todo lo aprendido durante los diferentes temas de este módulo.

¿Qué vas a aprender?

En este módulo vas a aprender todo lo necesario para realizar el diseño de tu aplicación móvil. Verás todas las herramientas que te permitirán determinar qué va a realizar tu aplicación, cómo va a estar estructurada, cuál va a ser la interacción del usuario y el contenido que se va a transmitir en cada parte. Podrás saber evaluar si tu diseño es correcto y viable antes de llevarlo a cabo. Para ello trataremos todos los temas relacionados con la Ingeniería del Software orientada a los dispositivos móviles.

Por otro lado, revisaremos toda la evolución de las tecnologías para las aplicaciones móviles, así como las arquitecturas y servicios telemáticos más usados en la actualidad.

Dominarás todos los conceptos relacionados con la Programación Orientada a Objetos, que resultan vitales para poder desarrollar una apps o dirigir su desarrollo. Profundizarás en el diseño de las interfaces para aplicaciones móviles que son una de las claves fundamentales para que una app tenga éxito. Veremos todos los conceptos necesarios de usabilidad e interactividad que permitirán hacer tu app mucho más amigable y accesible para el usuario.

Por último, aprenderás qué es el HTML5 y cómo se usa para el desarrollo de aplicaciones para dispositivos móviles. Verás tanto el lenguaje en si como las herramientas más actuales que permiten el desarrollo de aplicaciones en lenguaje.

¿Qué objetivos vas a conseguir?

  • Descubrirás todo lo que necesitas saber y controlar para diseñar tu app.
  • Verás la evolución de las tecnologías móviles y todos los elementos que pueden ayudarte a desarrollar tu aplicación.
  • Conocerás qué es la Ingeniería del Software y cómo te ayuda a estructurar y diseñar tu app.
  • Verás las tecnologías relacionadas con los dispositivos móviles y que podrán ser parte de tu aplicación.
  • Te familiarizarás con todo lo relacionado con la Programación Orientada a Objetos y podrás profundizar en la medida que lo necesites.
  • Analizaremos las diferentes Plataformas y Sistemas Operativos donde podrás desarrollar tu app.
  • Profundizarás en el mundo de las Interfaces de usuario, su diseño, su estructura, las mejores guías de estilo, los conceptos de usabilidad, interactividad, que darán calidad a tu app.
  • Conocerás el lenguaje HTML5 y todo lo necesario para desarrollar apps usándolo.

¿Cuál es el contenido del mismo?

Hemos desglosado este módulo en 9 temas:

Tema 1. Evolución de la Ingeniería del Software y las redes móviles.
Tema 2. Tecnologías y arquitecturas para dispositivos móviles.
Tema 3. Servicios telemáticos móviles.
Tema 4. Revisión del modelo de programación orientada a objetos.
Tema 5. Plataformas y Sistemas Operativos en dispositivos móviles.
Tema 6. Introducción a las interfaces de usuario y usabilidad.
Tema 7. Estudio de guías de estilo y patrones de diseño.
Tema 8. Aplicaciones móviles web con HTML5.
Tema 9. Análisis de varios proyectos telemáticos de programación.

Tema 1: Evolución de la Ingeniería del Software y las redes móviles

La Ingeniería del Software es la aplicación de un método estructurado, disciplinado y cuantificable al desarrollo de aplicaciones software. La creación de software es un proceso creativo, y por tanto, requiere cierta estructuración y sistematización que permita obtener resultados óptimos de manera eficiente. Esta disciplina se adapta a los cambios que se van aplicando al desarrollo de software y por tanto, está en constante evolución.

En este tema verás en qué consiste la Ingeniería del Software y qué te ofrece a la hora de diseñar tus creaciones software. Verás cómo se aplican estas técnicas a los procesos de creación de apps para dispositivos móviles, sus principios y su metodología. Recorrerás todos los pasos para obtener un buen diseño de tu aplicación, lo que te permitirá mejorar los resultados y afianzar el camino que te llevará al éxito de tu app.

En este tema podrás aprender:

  • ¿Qué es la Ingeniería del Software?
  • ¿Cuáles son los elementos que engloban un proceso de Ingeniería del Software?
  • Evolución de la Ingeniería del Software.
  • Metodologías existentes en el proceso de la Ingeniería del Software.

Tema 2: Tecnologías y Arquitecturas para dispositivos móviles

Asociado a cualquier dispositivo móvil hay disponibles un conjunto de tecnologías en constante evolución y crecimiento. Los actuales dispositivos inteligentes no disponen de la misma tecnología que hace unos años y estás tecnologías nos ayudan a crear herramientas y aplicaciones cada vez más completas y funcionales. El conocer la gran variedad de tecnologías disponibles, sus características, su nivel de consumo o sus ventajas e inconvenientes, te ayudará a decidir cuáles serán usadas en tu aplicación y cuáles no. De esta manera orientarás tus decisiones con conocimiento y basándote en lo que tu app va a necesitar y el nivel de consumo que deberá soportar.

Además, en este tema verás también las diferentes arquitecturas para dispositivos móviles, que influyen en la eficiencia con la que resuelven las diferentes necesidades. Esto te permitirá también tomar decisiones en cuanto a los tipos de dispositivos que te pueden ayudar mejor a resolver determinadas necesidades.

En este tema podrás aprender:

  • Evolución de las tecnologías integradas en los dispositivos móviles.
  • Características de estas tecnologías.
  • Conocer sus ventajas e inconvenientes que te ayudarán en la elección de las mismas.
  • Verás las distintas arquitecturas existentes en la actualidad y cómo influyen en el desarrollo de las apps.

Tema 3: Servicios telemáticos móviles

¿Qué son los servicios telemáticos y qué nos ofrecen? Conocer qué servicios telemáticos existen y cuáles pueden influir o beneficiar tu aplicación puede resultar importante para obtener mejores resultados en tu app. Por ello, en este tema te familiarizarás con todo lo relacionado con los servicios telemáticos, su evolución y hacia donde tienden, su orientación, sus características y las bases tecnológicas en las que se basan. Tendrás una visión global que dará soporte a tus decisiones a la hora de diseñar y desarrollar una aplicación móvil en el sector que determines.

En este tema podrás aprender:

  • ¿Qué es un servicio telemático?
  • ¿Cuál ha sido su evolución hasta la actualidad?
  • Conocerás el futuro de los servicios telemático.
  • Verás las características de los mismos y cómo pueden influir en tu app.

Tema 4: Revisión del modelo de Programación Orientada a Objetos

La Programación Orientada a Objetos es un paradigma de programación que usa elementos a los que se denominan objetos para implementar las aplicaciones y software informático. Es una técnica que se popularizó a principios de los 90 y que en la actualidad constituye la base de la programación de aplicaciones de cualquier tipo. Con el paso de los años este paradigma va evolucionando con nuevos lenguajes y nuevos elementos que permiten mejorar la estructura y la metodología usada en el desarrollo de software.

Resulta realmente importante conocer este método de programación, ya que es el más usado y extendido en la actualidad tanto para aplicaciones de escritorio como en aplicaciones para dispositivos móviles.

En este tema por tanto, profundizarás en todo lo relacionado con la Programación Orientada a Objetos, sus orígenes, los conceptos fundamentales (como abstracción, herencia, encapsulamiento o polimorfismo), sus características y ejemplos de lenguajes basados en este paradigma.

En este tema podrás aprender:

  • ¿Qué es la Programación Orientada a Objetos?
  • ¿En qué consiste?
  • Aprenderás cómo se pueden programar aplicaciones móviles usando este paradigma de programación.
  • Entenderás los diferentes conceptos que son la base de la Programación Orientada a Objetos.
  • Descubrirás las diferentes Arquitecturas software existentes y cuales están orientadas a aplicaciones móviles.

Tema 5: Plataformas y Sistemas Operativos en dispositivos móviles

¿Cómo decidir si tu aplicación será para una sola plataforma o multiplataforma? ¿Cómo decidir sobre qué Sistema Operativo la vas a desarrollar? Todas estas preguntas que te harás cuando comiences a diseñar tu app tienen respuesta siempre y cuando tengas conocimientos relacionadas con las plataformas y los sistemas operativos existentes en la actualidad, y sobre todo centrados en los dispositivos móviles. Para tomar decisiones necesitarás saber las características de cada plataforma y de los diferentes sistemas operativos, las diferencias entre ellos, si necesitan firma o no, si son multiusuario, etc.

Con este tema aprenderás todos los términos relacionados con las diferentes plataformas y sistemas operativos del mercado, descubrirás sus características, sus ventajas e inconvenientes, las diferencias entre Sistema Operativo de propósito general frente a uno para dispositivos móviles. También aprenderás conceptos de Sistemas Operativos en Tiempo Real, así como los modelos de negocio asociados a las diferentes plataformas.

En este tema podrás aprender:

  • ¿Qué es un Sistema Operativo?
  • SSOO de propósito general y telefonía móvil
  • Conocerás el mercado actual de telefonía móvil y SSOO
  • Verás las aplicaciones, dispositivos y compañías de desarrollo
  • Descubrirás que son los sistemas empotrados y sistemas operativos tiempo-real
  • Sabrás la evolución de los SSOO en tecnologías móviles y sus modelos de negocio

Tema 6: Introducción a las Interfaces de usuario y Usabilidad

Todos hemos usado aplicaciones que mediante elementos gráficos y pulsaciones de botón o acciones con nuestros dedos producen acciones y permiten interactuar con la herramienta para obtener un resultado (en acciones, datos, información, etc.).

La base de una buena aceptación de una aplicación móvil reside tanto en su objetivo y funcionalidad como en la interfaz de usuario que se haya diseñado para su interacción. Si una herramienta es útil pero tiene una interfaz compleja o es difícil interactuar con ella, el resultado es que en breve dejaremos de usarla o la cambiaremos por una mucho más sencilla e intuitiva. Esta es la base del diseño de Interfaces de Usuario, encontrar la mejor manera para que el usuario realice acciones sencillas, rápidas y muy intuitivas para dar soporte al manejo de la aplicación.

Para crear estas interfaces necesitarás conocer que es un Interfaz de usuario, cómo se hace un buen diseño de tu interfaz, cómo se desarrollan las interfaces de usuario diseñadas, qué elementos hay que tener en cuenta a la hora de conseguir una interfaz usable y sencilla, cómo puedes hacer tests de usuarios para comprobar la funcionalidad e interactividad de tu interfaz. En este tema pretendemos que profundices en el mundo de las Interfaces y conozcas todos los conceptos de Usabilidad e Interactividad que te ayudarán a mejorar el diseño de tus interfaces.

En este tema podrás aprender:

  • Qué es un interfaz de usuario.
  • Tipos de interfaces existentes.
  • Sabrás qué es un Interfaz gráfico.
  • Profundizarás en el concepto de Usabilidad, sus Reglas y sus Beneficios.
  • Aprenderás cuál es el proceso de creación de un interfaz de usuario.

Tema 7: Estudio de guías de estilo y patrones de diseño

Complementando el tema anterior, en este tema verás cómo te ayudan y que consigues utilizando guías de estilo y patrones de diseño. Un interfaz completo de usuario incluye múltiples elementos, múltiples pantallas, diferentes información, etc., que debe tener por detrás un diseño asociado que permita dar coherencia y unidad a toda la aplicación. Esta uniformidad se consigue aplicando guías de estilo a todo el contenido, de manera que el conjunto total pueda ser visto y comprendido como coherente y vinculado. Con este tema verás que es una guía de estila, cómo se define y como se aplican para su uso en las diferentes plataformas de dispositivos móviles.

Por otro lado, también es importante la manera en la que se presenta la información al usuario. Para optimizarlo es importante el uso de patrones de diseño en tu aplicación. En este tema aprenderás qué son los patrones de diseño, cuáles son los más usados según el tipo de información que se le va a presentar al usuario.

Además, practicarás con tus propias maquetas de diseño, lo que te dará soltura y control a la hora de afrontar el reto de desarrollar una app.

En este tema podrás aprender:

  • ¿Qué son las guías de estilo?
  • Aprenderás para qué sirven las guías de estilo.
  • Sabrás definir una guía de estilo.
  • Descubrirás las tendencias actuales en guías de estilo.
  • Verás qué es un patrón de diseño.
  • Sabrás presentar información utilizando patrones de diseño.
  • Conocerás qué patrón de diseño es más adecuado según la información a mostrar.
  • Aprenderás a diseñar un interfaz de usuario.

Tema 8: Aplicaciones móviles web con HTML5

El desarrollo de aplicaciones para dispositivos móviles puede ser realizado usando aplicaciones nativas, es decir, relativas a cada plataforma específica y que veréis en los módulos 5 y 6 de este master. Pero también podemos desarrollar aplicaciones multiplataforma a través de las conocidas WebView Apps. El desarrollo de estas aplicaciones web, permite que sean compatibles con cualquier plataforma ya que usan para su desarrollo un standard interpretable por el navegador de cada uno de los dispositivos móviles que hay en el mercado.

¿Quieres aprender cómo hacer esto? Pues en este tema podrás analizar y descubrir este tipo de aplicaciones y aprender todo lo relacionado con el lenguaje en el que se basan, el HTML5. Este lenguaje no es más que la quinta versión del ya conocido HTML, usado para el desarrollo de páginas web y que ha sido extendido para su adaptación a la incorporación de contenidos multimedia, manejo de grandes cantidades de datos, formularios, visores de otros lenguajes basados en XML (SVG o WEBGL), drag&drop, etc. Esto hace que sea una de las herramientas que permite desarrollar un tipo de aplicaciones móviles que debes conocer y valorar como alternativa para tus desarrollos.

En este tema podrás aprender:

  • ¿Qué es una WebView App?
  • ¿Qué diferencia hay con las aplicaciones nativas?
  • ¿Qué tecnología usan las WebView App?
  • Aprenderás qué es HTML y su versión HTML5.
  • Descubrirás sus características y sus usos.
  • Verás cómo usar este lenguaje para el desarrollo de aplicaciones móviles.
  • Te familiarizarás con todas las tecnologías relacionadas que darán sustento al desarrollo de tu app con HTML5.

Tema 9: Análisis de varios proyectos telemáticos de programación

Qué mejor manera de orientar tus producciones que con ejemplos visuales y prácticos relacionados. En este tema pretendemos abordar el análisis de algunos proyectos y aplicaciones desarrolladas para dispositivos móviles, sus puntos fuertes, sus errores, sus partes, cómo se han desarrollado. Todo de manera visual y práctica para que puedas tener clara la orientación y la manera de desarrollar tus aplicaciones.

Con ello descubrirás por ti mismo por qué una aplicación es más aceptada que otra, que diferencia de usabilidad tienen las aplicaciones, que grado de intuitividad y sencillez presentan los diferentes casos y por qué resultan más atractivas unas aplicaciones frente a otras. Todo ello te dará una base de conocimiento práctico y visual sobre las mejores alternativas a la hora de desarrollar apps, que puedan tener gran impacto entre los usuarios destinatarios.

En este tema podrás aprender:

  • Descubrirás ejemplos de diferente índole y objetivos y sus apuestas para afrontar el mercado.
  • Aprenderás a analizar una aplicación y valorar no solo su contenido, sino también su funcionalidad y su usabilidad.
  • Verás cuál es la mejor alternativa para desarrollar apps con gran aceptación por parte del usuario.
  • Sabrás diferenciar entre las diferentes formas de presentar la información y cuál resulta más eficiente y atractiva.
  • Valorarás las interfaces de manera que te servirán de orientación para tus propios desarrollos.