Detrás del excitante mundo del desarrollo de aplicaciones para iOS, se encuentra la importancia que han adquirido las 'apps' como negocio. ¿Le gustaría empezar a trabajar en el desarrollo de aplicaciones? ¿Tiene falta de experiencia como programador? Si ha contestado afirmativamente a estas dos preguntas, el libro que tiene entre sus manos le será de una gran ayuda para conseguir los objetivos que se proponga en este terreno. Con este manual práctico será capaz de programar para los dispositivos de moda con éxito. Aquí iniciará un interesante viaje por el desarrollo de aplicaciones sobre iOS, tanto para el iPhone como para el iPad. Gracias a sus 40 capítulos, cada uno con un tema nuevo, incrementará el nivel de conocimientos y profundizará en todos los secretos de los auténticos desarrolladores. En la página Web de Anaya Multimedia encontrará material complementario.ÍndiceIntroducción A quién va dirigido este libro Contenido del libro La estructura del libro Convenciones Código fuente 1. Hola iOS Bases del desarrollo para iOS Un Mac adecuado Un dispositivo para hacer pruebas Diferencias entre los dispositivos iPhone 3GS iPhone 4 iPhone 4S iPad iPad 2 iPad 3ª generación Una cuenta para desarrolladores de iOS Estándar Empresa El SDK oficial para iOS Descargar e instalar El proceso típico de desarrollo de una aplicación Escribir una especificación Esquema y diseño Programación Pruebas Icono de la pantalla principal Imagen de inicio de la aplicación Ejercicio 2. El Simulador iOS Propiedades de Simulador iOS Instalar y desinstalar aplicaciones Limitaciones del Simulador iOS 3. Un tour por Xcode La pantalla de bienvenida Seleccionar una plantilla para el proyecto Definir las opciones del proyecto Un repaso al IDE de Xcode El área de navegación El área del editor El área de utilidades El área de la librería Área del depurador Barra de herramientas 4. Las bases de las aplicaciones iOS Estados de la aplicación Ventanas, vistas y controladores de vistas Frameworks La clase UIButton La clase UILabel Crear los elementos de la interfaz del usuario Crear outlet Crear actions Agregar interactividad 5. Introducción a los storyboard Ejercicio Requisitos Pistas Paso a paso 6. Gestionar las entradas del usuario Campos de texto Vistas de texto Ejercicio Requisitos Pistas Paso a paso 7. Comunicarse con los usuarios Avisos Listas de botones Ejercicio 8. Añadir imágenes a nuestra vista La clase UIImage La clase UIImageView Ejercicio 9. Selectores Arrays en Objective-C Ejercicio 10. Selectores de fechas Fechas en Objective-C Ejercicio 11. Selectores personalizados Ejercicio Requisitos Pistas Paso a paso 12. Controles de navegación La interfaz del controlador de navegación Barra de navegación Vista de navegación Barra de herramientas para la navegación Jerarquía del controlador de navegación Gestión de la pila de navegación Aplicaciones basadas en xib Aplicaciones basadas en el storyboard 13. Tablas Flujo de trabajo de una tabla Mostrar valores Selección de la fila Aplicaciones basadas en nib Storyboard Estilos de la vista de tabla Métodos delegados Métodos de origen de datos Novedad para iOS 5 Complementos a la vista de tabla Constantes Complementos del storyboard 14. Tablas estáticas Tipos de tablas Estáticas Prototipo dinámico Diseño de una tabla Consideraciones de pantalla 15. Barras de botones y de herramientas Barras de botones Características del aspecto Directrices de uso Barras de herramientas Características del aspecto Directrices de uso Cambios basados en XIB de Xcode 4.2 16. Crear aplicaciones basadas en páginas La clase PageViewController Creación de instancias Las propiedades delegate y dataSource Preparar la página inicial La plantilla Page-Based Application Ejercicio 17. Utilizar la programación para crear elementos de la interfaz del usuario UIButton UILabel UIImageView Ejercicio 18. Crear vistas con contenido desplazable La clase UIScrollView Vistas desplazables y campos de texto Ejercicio 19. Mensajes emergentes y vistas modales Mensajes emergentes Directrices de uso Cómo presentar el mensaje emergente Cómo rechazar el mensaje emergente Vistas modales Directrices de uso Estilos de presentación Estilos de transición Cómo presentar la vista modal Cómo rechazar una vista modal 20. Publicar mensajes con Twitter Una hoja para los tweets Ejercicio 21. Gestión básica de archivos El sistema de archivos de IOS Presentación de la clase NSFileManager Serialización de objetos 22. Listas de propiedades Tipos de listas de propiedades Crear listas de propiedades Desde el código Editor de la lista de propiedades 23. Configuración de la aplicación Añadir un conjunto de parámetros Utilizar código para leer las preferencias Ejercicio 24. Soporte para compartir archivos con iTunes Ejercicio Requisitos Pistas Paso a paso 25. Presentación de iCloud Storage Conceptos básicos Cómo trabajar con las API de iCloud Storage Crear un App ID con iCloud Crear un perfil de aprovisionamiento apropiado Activar los derechos adecuados a nuestro proyecto Xcode Comprobar la disponibilidad del servicio Emplear el almacenamiento de documentos de iCloud Crear un nuevo documento para iCloud Abrir un documento existente Guardar un documento Buscar documentos en iCloud 26. Introducción a Core Data Conceptos básicos Objeto gestionado Contexto de un objeto gestionado Coordinador de almacenamiento persistente Modelo de objetos gestionados Iniciar objetos Core Data Escribir objetos gestionados Leer objetos gestionados Ejercicio 27. Analizar XML con NSXMLParser Fundamentos de XML Elementos y etiquetas Atributos Caracteres especiales Comentarios e instrucciones de proceso La clase NSXMLParser Analizadores SAX y DOM El protocolo NSXMLParserDelegate Cómo se analiza un archivo XML Cargar el documento XML en un objeto NSData Iniciar un objeto NSXMLParser Iniciar un objeto delegado Iniciar el proceso de análisis Los métodos delegados de XMLParser 28. Trabajar con los servicios Web SOAP Ejercicio Requisitos Pistas Paso a paso 29. Movimientos táctiles y gestuales Eventos táctiles Fases táctiles Contador de contactos Eventos gestuales Administración de gestos Fases del reconocedor gestual 30. Impresión Preparar el contenido para la impresión UIPrintInfo UIPrintPaper UIPrintInteractionController 31. Animación básica con temporizadores Crear animaciones empleando subclases de UIView Ejercicio 32. Introducción a Core Image Imágenes y filtros Cómo usar Core Image Ejercicio 33. Construir aplicaciones universales La plantilla para aplicaciones universales Ejercicio 34. ¿Dónde estoy? Introducción a Core Location Trabajar con la actualización de la ubicación Gestionar errores y comprobar la disponibilidad del hardware Geocodificación y geocodificación inversa Obtener la orientación de la brújula Ejercicio 35. Introducción a Map Kit Añadir anotaciones Ejercicio 36. Utilizar la cámara y la librería de fotos Ejercicio Requisitos Pistas Paso a paso 37. Introducción a Core Motion Acelerómetros y giroscopios Fundamentos básicos de Core Motion Comprobar la disponibilidad del hardware Gestionar los eventos del acelerómetro Gestionar los eventos del giroscopio Ejercicio 38. Construir aplicaciones que funcionan en segundo plano Comprender la suspensión en segundo plano Ejecutar código desde el segundo plano Crear notificaciones locales Ejercicio Apéndice A. Introducción a la programación con Objective-C Conceptos básicos de programación Escribir el programa Compilar Enlazar para crear un ejecutable Probar y depurar Cómo encaja Xcode en este esquema Variables, declaraciones y expresiones Variables Declaraciones Expresiones y operadores Tomar decisiones y realizar tareas repetitivas Las declaraciones if e if ... else La cláusula else La declaración for La declaración while La declaración do...while Las declaraciones break y continue Introducción a la programación orientada a objetos (OOP) La necesidad de la programación orientada a objetos Conceptos clave de la programación orientada a objetos Clases y objetos Herencia Composición Encapsulación Polimorfismo Protocolos Crear una clase Objective-C La directriz #import Las claves @interface y @end Variables y métodos de instancia Métodos con varios parámetros Implementar la clase Enviar mensajes a objetos Iniciar objetos Propiedades de Objective-C Apéndice B. Introducción a ARC El propietario de objeto Convertir proyectos a ARC Apéndice C. Hacer pruebas en un dispositivo iOS Obtener y registrar identificadores UDID Crear un APP ID (Identificador Bundle) Crear un certificado de desarrollo Crear un perfil de aprovisionamiento Configurar el proyecto Apéndice D. Distribución Ad Hoc Obtener y registrar identificadores UDID Crear un APP ID (Identificador Bundle) Crear un certificado de distribución Crear un perfil de aprovisionamiento Configurar el proyecto para la distribución Apéndice E. Distribución en App Store Crear un perfil para la aplicación Preparar y cargar el archivo binario de la aplicación Crear un perfil de aprovisionamiento para distribuir en App Store Configurar el proyecto para la distribución por App Store Índice alfabético
Cada vez más usuarios acceden a Internet a través de dispositivos móviles, y los diseñadores y desarrolladores web tienen el desafío de crear sitios web y aplicaciones que funcionen en las principales plataformas móviles y en múltiples dispositivos. Esta es la máxima que han seguido los ingenieros de Dreamweaver en su versión CS5.5. Han incluido nuevas y numerosas características; como la arquitectura jQuery Mobile, la integración PhoneGap para crear aplicaciones nativas para Android o iOS, o el soporte mejorado para HTML5 y CSS3, entre otras muchas novedades. Esta obra revela las claves para optimizar un sitio web, independientemente de cuál sea la plataforma dónde se visualice su contenido. A través de una serie de ejercicios prácticos, David Powers le guiará por todas las nuevas características que ofrece Dreamweaver CS5.5.
La Web es la herramienta de comunicación y distribución de contenidos más amplia jamás vista. Los navegadores están ya disponibles para todas las plataformas y dispositivos. Esto hace que actualmente los diseñadores y desarrolladores deseen crear eficaces aplicaciones para móviles destinadas a los usuarios de iPhone & iPad. El mercado de las aplicaciones Web se expande rápidamente, y crece vertiginosamente la demanda de sus desarrolladores. Este libro le ayudará a unirse a los miles de desarrolladores de aplicaciones para iPhone sin necesidad de conocer las API Objective-C o Cocoa touch. Si quería aplicar sus conocimientos actuales de programación para la Web al desarrollo para iPhone & iPad, ahora ya puede hacerlo. El soporte para HTML5 de WebKit implica que cualquier profesional puede crear competentes aplicaciones tanto para iPhone como para iPad. Será guiado a través de los estándares más recientes de las Web para móviles, así como por las características específicas de iPhone & iPad. Adquirirá conocimientos sobre WebKit y Mobile Safari, HTML5 y CSS3, los gráficos vectoriales y el soporte para contenidos multimedia. Descubrirá las funcionalidades nativas del hardware de iPhone & iPad y cómo sacarles el mayor partido.
Basado en el exitoso curso de programación de Big Nerd Ranch, este libro guiará al lector con explicaciones claras y ejemplos prácticos, y le proporcionará el conocimiento y la experiencia necesarios para comenzar a desarrollar aplicaciones para Android. Muestra cómo utilizar el IDE Android Studio para crear aplicaciones prácticas de Android 5.1 (Lollipop) que sean compatibles con las versiones anteriores hasta la 4.1 (Jelly Bean). Abarca los aspectos fundamentales de la programación Android y las novedades como Material Design, RecyclerView y Google Play Services, así como diversas herramientas clave de librerías estándar como SoundPool, animaciones y recursos (assets). Al final de los capítulos cuenta con ejercicios para reforzar lo aprendido, explorar y ejercitar su capacidad para resolver problemas por sí mismo, y «para los más curiosos» se incluye información adicional útil e interesante. Big Nerd Ranch es una conocida compañía de formación, consultoría y publicaciones. Especializada en el diseño y desarrollo de aplicaciones innovadoras para clientes de todo el mundo, entre los que se encuentran las principales empresas del Fortune 100. Sus cursos de formación de Android, iOS, Ruby o Ruby on Rails, Cocoa, Mac OS X, JavaScript, HTML5 o UX/UI son los más prestigiosos y solicitados por los desarrolladores y empresas. Sus publicaciones tecnológicas son las más famosas del mundo.ÍndiceIntroducción 1. Su primera aplicación Android 2. Android y el patrón MVC (Modelo-Vista-Controlador) 3. El ciclo de vida de una Activity 4. La depuración de aplicaciones Android 5. La segunda Activity 6. Las versiones del SDK de Android y la compatibilidad 7. La interfaz de usuario, los Fragments y el Fragment Manager 8. Creación de interfaces de usuario con Layouts y Widgets 9. Cómo mostrar listas y la vista RecyclerView 10. Usar argumentos con Fragment 11. Uso de ViewPager 12. Diálogos 13. La barra de herramientas 14. Bases de datos SQLite 15. Intent implícitos 16. Uso de Intent para sacar fotos 17. Interfaces maestro-detalle de dos paneles 18. Activos 19. Reproducción de audio con SoundPool 20. Estilos y temas 21. XML Drawable 22. Más sobre tareas e Intent 23. HTTP y tareas en segundo plano 24. Las clases Looper, Handler y HandlerThread 25. Búsquedas 26. Servicios en segundo plano 27. Intent de difusión 28. Navegación por la Web y la vista WebView 29. Vistas personalizadas y eventos táctiles 30. Animación de propiedades 31. Localizaciones y Servicios de Google Play 32. Mapas 33. Material Design 34. Epílogo Índice alfabético
El mundo del desarrollo de aplicaciones para dispositivos móviles está evolucionando a gran velocidad. Se han convertido en el boom del momento, son miles de aplicaciones las que se publican todos los días. ¿Eres un desarrollador Web con ganas de dar el salto a los dispositivos móviles pero no tienes tiempo para aprender un lenguaje nuevo de programación? PhoneGap es la solución; es un framework libre y abierto que le permitirá crear aplicaciones para todas las plataformas utilizando HTML, CSS y JavaScript. Tras una breve introducción sobre PhoneGap, aprenderá cómo instalarlo y configurarlo y empezará a trabajar en el desarrollo de aplicaciones para dispositivos iOS, Android y BlackBerry. En cada capítulo nos centraremos en un componente y plantearemos una serie de prácticos y sencillos ejercicios que le ayudarán a dominar los conceptos aprendidos. Al terminar de leer este libro, estará preparado para crear sus propias aplicaciones para dispositivos móviles.ÍndiceIntroducción 1. Introducción a PhoneGap Utilizar PhoneGap Algunos ejemplos representativos Una revisión básica La historia de PhoneGap Los orígenes de PhoneGap El estado actual de PhoneGap Puntos fuertes y débiles de PhoneGap Las bases de una aplicación PhoneGap Qué se puede construir con PhoneGap Un análisis rápido de la API Problemas relacionados con el diseño de los dispositivos móviles Resumen 2. Instalación y configuración de PhoneGap Descargar PhoneGap Utilizar PhoneGap Build Escoger un entorno de trabajo Resumen 3. Primeros pasos Utilizar PhoneGap con Xcode Utilizar PhoneGap con un dispositivo Android Utilizar PhoneGap con un dispositivo BlackBerry Utilizar PhoneGap con otros dispositivos Resumen 4. Eventos Comprender los eventos Utilizar el controlador de eventos Tipos de eventos backbutton deviceready menubutton pause resume searchbutton online offline Resumen Ejercicios 5. Trabajar con el dispositivo, la red y notificaciones Obtener información del dispositivo Obtener el nombre del dispositivo Obtener la versión de PhoneGap Obtener la plataforma del dispositivo Obtener el identificador UUID del dispositivo Obtener la versión del sistema operativo Comprobar el estado de la red Determinar el tipo de conexión Utilizar notificaciones Utilizar alertas Utilizar cuadros de diálogo de confirmación Utilizar pitidos Utilizar vibraciones Resumen Ejercicios 6. Acelerómetro El acelerómetro ¿Qué es el acelerómetro? Utilizar el acelerómetro Ejemplos de aplicaciones que aprovechan el acelerómetro Utilizar el objeto Acceleration Utilizar los métodos del acelerómetro getCurrentAcceleration watchAcceleration clearWatch La opción del acelerómetro Resumen Ejercicios 7. La brújula Trabajar con la brújula ¿Qué es la brújula? Diferencias entre dispositivos Utilizar la brújula Ejemplos de aplicaciones que utilizan la brújula Utilizar los métodos de Compass getCurrentHeading watchHeading clearWatch Utilizar la opción de Compass Mejorar el aspecto Resumen Ejercicios 8. Geolocalización Qué es la geolocalización Utilizar la geolocalización Ejemplos de aplicaciones que emplean la geolocalización Los objetos Position, PositionError y Coordinates El objeto Position El objeto PositionError El objeto Coordinates Utilizar los métodos de Geolocation getCurrentPosition watchPosition clearWatch Emplear las opciones de Geolocation Mejorar el aspecto de la interfaz Resumen Ejercicios 9. Multimedia Trabajar con los archivos multimedia ¿Qué son los archivos multimedia? Utilizar los archivos multimedia Ejemplos de aplicaciones multimedia El objeto Media Utilizar los métodos de Media getCurrentPosition getDuration play pause release stop Gestionar errores Mejorar el aspecto Resumen Ejercicios 10. La cámara Trabajar con la cámara ¿Qué es la cámara? ¿Qué es la galería de imágenes? Utilizar la cámara Ejemplos de aplicaciones que usan la cámara Usar el objeto Camera Utilizar el método GETPICTURE Utilizar las opciones de Camera Mejorar el aspecto de la aplicación Resumen Ejercicios 11. Almacenamiento Trabajar con las opciones de almacenamiento Utilizar el objeto Database Abrir una base de datos Ejecutar una query de SQL Ver un conjunto de resultados Gestionar los errores Trabajar con el objeto localStorage Resumen Ejercicios 12. Archivos Trabajar con sistemas de archivos Trabajar con directorios y archivos Trabajar con el objeto DirectoryEntry Trabajar con el objeto FileEntry Trabajar con flags Trabajar con LocalFileSystem Leer archivos abort readAsDataURL readAsText Escribir archivos Transferir archivos FileUploadOptions FileUploadResults Gestionar errores FileError FileTransferError Resumen Ejercicios 13. Contactos Crear contactos Guardar un contacto Clonar un contacto Eliminar un contacto Localizar un contacto Comprender algunas rarezas Contacts ContactName ContactOrganization Gestionar errores Resumen Ejercicios 14. Capturar Cómo capturar vídeo Utilizar el argumento options Problemas que pueden surgir a la hora de capturar vídeo Cómo capturar audio Utilizar el argumento options Problemas que pueden surgir a la hora de capturar audio Cómo capturar imágenes Utilizar el argumento options Problemas que pueden surgir a la hora de capturar imágenes Gestionar errores Resumen Ejercicios 15. Crear una aplicación para tomar notas Diseñar la aplicación Construir la aplicación Crear las opciones de captura Añadir metadatos Guardar y sincronizar Añadir geolocalización El código final Limpiar la aplicación Resumen Apéndices Apéndice A. Soluciones a los ejercicios Apéndice B. Herramientas para PhoneGap Apéndice C. PhoneGap.js Apéndice D. Complementos para PhoneGap Índice alfabético
Es indiscutible el auge y crecimiento que han experimentado en los últimos años los dispositivos móviles y las tablets. El desarrollo de las apps está revolucionando el panorama tecnológico y se cuentan por miles los programadores que se dedican a crear y explotar aplicaciones de éxito. Este libro muestra cómo desarrollar cualquier aplicación sobre iOS 5 aunque no tenga experiencia en programación. Con un lenguaje sencillo y ejemplos prácticos, obtendrá consejos e instrucciones, paso a paso, para que pueda convertir cualquier idea innovadora en una aplicación superventas. Profundice sus conocimientos realizando pequeños cambios sobre aplicaciones ya existentes. Realice los numerosos ejercicios para aclarar los conceptos. Llegará a defenderse con soltura y será capaz, en poco tiempo, de escribir sus propias aplicaciones. Si tiene una idea para una aplicación y piensa que podría venderse por millones, lea este libro y adquiera los conocimientos necesarios para crearla.
¿Le gustaría crear una aplicación Web que funcionara tanto en iPad y Kindle Fire, como en iPhone y smartphones Android? Con jQuery Mobile y un básico conocimiento de HTML, este libro le ayudará a hacerlo. A través de una serie de ejercicios prácticos, conocerá cuál es el mejor modo de utilizar los muchos componentes de interfaz para crear aplicaciones multiplataforma personalizables, sin que para ello necesite tener ningún conocimiento o experiencia previa en la programación con jQuery. Aprenderá a crear interfaces interactivas basadas en AJAX que funcionan en varios smartphones y tablets utilizando jQuery Mobile y código HTML5 semántico.
Para cualquier neófito en el mundo de la programación, iniciarse en el desarrollo de juegos para Android es lo más parecido a viajar por una nueva galaxia extraña y lejana. ¡No tema! Para eso este libro está orientado a los principiantes y escrito por alguien que tampoco sabía muy bien por dónde empezar. En esta guía encontrará numerosos proyectos de juegos Java y Android con ejemplos desarrollados paso a paso y diseñados para ayudarle a aprender practicando con un concepto fundamental cada vez. Estudiará el lenguaje Java y escribirá aplicaciones orientadas a objetos. Experimentará con los elementos básicos de Android para crear divertidos juegos 2D interactivos con control táctil. Incluso aprenderá a añadir funcionalidades sociales como clasificaciones globales y a publicar su juego para compartirlo con los más de 1.000 millones de usuarios de Android de todos los rincones del mundo. Además será capaz de evitar los errores más comunes y podrá poner en marcha sus propios proyectos en muy poco tiempo.
Android se ha convertido en una favorita de los desarrolladores, debido quizás, a la gran variedad de dispositivos móviles donde funciona. Este libro es una magnífica guía práctica para crear aplicaciones Android a nivel comercial; una revisión actualizada y adaptada a la última versión de Android SDK, 4.0. Aquí encontrará todos los fundamentos del sistema operativo, incluyendo la configuración del entorno, el diseño de sólidas interfaces, el desarrollo para diferentes dispositivos y la optimización del proceso, desde su diseño hasta la publicación. Este manual es un recurso indispensable para los integrantes de los equipos de desarrollo que incluyen a: programadores, probadores y arquitectos de software, líderes de equipos, directores de proyectos, especialistas en control de calidad e incluso vendedores. Todos los capítulos de la presente edición han sido actualizados a fondo para las nuevas API, herramientas y hardware.
Esta obra se ha desarrollado como una guía para aprender a construir, utilizando HTML, CSS y JavaScript, aplicaciones y servicios en la nube para dispositivos móviles de gran calidad, sin necesidad de aprender a programar en Objective-C o en Java para las plataformas iOS o Android. Dirigido a todos los desarrolladores Web que quieran aprovechar sus conocimientos y aplicarlos a la industria del desarrollo de aplicaciones móviles. Con la ayuda de unas cuantas tecnologías de código abierto, como PhoneGap (Cordova) y Node.js, podrá incorporarse a este nuevo mercado con una gran demanda de desarrolladores. Su autor, Richard Rodger, nos enseña a construir nuestra primera aplicación utilizando HTML5, a configurarla para que trabaje con la nube y a utilizar bases de datos alojadas en ésta. Además, incluye ejemplos que ayudarán a comprender cómo crear aplicaciones complejas. Gracias a ellos, incrementará sus conocimientos y podrá dar el salto para desarrollar aplicaciones móviles destinadas a la nube.
¿Quiere desarrollar aplicaciones para sistemas operativos de Apple? En este curso práctico encontrará cómo hacerlo. El libro está orientado a programadores autodidactas que pretenden iniciarse en la programación de las aplicaciones OS y iOS. De forma progresiva se van explicando los muchos conceptos que encierra este apasionante lenguaje. Junto a la teoría, el texto aporta multitud de ejemplos prácticos que permiten comprender los entresijos y secretos de este lenguaje. Objective-C es el lenguaje compartido por OS X y iOS, y el más utilizado por los desarrolladores de aplicaciones avanzadas. La primera parte analiza en profundidad los aspectos del lenguaje, y la segunda detalla cómo utilizar la librería de clases en que se basan los distintos sistemas operativos de la manzana. Este libro contiene las últimas novedades del lenguaje, incluyendo Clang, los literales Objective-C, los módulos, Automatic Reference Counting (ARC) y la nueva sintaxis para los bloques. Después de leer este libro, el lector estará familiarizado tanto con el lenguaje Objective-C como con la forma de utilizar de manera eficaz las librerías de programación. Ahora podrá tomar decisiones informadas sobre qué librerías usar para las tecnologías con las que se vaya encontrando, y estará en condiciones de elegir manuales más especializados en función del camino profesional que haya elegido.