44
Taller de Introducción a iOS Development @rafaecheve

Taller de introducción a iOS development

Embed Size (px)

DESCRIPTION

Taller de introducción a iOS development

Citation preview

Page 1: Taller de introducción a iOS development

Taller de Introducción a iOS

Development@rafaecheve

Page 2: Taller de introducción a iOS development

Presentación

2 Años en Estados Unidos como consultor para:!State Farm Insurance (Illinois) Best Buy Inc. (Minnesota) United Services Automobile Association USAA (Texas) !4 Años desarrollando para iOS.!Creación de frameworks InHouse. Varias aplicaciones en el App Store. Miembro de la comunidad de iOS en San Antonio TX.

Page 3: Taller de introducción a iOS development

Objetivo del Taller

Este taller le enseñará lo que necesita saber sobre las herramientas para crear aplicaciones en la plataforma iOS.

Page 4: Taller de introducción a iOS development

Introducción al desarrollo de iOS!¿Que es iOS?

Es el sistema operativo que se ejecuta en los todos los dispositivos mobiles de Apple.

Page 5: Taller de introducción a iOS development

Introducción al desarrollo de iOS!Consideraciones en el desarrollo de iOS.

Teclado pequeño. Pantalla pequeña. Version universal. Almacenamiento limitado. Conexión impredecible. Modos de uso.

Page 6: Taller de introducción a iOS development

Introducción al desarrollo de iOS!Arquitectura de iOS.

Cocoa Touch!Interfaz de usuario. Manejo de eventos Touch. Manejo de interacciones y gestos. Integración con los datos.

Media!Soporte para gráficos. Soporte para audio. Soporte para video.

Core OS!Acceso Bluetooth. Conexiones de terceros por puerto serial. Servicios de seguridad Servicios de sistema y redes.

Core Services!iCloud. ARC. Block objects. In-App Purchase Core Data

Page 7: Taller de introducción a iOS development

!Core Foundation Foundation!Event Kit Core Location!Core Motion Newsstand Pass Kit Quick Look Social!Store Kit System Configuration!The Core OS Layer Accelerate Core Bluetooth External Accessory Security System

UIKit!Map Kit!Game Kit Message UI/Address Book UI/Event Kit UI iAd The Media Layer AV Foundation Core Audio Core Image Core Graphics Core Text Image I/O Media Player OpenGL ES Quartz Core The Core Services Layer Accounts Address Book CFNetwork!Core Data

Introducción al desarrollo de iOS!Arquitectura de iOS.

Page 8: Taller de introducción a iOS development

Introducción al desarrollo de iOS!Application Lifecycle (Demo).

App delegate!Not Running (No ha sido lanzada) Inactive(Al frente sin eventos) Active(Al frente con eventos) Background(Al fondo ejecutando código) Suspended(Al fondo sin ejecutar código)

Page 9: Taller de introducción a iOS development

Introducción al desarrollo de iOS!Estructura de una aplicación en iOS.

Modelo: !Los datos y objetos/entidades que se manejan. Vista:!Las vistas utilizadas y los elementos de interface. Controlador: El componente que permite la interacción entre el modelo y la

interfaz de usuario.

Page 10: Taller de introducción a iOS development

Introducción al desarrollo de iOS!Apple App Store

Plataforma centralizada de distribución. Facil acceso a desarrolladores. Proceso de aprobación y calidad por apple. Soporta todos los dispositivos. Seguridad de la aplicación y usuarios.

Page 11: Taller de introducción a iOS development

Objective-C Básico para el Desarrollo en iOS.

Page 12: Taller de introducción a iOS development

Objective-C Básico para iOS.!Conceptos basicos de POO.

Clase Subclase Superclase Singleton Objeto Instancia Intanciacion Metodo de Instancia

Categoria Metodo de Clase Mensaje Variable de instancia Variable Parametro Propiedad Protocolo Self

Page 13: Taller de introducción a iOS development

Objective-C Básico para iOS.!Historia

Smalltalk es desarrollado por Alan Kay Creado a inicios de los 80’s por Brad Cox y Tom Love. NeXT obtuvo las licencias del lenguaje. NeXTStep utilizo en lenguaje para la creación del mismo. Objective C se vuelve el lenguaje de desarrollo para Apple. Swift nace como remplazo gradual de Objective C

Page 14: Taller de introducción a iOS development

Objective-C Básico para iOS.!Convenciones. (demo)

Nombres de clase debe ser únicos. Nombres de métodos deben ser expresivos. Variables locales deben ser únicas dentro del mismo scope. Creación de objetos debe seguir convenciones.

Page 15: Taller de introducción a iOS development

Objective-C Básico para iOS.!Sintaxis Basica

Creación de Interface e implementación. (archivos .h .m) Definición de clases. Definición de propiedades y accesos. Declaración de métodos. (con y sin parámetros.) Implementación de métodos.

Page 16: Taller de introducción a iOS development

Objective-C Básico para iOS.!Sintaxis Basica(demo)

Utilizando e implementando objetos. Iniciación de instancias de clases.

MyObject *o = [[MyObject alloc] initWithString:myString];

MyObject *o = [[MyObject alloc] init];

Page 17: Taller de introducción a iOS development

Objective-C Básico para iOS.!Conceptos Generales

Manejo de Memoria Categorias Protocolos Bloques

Page 18: Taller de introducción a iOS development

Objective-C Básico para iOS.!Comparado con otros lenguajes.

Page 19: Taller de introducción a iOS development

Introducción a IDE Xcode5.

Page 20: Taller de introducción a iOS development

Introducción a IDE Xcode5.!Instalando Xcode

Instalar Xcode es posible desde el Mac App StoreTambién se puede descargar desde la cuenta de desarrollador

Es necesario:!Mac laptop o Mac desktop. Sistema Operativo OS X Mountain Lion o Mavericks. Al menos 6GB de espacio y Memoria de 4GB. 8GB para rendimiento optimo del IDE.

Page 21: Taller de introducción a iOS development

Introducción a IDE Xcode5.!Installing Xcode (Demo)

Utilizando Xcode IDE para desarrollo de iOS!Xcode permite: !• Crear y manejar proyectos de iOS • Manejar dependencias, para diferentes plataformas, requerimientos y

configuraciones para lanzar la aplicación. • Lanzar la aplicación desde el proyecto • Escribir código con el editor inteligente para la verificación de sintaxis

y agregar formatos automáticamente. • Navegación y búsqueda de archivos del proyecto y documentación. • Depurar la aplicación en el simulador o en el dispositivo. • Analizar rendimiento de la aplicación.

Page 22: Taller de introducción a iOS development

Introducción a IDE Xcode5.!Tour de Xcode

Page 23: Taller de introducción a iOS development

Introducción a IDE Xcode5.!Primera Aplicación de iOS

Page 24: Taller de introducción a iOS development

Introducción a IDE Xcode5.!El Simulador de iOS

El uso del simulador en las fases tempranas es beneficioso ya que nos permite comenzar a utilizar la aplicación sin necesidad de instalar en un dispositivo real. !Algunas limitaciones son:!• Servicios de GPS • Sensores • Interacción con otras aplicaciones (SMS, Teléfono,Cámaras)

Page 25: Taller de introducción a iOS development

Introducción a Cocoa Touch.

Page 26: Taller de introducción a iOS development

Introducción a la API Cocoa Touch.!¿Que es Cocoa Touch?

Cocoa Touch incluye el conjunto de cientos de clases para administrar todo desde botones e interfaces de usuario hasta la manipulación de fotos y reconocimiento facial.

User Applications Address Book Core Location Map Kit Store Kit

Data Management Core Data SQLite

Graphics and Animation Core Animation OpenGL ES Quartz 2D

Audio and Video Core Audio OpenAL Media Library AV Foundation

Networking and Internet Bonjour WebKit BSD Sockets

Page 27: Taller de introducción a iOS development

Introducción a la API Cocoa Touch.!Audio y Video

Core Audio OpenAL Media Player AV Foundation

Page 28: Taller de introducción a iOS development

Introducción a la API Cocoa Touch.!Data Management

Core Data SQLite Share Data Among Apps Access Contacts and Photos Calendar Access XML Files HTML5 Client-Side Storage in Safari

Page 29: Taller de introducción a iOS development

Introducción a la API Cocoa Touch.!Graphics and Animation

Core Graphics. Core Animation. Core Image. OpenGL ES and GLKit components. Core Text. Image I/O. Assets Library

Page 30: Taller de introducción a iOS development

Introducción a la API Cocoa Touch.!Networking and Internet

Game Center Find Others Using Bonjour Peer to Peer BSD Sockets WebKit Framework (Safari Mobile)

Page 31: Taller de introducción a iOS development

Introducción a la API Cocoa Touch.!User Applications

Address Book CoreLocation Map Kit Store Kit Event Kit

Page 32: Taller de introducción a iOS development

Introducción a la librería UIKit.

Page 33: Taller de introducción a iOS development

Introducción a la librería UIKit.!¿Que es UIKit?

Son el conjunto de clases necesarias para construir y administrar la interfaz de usuario.

Comprende:!Manejo de eventos Ventanas y vistas Controles de acción, Controles de navegación.

Page 34: Taller de introducción a iOS development

Introducción a la librería UIKit.!Componentes de UIKit

Views!Action Sheets Activity Indicators Alert Views Collection Views Image Views Labels Picker Views Progress Views Scroll Views Table Views Text Views Web Views

! ! Buttons! Date Pickers Page Controls Segmented Controls Text Fields Sliders Steppers Switches

!Navigation Bars! Search Bars Tab Bars Toolbars

Page 35: Taller de introducción a iOS development

Introducción a la librería UIKit.!UIKit Catalog Views

Page 36: Taller de introducción a iOS development

Introducción a la librería UIKit.!UIKit Catalog Bars

Navigation Bar

Search Bar

Tab Bar

Tool Bar

Page 37: Taller de introducción a iOS development

Introducción a la librería UIKit.!UIKit Catalog Controls

Page 38: Taller de introducción a iOS development

Introducción a la librería UIKit.!UIKit Dynamics

Motor de fisica integrado en UIKit!Gravedad Colisiones Sistema de coordenadas

Page 39: Taller de introducción a iOS development

Sitios Populares de iOS

http://stackoverflow.com http://iphonedevsdk.com https://developer.apple.com http://raywenderlich.com http://nshipster.com http://iosdevweekly.com http://appcoda.com/

Page 40: Taller de introducción a iOS development

https://codeschool.com http://online.stanford.edu http://lynda.com http://teamtreehouse.com https://udemy.com

Cursos Online de iOS

Page 41: Taller de introducción a iOS development

http://www.mobile-patterns.com http://inspired-ui.com http://pttrns.com

Diseño en iOS

Page 42: Taller de introducción a iOS development

http://ios.devtools.me http://cocoacontrols.com http://www.quora.com

Recursos de iOS

Page 43: Taller de introducción a iOS development

Taller de Introducción a iOS Development!

!

Q/A

Taller de Introducción a iOS

Development

Page 44: Taller de introducción a iOS development

Taller de Introducción a iOS Development

!

Gracias!

Taller de Introducción a iOS

Development