Está en la página 1de 44

Taller de

Introducción a iOS
Development
@rafaecheve
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.
Objetivo del Taller

Este taller le enseñará lo que necesita saber


sobre las herramientas para crear aplicaciones en
la plataforma iOS.
Introducción al desarrollo de iOS!
¿Que es iOS?

Es el sistema operativo que se ejecuta en los todos los dispositivos


mobiles de Apple.
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.
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.

Core Services!
iCloud.
ARC. Core OS!
Block objects. Acceso Bluetooth.
In-App Purchase Conexiones de terceros por puerto serial.
Core Data Servicios de seguridad
Servicios de sistema y redes.
Media!
Soporte para gráficos.
Soporte para audio.
Soporte para video.
Introducción al desarrollo de iOS!
Arquitectura de iOS.
UIKit!
Map Kit! !
Game Kit Core Foundation
Message UI/Address Book UI/Event Kit UI Foundation!
iAd Event Kit
The Media Layer Core Location!
AV Foundation Core Motion
Core Audio Newsstand
Core Image Pass Kit
Core Graphics Quick Look
Core Text Social!
Image I/O Store Kit
Media Player System Configuration!
OpenGL ES The Core OS Layer
Quartz Core Accelerate
The Core Services Layer Core Bluetooth
Accounts External Accessory
Address Book Security
CFNetwork! System
Core Data
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)
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.
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.
Objective-C Básico para el
Desarrollo en iOS.
Objective-C Básico para iOS.!
Conceptos basicos de POO.

Categoria
Clase
Metodo de Clase
Subclase
Mensaje
Superclase
Variable de instancia
Singleton
Variable
Objeto
Parametro
Instancia
Propiedad
Intanciacion
Protocolo
Metodo de Instancia
Self
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
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.
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.
Objective-C Básico para iOS.!
Sintaxis Basica(demo)

Utilizando e implementando objetos.


Iniciación de instancias de clases.

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

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


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

Manejo de Memoria
Categorias
Protocolos
Bloques
Objective-C Básico para iOS.!
Comparado con otros lenguajes.
Introducción a IDE Xcode5.
Introducción a IDE Xcode5.!
Instalando Xcode

Instalar Xcode es posible desde el Mac App Store


Tambié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.
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.
Introducción a IDE Xcode5.!
Tour de Xcode
Introducción a IDE Xcode5.!
Primera Aplicación de iOS
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)
Introducción a Cocoa Touch.
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.

Audio and Video Data Management Graphics and Animation


Core Audio Core Data Core Animation
OpenAL SQLite OpenGL ES
Media Library Quartz 2D
AV Foundation

User Applications Networking and Internet


Address Book Bonjour
Core Location WebKit
Map Kit BSD Sockets
Store Kit
Introducción a la API Cocoa Touch.!
Audio y Video

Core Audio
OpenAL
Media Player
AV Foundation
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
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
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)
Introducción a la API Cocoa Touch.!
User Applications

Address Book
CoreLocation
Map Kit
Store Kit
Event Kit
Introducción a la librería UIKit.
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.
Introducción a la librería UIKit.!
Componentes de UIKit

Views!
!! Buttons!
Action Sheets
Date Pickers
Activity Indicators
Page Controls
Alert Views
Segmented Controls
Collection Views
Text Fields
Image Views
Sliders
Labels
Steppers
Picker Views
Switches
Progress Views
!
Scroll Views
Table Views Navigation Bars!
Text Views Search Bars
Web Views Tab Bars
Toolbars
Introducción a la librería UIKit.!
UIKit Catalog Views
Introducción a la librería UIKit.!
UIKit Catalog Bars

Navigation Bar

Search Bar

Tab Bar

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

Motor de fisica integrado en UIKit!


Gravedad
Colisiones
Sistema de coordenadas
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/
Cursos Online de iOS

https://codeschool.com
http://online.stanford.edu
http://lynda.com
http://teamtreehouse.com
https://udemy.com
Diseño en iOS

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

http://ios.devtools.me
http://cocoacontrols.com
http://www.quora.com
Taller de
Introducción a iOS
Development
Taller de Introducción a
iOS Development!
!

Q/A
Taller de
Introducción a iOS
Taller de Introducción a
Development
iOS Development
!

Gracias!

También podría gustarte