21
DIPLOMADO: DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES MÓDULO 1. Principios generales del desarrollo móvil PRESENTACIÓN En los últimos años el desarrollo de aplicaciones se ha constituido como una nueva línea de especialización entre los desarrolladores y los líderes de proyectos de software. Por ello, es importante contar con bases sólidas tanto en las áreas técnicas como en el entendimiento de los mercados de aplicaciones móviles, así como identificar las áreas de oportunidad y retos que los equipos de desarrollo deben enfrentar. PERFIL DE INGRESO El módulo está dirigido a desarrolladores de software y líderes de proyectos interesados en crear aplicaciones para dispositivos móviles. Se requiere contar con experiencia en el desarrollo de software ya sea para generar aplicaciones de escritorio como empresariales. OBJETIVO El participante conocerá los principios generales del desarrollo de aplicaciones para dispositivos móviles, desde un punto de vista independiente de los propietarios de las plataformas y tecnologías de desarrollo actuales. Además, revisará los aspectos más relevantes de la comercialización de apps. TEMARIO 1. INTRODUCCIÓN 1.1 Antecedentes del desarrollo móvil 1.2 Capacidades de los móviles actuales 1.3 Panorama del desarrollo de aplicaciones móviles 2. TECNOLOGÍAS PARA EL DESARROLLO MÓVIL 2.1 Entornos de desarrollo 2.2 Lenguajes de programación 2.3 Equipo de desarrollo 3. PARADIGMAS DE DESARROLLO MÓVIL 3.1 Desarrollo basado en HTML5 3.2 Desarrollo nativo 3.3 Desarrollo híbrido 3.4 Desarrollo basado en marcos de trabajo 4. MÉTODOS APLICABLES AL DESARROLLO MÓVIL 4.1 Modelo Waterfall 4.2 Desarrollo ágil 4.3 Mobile-D 5. MERCADOS DE APLICACIONES MÓVILES 5.1 Requisitos para el desarrollador 5.2 Políticas y lineamientos de desarrollo

MÓDULO 1. Principios generales del desarrollo móvildocencia.tic.unam.mx/Diplomados/apps/Diplomado_movil_temarios.pdf · El participante conocerá los principios generales del desarrollo

  • Upload
    lycong

  • View
    217

  • Download
    2

Embed Size (px)

Citation preview

DIPLOMADO: DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

MÓDULO 1. Principios generales del desarrollo móvil

PRESENTACIÓN

En los últimos años el desarrollo de aplicaciones se ha constituido como una nueva línea de especialización entre los desarrolladores y los líderes de proyectos de software. Por ello, es importante contar con bases sólidas tanto en las áreas técnicas como en el entendimiento de los mercados de aplicaciones móviles, así como identificar las áreas de oportunidad y retos que los equipos de desarrollo deben enfrentar.

PERFIL DE INGRESO

El módulo está dirigido a desarrolladores de software y líderes de proyectos interesados en crear aplicaciones para dispositivos móviles. Se requiere contar con experiencia en el desarrollo de software ya sea para generar aplicaciones de escritorio como empresariales.

OBJETIVO

El participante conocerá los principios generales del desarrollo de aplicaciones para dispositivos móviles, desde un punto de vista independiente de los propietarios de las plataformas y tecnologías de desarrollo actuales. Además, revisará los aspectos más relevantes de la comercialización de apps.

TEMARIO

1. INTRODUCCIÓN

1.1 Antecedentes del desarrollo móvil

1.2 Capacidades de los móviles actuales

1.3 Panorama del desarrollo de aplicaciones móviles

2. TECNOLOGÍAS PARA EL DESARROLLO MÓVIL

2.1 Entornos de desarrollo

2.2 Lenguajes de programación

2.3 Equipo de desarrollo

3. PARADIGMAS DE DESARROLLO MÓVIL

3.1 Desarrollo basado en HTML5

3.2 Desarrollo nativo

3.3 Desarrollo híbrido

3.4 Desarrollo basado en marcos de trabajo

4. MÉTODOS APLICABLES AL DESARROLLO MÓVIL

4.1 Modelo Waterfall

4.2 Desarrollo ágil

4.3 Mobile-D

5. MERCADOS DE APLICACIONES MÓVILES

5.1 Requisitos para el desarrollador

5.2 Políticas y lineamientos de desarrollo

5.3 Procesos de aprobación

5.4 Difusión y posicionamiento

PERFIL DE EGRESO

Los conocimientos adquiridos en el presente módulo permitirán al participante identificar las tecnologías actuales para el desarrollo móvil, así como los paradigmas y los métodos de desarrollo idóneos para el seguimiento y control de este tipo de proyectos.

REQUISITOS ACADÉMICOS

Estudios mínimos de alguna licenciatura relacionada con las Tecnologías de Información y comunicación o equivalente.

DURACIÓN

20 horas.

BIBLIOGRAFÍA

McWherter, Jeff y Gowell, Scott. Professional Mobile Application Development. Wrox. 2012. ISBN-10: 1118203909

Shackles, Greg. Mobile Development with C#: Building Native iOS, Android, and Windows Phone Applications. O'Reilly Media. 2012. ISBN-10: 1449320236

MindSea Development Inc. App Design Checklist. App Design Checklist. 2013. ASIN: B00C9J7I78

Nudelman Greg. Android Design Patterns: Interaction Design Solutions for Developers. Wiley. 2013. ASIN: B00BJOO6YW

Fling Brian. Mobile Design and Development: Practical Concepts and Techniques for Creating Mobile Sites and Web Apps. O'Reilly Media. 2009. ISBN-10: 0596155441

MÓDULO 2. Proceso de desarrollo de apps para móviles

PRESENTACIÓN

Poder llevar a buen término un proyecto de desarrollo móvil es el resultado de la integración y seguimiento de un proceso que comprenda las actividades que deben seguir el equipo de desarrollo. Lo anterior con el objetivo de predecir costos de los proyectos, tiempos de desarrollo y definición de los niveles de calidad de los productos generados.

PERFIL DE INGRESO

El módulo está dirigido desarrolladores de software, administradores y líderes de proyectos interesados en la integración del proceso de desarrollo móvil definido en la DGTIC. El participante requiere de haber aprobado el módulo Principios generales del desarrollo móvil.

OBJETIVO

En el presente módulo se dará a conocer el proceso de desarrollo definido para la generación de aplicaciones móviles a fin de que las distintas fases que lo conforman sean empleadas para la generación de un producto final.

TEMARIO

1. GENERALIDADES DEL PROCESO DE DESARROLLO DE APPS PARA MÓVILES

1.1 Visiones formales e informales del desarrollo para móvil

1.2 Perfiles y funciones del equipo de desarrollo

1.3 Ciclos y productos del desarrollo

1.4 Vista general del proceso

2. FASES DEL PROCESO DE DESARROLLO

2.1 Arranque del proyecto móvil

2.2 Identificación del producto

2.3 Diseño de Interfaces y experiencias de usuario

2.4 Definición de puntos de calidad del producto

2.5 Definición de la arquitectura del producto

2.6 Desarrollo de los servicios de datos

2.7 Construcción del producto

2.8 Pruebas del producto

2.9 Publicación del producto

2.10 Monetización del producto

2.11 Monitoreo del producto

3. INTEGRACIÓN DEL PROCESO DE DESARROLLO

3.1 Selección de los integrantes del equipo

3.2 Selección de la metodología

3.3 Desarrollo de las habilidades según la plataforma

3.4 Administración de la configuración

3.5 Selección y adaptación de las herramientas de desarrollo

4. SEGUIMIENTO DEL PROCESO

4.1 Etapa de Administración

4.2 Etapa de Implementación

4.3 Etapa de Mantenimiento

4.4 Actividades complementarias

PERFIL DE EGRESO

Los conocimientos adquiridos en el presente módulo permitirán al participante identificar y aplicar el proceso de desarrollo móvil en el proyecto final del diplomado.

REQUISITOS ACADÉMICOS

Estudios mínimos de alguna licenciatura relacionada con las Tecnologías de Información y comunicación o equivalente.

DURACIÓN

30 horas.

BIBLIOGRAFÍA

Rangel Villagrán, Ian Moisés. Procesos en el desarrollo de aplicaciones para dispositivos móviles. Tesis. Posgrado en Ciencia e Ingeniería de la Computación. UNAM. 2013

Ian Sommerville. Ingeniería de software. Pearson. 2011. ISBN: 9786073206044

MÓDULO 3. Preproducción, producción y diseño de interfaces para Apps

PRESENTACIÓN

El desarrollo de una aplicación móvil no sólo depende de los requerimientos y lenguaje de programación para que funcione con éxito una aplicación; también la usabilidad, interacción y diseño son fundamentales para acompañar el proceso de creación que permitirá dar mayor visibilidad, funcionalidad y posicionamiento a la aplicación móvil.

PERFIL DE INGRESO

El curso esta dirigido a personas que estén interesadas en entender el proceso de creación y diseño de aplicaciones móviles, a través del uso de herramientas de diseño digital; así como a personas que busquen aprender a utilizar la terminología y los conceptos básicos del diseño para el desarrollo de una app. El participante requiere de haber aprobado el módulo Proceso de desarrollo de apps para móviles.

OBJETIVO

El alumno conocerá los conceptos básicos del diseño como : uso y manejo del color, tipografía, proceso de bocetaje y maquetación del prototipo, jerarquía de la información, elaboración y edición de gráficos para aplicaciones móviles, optimización de imágenes, medidas estandarizadas dentro de una interfaz y los componentes más importantes para diseñar una app; con el fin de crear prototipos y vistas de pantallas internas a través de herramientas de diseño digital.

TEMARIO

1. PREPRODUCCIÓN PARA EL DISEÑO DE APLICACIONES MÓVILES

1.1. Proceso creativo para el diseño de Apps

1.1.1. Etapas del proceso creativo: Concepto, Diseño, Desarrollo y Publicación

1.1.2. Qué son Preview, Mockup y Wireframe

1.2. Público meta. A quién va dirigida mi App

1.2.1. Qué hay en las tiendas de aplicaciones

1.2.2. Tipos de Aplicaciones

1.3. Elementos básicos del diseño en aplicaciones móviles

2. ELEMENTOS DE COMUNICACION PARA PUBLICAR EN GOOGLE Y APPLE

2.1. Mejores prácticas

2.2. Usabilidad

2.3. Accesibilidad

2.4. Diseñando para el usuario

2.5. Experiencia de usuario

2.5.1. Simplicidad

2.5.2. Coherencia

3. ELABORACIÓN DE BOCETOS DIGITALES

3.1. Del Preview al Wireframe

3.2. Creando formatos y medidas estándares

3.2.1. Cuáles son las medidas que requiere iOS

3.2.2. Cuáles son las medidas que requiere Android

3.3. Maquetación

3.3.1. Retículas

3.3.2. Diagramación y jerarquía. Qué lee primero el usuario

3.4. Layouts y Templates

3.4.1. Piensa en Móvil y Tablet al mismo tiempo

3.4.2. Márgenes

3.4.3. Columnas

3.4.4. UI (User Interface)

4. COLOR

4.1. Uso y manejo del color en el diseño de aplicaciones móviles

4.2. Paletas de color

4.3. Códigos de color para web

5. TIPOGRAFÍA

5.1. Tipografías más usadas en Apps

5.2. Mejores tamaños para hacer visibles tus textos

5.3. Espaciados

6. COMPONENTES GRÁFICOS

6.1. Elaboración y edición de gráficos

6.1.1. Íconos

6.1.2. Botones

6.1.3. Menús

6.1.4. Listas y tarjetas

6.1.5. Grids

6.2. Retoque y optimización de imágenes para dispositivos móviles

6.3. Menús de navegación

6.4. Launch screen

6.5. Home screen

6.6. Efectos y sombras en elementos gráficos

7. PROTOTIPOS

7.1. Composición de un prototipo

7.2. Plantillas

7.3. Implementación de componentes gráficos

7.4. Exportando pantallas finales

7.4. Interfaz a prueba

PERFIL DE EGRESO

Los conocimientos adquiridos permitirán al participante elaborar prototipos que apoyen el desarrollo de una aplicación para dispositivos móviles, así como utilizar diferentes conceptos de diseño y herramientas para casos específicos.

REQUISITOS ACADÉMICOS

Estudios mínimos de alguna licenciatura relacionada con las Tecnologías de Información y comunicación o equivalente.

DURACIÓN

20 horas.

BIBLIOGRAFÍA

Material Design, Google Play - https://material.io

Las Mejores Herramientas Para Hacer El Prototipo De Tu App, Lancetalent -

https://www.lancetalent.com/blog/mejores-herramientas-prototipo-app/

Dreamweaver + Fireworks: Diseñe, construya y publique. Christian Demian Doyle.

Manuales USERS

Cómo tener éxito en Google Play -

https://developer.android.com/distribute/googleplay/guide.html?hl=es-419

iOS Human Interface Guidelines - https://developer.apple.com/ios/human-interface-

guidelines/graphics/app-icon/

The Secrets to App Success on Google Play -

https://commondatastorage.googleapis.com/androiddevelopers/shareables/distribute/sec

rets_play/v2/web/secrets_to_app_success_v2_en.pdf

All free mockups, Mockupworld - https://www.mockupworld.co/all-mockups/

Search millions of Palettes, Colourlovers -

http://www.colourlovers.com/palettes/search?sortCol=votes&sortBy=DESC&query=barce

lona&hex_logic=AND&page=9

How to Design a Mobile App using user interface design principles, Eric Bieller -

http://blog.careerfoundry.com/ui-design/how-to-design-a-mobile-app-using-user-

interface-design-principles

HOBBS, Jason. An introduction to user journeys [en linea ]:

http://boxesandarrows.com/an-introduction-to-user-journeys/

Martijn van Welie:Patterns in Interaction Design- www.welie.com/

Alejandro Zuzemberg y Sergio Lujan Mora -Guía de referencia de las Pautas de

Accesibilidad al Contenido.

Victor Gordoa -El poder de la imagen publica Plan maestro para inspirar confianza y

ganar credibilidad -COLOR-http://www.imagenpublica.mx/

Ivan Serrano Regol -Designing Mobile Apps -http://www.ivoserrano.com - gráficos e

iconografía http://www.glyphish.com/

Aplicaciones web Un enfoque practico . David Roldan Martinez . Ed. Alfaomega grupo

editor, 2010

Steven Bradley -How to Use Golden Section Proportions In Your Designs-

www.vanseodesign.com/

Carlos Solis - Revolucion Movil - http://revolucion.mobi/2013/09/25/guia-de-diseno-en-

ios7/

Marcela Romero -Open Educational Resources for Typography - http://www.oert.org/

Dreamweaver + Fireworks: Diseñe, construya y publique. Christian Demian Doyle.

Manuales USERS

Módulo 4 - Desarrollo móvil para iOS

PRESENTACIÓN

En los últimos años se ha presentado a nivel mundial un auge importante en el desarrollo de aplicaciones móviles. La compañía Apple Inc. se ha posicionado como uno de los líderes en el desarrollo de nuevos dispositivos móviles, con sus productos iPod, iPhone y iPad, de consumo masivo. El éxito de éstos no solo radica en su calidad, sino también y en gran medida, en las aplicaciones que se pueden adquirir en el mercado. Esto ha permitido a los desarrolladores a nivel mundial encontrar un mercado muy amplio. Para el desarrollo de aplicaciones para el sistema operativo iOS, se requiere la utilización de la herramienta XCode y actualmente se puede optar por utilizar o el lenguaje de programación Objective-C o Swift

PERFIL DE INGRESO

Programadores o desarrolladores de sistemas, que cuenten con experiencia en el desarrollo de aplicaciones con algún lenguaje Orientado a Objetos (C++ o Java) y que deseen desarrollar aplicaciones para dispositivos con sistema operativo iOS. Para este curso se recomienda tener conocimientos básicos en el uso del sistema operativo Mac OS X y dispositivos móviles de Apple. El participante requiere de haber aprobado el módulo Preproducción, producción y diseño de interfaces para Apps.

OBJETIVO

El participante adquirirá los conocimientos y habilidades que le permitirán desarrollar apps de funcionamiento sencillo, que cumplan con los lineamientos de UI de Apple, para ser aprobadas en la AppStore.

TEMARIO

1. Guía de Apple para el desarrollo de Apps

1.1. Mercado de aplicaciones de Apple (App Store)

1.2. Programa de desarrolladores de Apple

1.3. Lineamientos para el desarrollo: HIG

2. Xcode para el desarrollo de Apps

2.1. Obtención e Instalación del SDK

2.2. Introducción a Xcode

2.3. Ambiente de desarrollo

2.4. Plantillas de desarrollo

3. Desarrollo de interfaces de usuario y manejo de eventos

3.1. Desarrollo utilizando StoryBoards

3.2. MVC para el desarrollo en iOS

3.3. Objetos UIKit

3.4. Creando Interfaces de usuario universales (constraints)

3.5. Programación de eventos

3.6. File Owner, FirstResponder

3.7. Manejo de la interfaz desde eventos (Outlets y Actions)

4. Controlador de navegación

4.1. Modal Views

4.2. Tabbed Applications

4.3. Master-Detail Applications

4.4. SplitView Control

5. Introducción a Objective-C

5.1. Sintaxis y palabras reservadas

5.2. Tipos de datos

5.3. @interface e @implementation

5.4. Outlets, Actions y properties

5.5. Directivas del compilador

5.6. Invocando Selectores (métodos)

5.7. El protocolo Delegate

6. Administración de la memoria

6.1. Entendiendo Reference Counting: Alloc y release

6.2. Modificadores de las properties: strong y weak

6.3. Automatic Reference Counting

6.4. Blocks y Threads

7. Introducción a Swift

7.1. Sintaxis básica, y diferencias con Objective-C

7.2. Tipos de datos

7.3. Funciones con Swift

8. Personalización de interfaces

8.1. Incluyendo Fonts

8.2. Native appearance methods

8.3. Usar subclases para personalizar objetos

9. Manejo de archivos

9.1. NSFileManager

9.2. Entendiendo el sandbox de una App

9.3. Operaciones permitidas con archivos

9.4. Trabajar con fuentes de datos (plist, JSON, XML)

10. Conceptos básicos de manejo de Bases de Datos SQLite

10.1. Comprendiendo el FrameWork CoreData

10.2. El objeto modelo

10.3. Agregando una base de datos como recurso

10.4. El objeto NSFetchRequest

PERFIL DE EGRESO

Los conocimientos adquiridos permitirán al participante desarrollar apps para dispositivos iOS que cumplan con los lineamientos HIG de Apple, y publicarlas en la AppStore mediante el pago de la membresía correspondiente.

REQUISITOS ACADÉMICOS

Titulado o pasante de carreras de Ing. en Computación, Lic. en Informática o equivalente.

DURACIÓN

40 horas.

BIBLIOGRAFÍA

Matt Neuburg, iOS 10 Programming Fundamentals with Swift - Swift, Xcode, and Cocoa Basics, O’Reilly Media, Inc., 2017

Donny Wals, Mastering iOS 10 Programming, Packt Publishing, 2016

Dan Pilone & Tracey Pilone, Head First iPhone Development, O’Reilly Media, 2010

Dr. Rory Lewis, iPhone and iPad Apps for Absolute Beginners, APress, 2010

Stephen Kochan, Programming in Objective-C 2.0, Pearson Education, Inc., 2011

James Bucanek. Learn Objective-C for Java Developers. APress, 2009.

Joe Conway, Aaron Hillegass. iOS Programming: The Big Nerd Ranch Guide. Addison Wesley Professional, 2012.

Matt Neuburg. Programming IOS 5: Fundamentals of iPhone, iPad, and iPod Touch

Mark Dalrymple and Scott Knaster, Learn Objective-C on the Mac, APress, 2009.

Módulo 5 – Desarrollo móvil para iOS avanzado

PRESENTACIÓN

Un buen número de aplicaciones para dispositivos iOS no son aplicaciones autónomas o independientes, que puedan ejecutarse en el dispositivo sin necesidad de conexión a Internet. Para el desarrollo de las aplicaciones clasificadas como “ejecutivas”, se requiere la implementación de la capacidad de consumir y enviar información por medio de servicios web y al mismo tiempo, sincronizar esta información remota, con la información local que se genere en el dispositivo. Por otra parte, para aplicaciones de tipo “estilo de vida”, generalmente es necesario enriquecer la experiencia del usuario con contenido multimedia.

PERFIL DE INGRESO

Programadores o desarrolladores de sistemas, que cuenten con experiencia en el desarrollo de aplicaciones básicas para dispositivos iOS y que cuenten con conocimientos de especificaciones para el intercambio de información con servidores en Internet por ejemplo XML y JSON. El participante requiere de haber aprobado el módulo Desarrollo móvil para iOS.

OBJETIVO

El participante adquirirá conocimientos específicos en las características avanzadas disponibles en el iOS SDK, que le permitirán desarrollar apps que ofrezcan una experiencia integral al usuario

TEMARIO

1. Conceptos avanzados de manejo de Bases de Datos SQLite

1.1. Subclases NSManagedObject

1.2. Versionando el modelo

1.3. Tareas básicas con SQLiteDB

1.4. Usando CoreData con Swift

2. Trabajando con datos remotos

2.1. Detectar conexión de datos

2.2. Detectar el tipo de conexión

2.3. UIWebview para mostrar contenido HTML

2.4. Abrir el navegador Safari desde una aplicación

2.5. Métodos de la clase NSURLConnection

2.6. Connections (POST y GET)

2.7. Consumir WebServices

3. Integración de elementos multimedia (Audio, video y cámara)

3.1. Usar imágenes de la librería

3.2. Obtener imágenes desde la cámara

3.3. Reproducir archivos de audio

3.4. Reproducir videos locales

3.5. Reproducir videos por streaming

3.6. Descargar imágenes de Internet

3.7. Descarga asíncrona de contenidos

4. Comunicar una App con otras aplicaciones

4.1. URLSchemas

4.2. Utilizar el App de correo predeterminada

4.3. Compartir contenido

5. Programación con sensores

5.1. Detectar movimiento (inclinación y rotación)

5.2. Detectar fuerza (aceleración)

5.3. Métodos para recuperar la Ubicación geográfica desde el dispositivo.

5.4. Integración de la API de Mapas en un proyecto

5.5. Uso de coordenadas geográficas para colocar anotaciones en el mapa

5.6. Uso de la conexión BlueTooth

5.7. Conectar el teléfono con otro dispositivo iOS

5.8. Utilizar los sensores con Swift

PERFIL DE EGRESO

Los conocimientos adquiridos permitirán al participante desarrollar apps para dispositivos iOS que obtengan y envíen información a través de Internet y realicen la sincronización de la información local.

REQUISITOS ACADÉMICOS

Titulado o pasante de carreras de Ing. en Computación, Lic. en Informática o equivalente.

DURACIÓN

40 horas.

BIBLIOGRAFÍA

Matt Neuburg, iOS 10 Programming Fundamentals with Swift - Swift, Xcode, and Cocoa Basics, O’Reilly Media, Inc., 2017

Donny Wals, Mastering iOS 10 Programming, Packt Publishing, 2016

MÓDULO 6. Desarrollo de Servicios Web

PRESENTACIÓN

Los Servicios Web se les puede apreciar como un conjunto de aplicaciones y tecnologías con la capacidad de interoperar sobre la Web. Dichas aplicaciones, intercambian datos entre sí con el objetivo de ofrecer servicios particulares para su aprovechamiento. Los proveedores ofrecen sus servicios como procedimientos remotos y los clientes, por su parte, pueden acceder a un servicio invocando a estos procedimientos empleando para ello la Web.

PERFIL DE INGRESO

Programadores o desarrolladores de sistemas, que cuenten con experiencia en el desarrollo de aplicaciones con algún lenguaje Orientado a Objetos (C++ o Java) y que deseen desarrollar Servicios Web para su aprovechamiento desde una aplicación móvil. El participante requiere de haber aprobado el módulo Desarrollo móvil para iOS Avanzado.

OBJETIVO

El participante adquirirá los conocimientos y habilidades que le permitirán desarrollar Servicios Web, para su aprovechamiento desde las aplicaciones móviles que desarrolla.

TEMARIO

1. INTRODUCCIÓN A LOS SERVICIOS WEB 1.1. Servicios Web en el desarrollo móvil. 1.2. Arquitecturas comunes. 1.3. Tecnologías para el desarrollo.

2. GENERACIÓN DE DATOS 2.1. Descriptores de información. 2.2. Estructura de información basada en XML. 2.3. Estructura de información basada en JSON.

3. INVOCACIÓN DE SERVICIOS WEB 3.1. Ubicación de los Servicios Web 3.2. Manejo de parámetros. 3.3. Manejo de errores. 3.4. Seguridad en el uso de Servicios Web.

4. DESARROLLO DE SERVICIOS WEB 4.1. Contextos de operación y requerimientos operativos. 4.2. Implementación de los Servicios Web. 4.3. Puesta en operación y documentación.

PERFIL DE EGRESO

Los conocimientos adquiridos permitirán al participante desarrollar Servicios Web para su consumo desde las aplicaciones que desarrollo bajo sus contextos específicos de operación.

REQUISITOS ACADÉMICOS

Estudios mínimos de alguna licenciatura relacionada con las Tecnologías de Información y comunicación o equivalente.

DURACIÓN

10 horas.

BIBLIOGRAFÍA

Bill Burke, RESTful Java with JAX-RS 2.0, 2nd Edition- Designing and Developing Distributed Web Services, O'Reilly Media, 2013.

Guía Breve de Servicios Web (http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb). Última consulta: 7/Abr/2017

Web Services Development Support (https://netbeans.org/features/java-on-server/web-services.html) Última consulta: 7/Abr/2017

Firebase Tutorial (http://www.tutorialspoint.com/firebase/). Última consulta: 7/Abr/2017

MÓDULO 7. Desarrollo de aplicaciones para Android

PRESENTACIÓN

Una de las plataformas móviles más extendidas en el mundo es Android, tanto para teléfonos inteligentes como para tabletas. Al no estar vinculada a una marca de dispositivos, permite que las aplicaciones desarrolladas para la plataforma cuenten con un amplio mercado de oportunidades. La programación se simplifica al utilizar el lenguaje Java, por lo que Android se presenta como una oportunidad natural para los desarrolladores que conocen el lenguaje.

PERFIL DE INGRESO

El módulo está dirigido a los programadores interesados en el desarrollo de aplicaciones móviles para la plataforma Android. Se requiere haber acreditado o demostrar conocimientos equivalentes al curso de Lenguaje de Programación JAVA. El participante requiere de haber aprobado el módulo Desarrollo de Servicios Web.

OBJETIVO

Al finalizar el módulo, el alumno será capaz de desarrollar aplicaciones nativas para dispositivos móviles que utilicen el sistema operativo Android

Conocerá en qué consiste la plataforma Android y cuáles son los elementos que la integran, las bases para el diseño y programación de aplicaciones y las herramientas y entornos necesarios para su desarrollo y el ciclo de vida de una aplicación y sus distintos componentes

TEMARIO

1. INTRODUCCIÓN

1.1. Antecedentes

1.2. Historia de versiones

1.3. Arquitectura

2. AMBIENTE DE TRABAJO

2.1. Android Studio

2.2. Herramientas para el desarrollo

3. PRIMER PROYECTO EN ANDROID

3.1. Manifest.xml

3.2. Estructura de un proyecto

3.3. Ciclo de vida de una aplicación

3.4. Elementos de una aplicación

4. ACTIVIDADES

4.1. Invocación de componentes(Intent)

4.2. Paso de parámetros (Bundle)

4.3. Manejo de mensajes

5. DISEÑO DE INTERFACES GRÁFICAS

5.1. Esquemas de distribución de componentes

5.2. Controles básicos

5.3. Controles de selección

5.4. Controles de navegación

6. FRAGMENTS

6.1. Ciclo de vida

6.2. Integración en una actividad

7.ALMACENAMIENTO DE DATOS EN EL DISPOSITIVO

7.1. Introducción a SQLite

7.2. Insertar, actualizar y eliminar registros

7.3. Recuperar información desde la base de datos

7.4. Manejo de preferencias

8. Distribución de una aplicación

8.1. Consideraciones antes de la versión final de la aplicación

8.2. Estableciendo la versión de la aplicación

8.3. Firmando la aplicación

8.4. Registro del desarrollador en Google Play

8.5. Consola del desarrollador de Google Play

8.6. Publicar la aplicación

PERFIL DE EGRESO

El participante lograra las habilidades para el desarrollo y la distribucion de una aplicacion en la plataforma Android.

REQUISITOS ACADÉMICOS

Estudios mínimos de alguna licenciatura relacionada con las Tecnologías de Información y comunicación o equivalente.

DURACIÓN

30 horas.

BIBLIOGRAFÍA

Neil Smyth, Android Studio Development Essentials - Android 7 Edition: Learn to Develop Android 7 Apps with Android Studio 2.2, CreateSpace Independent Publishing Platform, 2016

Paul Deitel, Harvey Deitel; Android 6 for Programmers – An App-Driven Approach, Pearson Education Inc., 2016

MÓDULO 8. Desarrollo Android avanzado

PRESENTACIÓN

Para extender las capacidades de una aplicación para Android es necesario conocer las capacidades técnicas de los dispositivos y las APIs que permiten la comunicación con sus componentes, tales como la conexión a Internet, el GPS, el acelerómetro, la cámara digital, entre otros. El conocimiento de dichas capacidades permite a los desarrolladores integrar nuevas opciones a las aplicaciones que producen.

PERFIL DE INGRESO

El módulo está dirigido a desarrolladores de aplicaciones móviles para la plataforma Android que necesitan extender sus conocimientos en las APIs que permiten la creación de aplicaciones que se comunican con los componentes de los dispositivos móviles actuales. El participante requiere de haber aprobado el módulo Desarrollo de aplicaciones para Android.

OBJETIVO

Presentar al participante las distintas APIs para la interacción con los componentes más representativos para la plataforma Android.

TEMARIO 1. INTRODUCCIÓN A MATERIAL DESIGN

1.1. CollapsingToolbarLayout 1.2. NestedScrollView 1.3. NavigationView 1.4. ConstraintLayout

2. INTEGRACIÓN DE ELEMENTOS MULTIMEDIA 2.1. Reproducción de audio 2.2. Reproducción de video

3. MANEJO DE DATOS EN LÍNEA 3.1. Servicios Web 3.2. Consumo de datos en línea 3.3. Formatos y procesamiento de datos 3.4. Consumo de datos desde una aplicación

4. PROGRAMACIÓN CON REDES SOCIALES 4.1. Panorama general de desarrollo 4.2. APIs para el desarrollo con redes sociales 4.3. Integración de social en una aplicación

5. PROCESOS EN BACKGROUND 5.1. Concurrencia de procesos 5.2. Programación multi-hilos 5.3. Capacidades de multiprocesamiento en dispositivos móviles 5.4. Integración de multiprocesamiento en una aplicación

6. PROGRAMACIÓN CON SENSORES 6.1. Localización geográfica por GPS 6.2. Orientación del dispositivo 6.3. Integración con la cámara

PERFIL DE EGRESO

Al finalizar el módulo, el alumno será capaz de desarrollar aplicaciones Android que integren el uso de los componentes del dispositivo.

REQUISITOS ACADÉMICOS

Estudios mínimos de alguna licenciatura relacionada con las Tecnologías de Información y comunicación o equivalente.

DURACIÓN

40 horas.

BIBLIOGRAFÍA

Neil Smyth, Android Studio Development Essentials - Android 7 Edition: Learn to Develop Android 7 Apps with Android Studio 2.2, CreateSpace Independent Publishing Platform, 2016

Paul Deitel, Harvey Deitel; Android 6 for Programmers – An App-Driven Approach, Pearson Education Inc., 2016

Módulo 9 - Desarrollo móvil basado en marcos de trabajo

PRESENTACIÓN

En la actualidad el desarrollo de aplicaciones para dispositivos móviles no es sinónimo de crear la aplicación para una sola plataforma, ya que la diversidad de sistemas operativos, marcas y modelos dan como resultado que el desarrollador se enfrente al problema de crear un mismo producto para diversas plataformas e incluso, en una misma plataforma, para distintas especificaciones . En esos casos, el uso de marcos de trabajo para el desarrollo de aplicaciones puede ser una opción idónea, ya que estos permiten, entre otras cosas, emplear un mismo código fuente para generar un producto para una o más plataformas móviles.

PERFIL DE INGRESO

Desarrolladores de aplicaciones para dispositivos móviles que usan herramientas propietarias tales como Android Studio o Xcode. Se requiere de conocimientos de programación con JavaScript. El participante requiere de haber aprobado el módulo Desarrollo Android Avanzado.

OBJETIVO

Al término del módulo el participante contará con los conocimientos necesarios para el desarrollo de aplicaciones de propósito general para dispositivos móviles en más de una plataforma, empleando para ello un marco de trabajo.

TEMARIO

1. INTRODUCCIÓN A LOS MARCOS DE TRABAJO PARA EL DESARROLLO MÓVIL

1.1. Alcances y limitaciones del desarrollo basado en marco de trabajo

1.2. Requerimientos técnicos y de licencias de desarrollo

1.3. Marcos de desarrollo libres

1.4. Marcos de desarrollo comerciales

1.5. Entornos de desarrollo

2. Marcos de trabajo mutliplataforma

2.1. Marcos nativos

2.2. Marcos híbridos

2.3. Marcos basados en HTML5

3. Desarrollo de interfaces de usuario

3.1. Pantallas

3.2. Elementos de la interfaz

3.3. Cajas de diálogos

3.4. Programación de la interacción

4. Bibliotecas de desarrollo

4.1. Para el uso de componentes del dispositivo (GPS, acelerómetro y brújula)

4.2. Para el uso de archivos y base de datos locales

4.3. Bibliotecas especializadas

5. Publicación de aplicaciones

5.1. Licencias de desarrollo

5.2. Generación de los archivos de entrega

5.3. Procesos definidos por los marcos de trabajo

PERFIL DE EGRESO

Los conocimientos adquiridos permitirán al participante desarrollar aplicaciones para dispositivos móviles en más de una plataforma empleando un marco de trabajo

REQUISITOS ACADÉMICOS

Titulado o pasante de carreras de Ing. en Computación, Lic. en Informática o equivalente.

DURACIÓN

30 horas.

BIBLIOGRAFÍA

John M. Wargo, Apache Cordova 4 Programming, Addison-Wesley, 2015

Kerry Shotts, PhoneGap for Enterprise, Pack Publishing, 2014

Adrian Kosmaczewski, Sencha Touch 2 Up and Running, O’Reilly, 2013

Bryan P. Johnson, Sencha Touch 2 Mobile JavaScript Framework, Pack Publishing, 2013

Jeremy Wilken, Ionic in Action - Hybrid Mobile Apps with Ionic and AngularJS, Manning Publications, 2015

Arvind Ravulavaru, Learning Ionic - Build Hybrid Mobile Applications with HTML5, Pack Publishing, 2015