Charla desarrollo de aplicaciones en iOS para iPhone y iPad

30
iOS Introducción a iOS UX en iOS Lenguaje Objective-C iOS SDK Herramientas: Xcode IDE Cómo empezar ? Distribución: AppStore Mini Workshop Desarrollo de Aplicaciones Yes, We Know IT Luis Ibarra Consiglieri Lennon Shimokawa

description

Keynote realizado en la Universidad UPC el cual muestra una introducción para el desarrollo sobre iOS para iPhone y iPad

Transcript of Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Page 1: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS Introducción a iOS UX en iOS Lenguaje Objective-C iOS SDK Herramientas: Xcode IDE Cómo empezar ? Distribución: AppStore Mini Workshop

Desarrollo de Aplicaciones

Yes, We Know IT Luis Ibarra Consiglieri Lennon Shimokawa

Page 2: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS

Introducción a iOS

Desarrollo de Aplicaciones

2007Casi sin botones o teclasInterface multitactilswipe, tap, pinch, reverse pinchTeclado en pantallaLa pantalla es tu AplicaciónDerivado de OSXBasado en Unix BSD

Page 3: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS

Introducción a iOS

Desarrollo de Aplicaciones2007-2012 Desarrollo de Aplicaciones

2007 2008 2009 2010 2011 2012

iPhone

iPhone OS 1.xMultitouchCapacitivoGestosVoiceMailMailCalendarSafariiPod

iPhone 3G

iPhone OS 2.xiPhone SDKAppStoreApp de Terceros3G

iPhone 3GS

iPhone OS 3.xPush Noti!cationsCopy & PasteMMS

iPhone 5

iOS 6.xMapsTurn by TurnPassbookFacebook Integrat.Siri mejorado

iPad 3,4

iPad Mini

iPhone 4

iOS 4.xMultitaskingCarpetasFacetimeiBooksGameCenter

iPad

iPhone 4S

iOS 5.xiCloudSiriCentro de Notif.iMessageWireless SyncPC FreeTwitter Integrat.Reminders

iPad 2

Page 4: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS

Introducción a iOS

Desarrollo de AplicacionesDesarrollo de Aplicaciones

DEMO

Page 5: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS

Introducción a iOS

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Es un framework de interfaz usuaria (UI framework) para construir programas o Apps que se ejecutan en iPhone, iPod Touch y iPad.

Provee una capa de abstracción de iOS. Sigue un modelo MVC.

La capa de Media permite manipular grá!cos 2D/3D, audio y video.

Esta capa fue diseñada para dar soporte Apps como juegos 2D/3D, aplicaciones de Audio y/o Video y tambien Airplay.

Esta capa contiene los servicios fundamentales del sistema.

Telefonia, iCloud, Localización, Network, Motion, Accounts, Con!guration, Social, XML, File Sharing, SQLite, Address Book, Ads entre otros.

Esta capa contiene los servicios fundamentales del sistema. Las otras capas estan construidas sobre esta.

Seguridad, Bluetooth, Sistema, I/O, Threading, Sockets, Bonjour, Memoria, Math, DSP, etc..

Capas / Layers

Page 6: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS

UX en iOS

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Page 7: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS

Lenguaje Objective-C

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Page 8: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Lenguaje Objective-C

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Archivos

Los archivos están divididos, como en el lenguaje C :

NombreArchivo.h // archivo de cabecera NombreArchivo.m // archivo de implementación

//// Persona.h// Agenda//// Created by Luis Ibarra Consiglieri on 22/11/12.////

#import <Foundation/Foundation.h>

@interface Persona : NSObject

@property NSString *nombres;@property NSString *apellidos;

@end

//// Persona.m// Agenda//// Created by Luis Ibarra Consiglieri on 22/11/12.//

#import "Persona.h"

@implementation Persona

@synthesize nombres;@synthesize apellidos;

- (void) setPersonaNombres:(NSString *)nombresP personaApellidos:(NSString *)apellidosP { self.nombres = nombresP; self.apellidos = apellidosP;}

@end

iOS

Page 9: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Lenguaje Objective-C

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Tipos de datos básicos

BOOL YES o NO, típico “true” o “false”. No es 0 y YES cualquier valor <> 0.

char byte, valores desde -128 a 127

short  2 bytes, valores desde -32,768 a 32,767

int 4 bytes, valores desde -2,147,483,648 a 2,147,483,647

float 4 bytes valores desde 1.18e-38 a 3.40e38

double 8 bytes, valores desde 2.23e-308 a 1.79e308

long double 10 bytes, valores desde 3.37e-4932 a 1.18e4932

Para crear constantes simplemente añadiremos const delante:

const double nombreConstante = valor;

iOS

Page 10: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

NSString *descripcion = altura >= 2.0 ? @"Alto" : @"No tan alto";

Operador ternario

<expresión boolena> ? <si es cierta> : <si es falsa>

Lenguaje Objective-C

Desarrollo de Aplicaciones

Operadores aritméticos

+ Suma- Resta* Multiplicación/ División% Resto

iOS

Operadores booleanos

== Igualdad> Mayor que< Menor que>= Mayor Igual<= Menor Igual!= Distinto de

Operadores lógicos

! NOT&& AND|| OR^ XOR

Desarrollo de Aplicaciones

Page 11: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Lenguaje Objective-C

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Estructuras de control

iOS

int num=7;

if(num==7){

//Entra aquí}else{ ...}

switch (numero) {    case 1:        NSLog(@"Primero");        break;    case 2:        NSLog(@"Segundo");        break;    case 3:        NSLog(@"Tercero");        break;    default:        NSLog(@"Despues del 3ero"); break; }

int num=0;

while (num < 10) {  ...  num++;}

int num=0;

do{   ...   num++;}while (num < 10)

for(int var=0; var<10 ; var++) {   ...}

Page 12: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Lenguaje Objective-C

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Clases y Objetos

iOS

NSObject Clase base en Objective-C

nombreClase *variable;

Declaracion de variables

Métodos de una clase

- (void) setPersonaNombres:(NSString *)nombresP personaApellidos:(NSString *)apellidosP;

[Objeto setPersonaNombres:@”Miguel” personaApellidos:@”Grau Seminario”];

Page 13: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Lenguaje Objective-C

Desarrollo de AplicacionesDesarrollo de Aplicaciones

Instanciar una clase

iOS

Clase *objeto = [[Clase alloc] init];

NSSring *frase = [[NSString alloc] initWithString:@"Hola Mundo"];

Page 14: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS SDK

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

2008Kit de Desarrollo de SoftwareDesarrollar aplicaciones nativasEsta escrito en Objective-CXCode es el ambiente de desarrolloConjunto de Librerias o FrameworksIntegra un Simulador de iPhone/iPad

Page 15: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS SDK

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

The Cocoa Touch Layer

Framework Nombre en SDK

UIKit (UIKit.framework)

Map Kit (MapKit.framework)

Push Noti!cation Service

Message UI (MessageUI.framework)

Address Book UI (AddressUI.framework)

Game Kit (GameKit.framework)

iAd (iAd.framework)

Event Kit UI (EventKit.framework)

Social (Social.framework)

Page 16: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS SDK

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

Framework Nombre en SDK

Core Video (CoreVideo.framework)

Core Text (CoreText.framework)

Image I/O (ImageIO.framework)

Core Graphics (CoreGraphics.framework)

Quartz Core (QuartzCore.framework)

OpenGL ES (OpenGLES.framework)

AV Foundation (AVFoundation.framework)

Core Audio(CoreAudio.framework,

AudioToolbox.framework and AudioUnit.framework)

The Media Layer

Page 17: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS SDK

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

The Core Services Layer

Framework Nombre en SDK

Address Book (AddressBook.framework)

CFNetwork (CFNetwork.framework)

Core Telephony (CoreTelephony.framework)

EventKit (EventKit.framework)

Foundation (Foundation.framework)

Core Location (CoreLocation.framework)

SQLite Library

System Con!guration (SystemCon!guration.framework)

Page 18: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

iOS SDK

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

The Core OS Layer

Framework Nombre en SDK

Accelerate (Accelerate.framework)

External Accesory (ExternalAccessory.framework)

Security (CoreTelephony.framework)

System (LibSystem)

Page 19: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Herramientas: XCode IDE

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

Page 20: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Herramientas: XCode IDE

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

Page 21: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Herramientas: XCode IDE

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

Emulator

Page 22: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Herramientas: XCode IDE

Desarrollo de AplicacionesDesarrollo de Aplicaciones iOS

Instruments

Page 23: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Cómo empezar ?

Desarrollo de Aplicaciones iOSDesarrollo de Aplicaciones

Conseguir una Mac

Descargar XCode + iOS SDK

Seguir un tutorial!

Page 24: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Distribución: AppStore

Desarrollo de Aplicaciones iOSDesarrollo de Aplicaciones

Page 25: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Distribución: AppStore

Desarrollo de Aplicaciones iOSDesarrollo de Aplicaciones

Crea tu App

Prueba tu App

Cuenta de Desarrollador = USD$ 99.00

Entrar al Portal del Desarrollador

Crear imagenes de Marketing

Subir App al AppStore vía iTunes Connect

Esperar Aprobación: 3 a 7 días

Page 26: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Distribución: AppStore

Desarrollo de Aplicaciones iOSDesarrollo de Aplicaciones

400 MillonesCon tarjeta de crédito

Page 27: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

http://www.eknowit.com/upc/workshop.zip

Mini WorkShop

Desarrollo de Aplicaciones iOSDesarrollo de Aplicaciones

Page 28: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

Bibliografía

Desarrollo de Aplicaciones iOSDesarrollo de Aplicaciones

Erica Sadun

Dave Mark

Jeff LaMarche

Page 29: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

preguntas...?iOSDesarrollo de Aplicaciones

Page 30: Charla desarrollo de aplicaciones en iOS para iPhone y iPad

gracias“La imaginación es más importante que el conocimiento”

Albert Einstein

Yes, We Know IT @LuisIbarraConsi @Lshimokawa