Curso de Iniciación a la Programación del iPhone SDK con Objective-C

Slides:



Advertisements
Presentaciones similares
¿PARA QUE ESTAMOS AQUÍ? LOS OBJETIVOS DE LA ENCARNACIÓN.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Revisión Nº:Descripción:Fecha: 00Elaboración de la documentación30/06/11 Copia Controlada :Nº: F /REV. 00 ACCESO A LA WEB DEL CPR DE TARAZONA Cód.:
Conocimiento, Uso y Evaluación de Medicamentos Genéricos
Sesión 1: Servidores de Blogs y Editores de Páginas Web en línea
SALMO 8.
Seminario El Futuro del Seguro de Vida
1 PRINCIPALES INDICADORES DEL DESARROLLO DE LA SOCIEDAD DE LA INFORMACIÓN EN GALICIA CUADRO DE MANDO Apartado: Empresas Septiembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
CREACIÓN DE PÁGINAS WEB CON SHAREPOINT DESIGNER 2007 (Sesión 2) Ricardo Ferrís Castell ( ) Departament D Informàtica.
TEMA 2 MÚLTIPLOS Y DIVISORES
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Fundamentos de Diseño de Software INFT.1
Translate: I hope they have arrived on time..
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
LLECE - TERCE WinW3S Una introducción Santo Domingo, Marzo 2012.
CiFP RODRÍGUEZ FABRÉS (Departamento de Orientación)
Interacción con MercadoLibre ¿Cómo empiezo a vender en MercadoLibre Interacción con MercadoLibre.
Campus virtual Autoevaluaciones Teletutorías Salas de estudio Clases en línea Contratos didácticos Proyecto E.D.U.F. Universidad Universidad.
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
Phone2Wave-Server Manual de Operación.
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Repaso del capítulo Primer Paso
PROCESO DE CONTRATACIÓN 1 Ventanas en Cif-KM Proceso contratación de obra
Las Traducciones 1.Ella había hablado con el dependiente y le había dicho que no quería ese vestido. 2.Me enoja que todavía no hayamos recibido nuestro.
Biblia Reina Valera 1960 Evangelio de Juan Capitulo 9
Trascendencia de este curso Curso Introducción a la Computación 1
Introducción a los Números Fraccionarios
CURSOS PORQUE SIEMPRE HAY MÁS beta + Revisemos lo anterior.
AACS Correcto muestreo de suelos Ing. Agr. Pablo Marasas
1 SEGUNDO FORO REGIONAL HERMOSILLO, SON Sistema Nacional de Transparencia Fiscalización y Rendición de Cuentas:
50 principios 1. Los clientes asumen el mando.
Proyecto para Centros que trabajan una vez por semana.
Herramientas para anfitrión y presentador Servei de Formació Permanent i Innovació Educativa.
Tema 6 La demanda del mercado.
La minimización de los costes
Combinadores SK.
INFORMATICA I Arreglos 1 CLASE 17.
PASOS PARA EL FORMATEO DE UN PC
CULENDARIO 2007 Para los Patanes.
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
3 Preguntas Por: Rogelio Ferreira Escutia. ¿Has sentido a veces que tu vida va muy de prisa?
Programación Orientada a Objetos en Java
BEATRIZ LAFONT VILLODRE
SI QUIERES VERLO DALE AL CLICK
Objetivo. Dado que ya tenemos la planificación temporal del proyecto, que responde a: ¿Qué se hará?, ¿Quién lo hará?, y ¿Cuándo lo hará? ¿Qué recursos.
Biblia Reina Valera 1960 Evangelio de Juan Capitulo 16
¿Quién? ¿Qué? ¿Dónde? ¿Cuándo? ¿Cómo? ¿Por qué?
Tecnología de la Programación Javier Nieves Acedo Standar Template Library (STL)
“¿Qué Pienso de mi futuro?”
¿ COMO PREPARARSE PARA UNA EVALUACIÓN ?
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
EL RETO DE UN GRANDE Y PROFUNDO LEGADO
Medio de tele-comunicación
Bloque 1: Sobre la satisfacción de los Alumnos/as del Centro Educativo. LOGROS IMPORTANCIA Sobre la tarea del profesorado Las enseñanzas recibidas.
1.  Contribuir a la competitividad de las empresas mediante la capacitación y actualización tecnológica de sus trabajadores y la mejora del proceso de.
Curso de Iniciación a la Programación del iPhone SDK con Objective-C Moncada, 9 de Julio de 2010 Memory Management.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Indicaciones: 1.- Tener en cuenta que esta estrategia, solo funciona asociando las cuentas los días lunes. 2.- Los cálculos son aproximados con un margen.
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
The world is mobile Desarrollo sobre IOS y conceptos avanzados Kevin Peñaloza M. Chief Technical Officer
Transcripción de la presentación:

Curso de Iniciación a la Programación del iPhone SDK con Objective-C Pablo Romeu – UCH-CEU Pedro Cid - Nabbel Moncada, Julio 2010

Presentación Pablo Romeu Profesor Colaborador UCH-CEU Pedro Cid Programador iPhone SDK Perteneciente a http://www.nabbel.es/

Presentación Fechas: Del 9 al 16 de julio de 2010 Horario: 9 – 14h Dos sesiones por día 30 horas Lugar: Aula Imac's Edificio Beato Luis Campos Górriz, CEU-UCH (Alfara del Patriarca) 3 CLC para estudiantes CEU IMPORTANTE: Firmar asistencia para obtener certificado

¿Qué voy a aprender? Lo que vas a aprender: Utilizar las herramientas del iPhone SDK Entender la sintaxis de Objective-C El modelo MVC Muchas de las funcionalidades del SDK Moverte por la documentación para obtener ayuda Tema avanzado a tu elección

Lo que NO vas a aprender: ¿Qué voy a aprender? Lo que NO vas a aprender: Programación Orientada a Objetos (lo presuponemos) Conceptos Avanzados (no tenemos tiempo) ¿Curso Avanzado para la próxima edición?

¿Qué seré capaz de hacer? Trataremos de poner ejemplos de todo Podrás realizar tus propias aplicaciones sencillas Podrás utilizar la documentación para aprender a hacer aplicaciones más avanzadas

Algunas Cuestiones El tiempo es reducido (30 horas en 6 días) Poco tiempo para practicar Aprovechar el tiempo al 150% (se ruegan descansos cortos) Seguiremos el modelo de clase de la Universidad de Stanford. (http://www.stanford.edu/class/cs193p/cgi-bin/index.php) Se recomienda encarecidamente mirar la documentación de continuo. http://developer.apple.com/iphone/library/navigation/index.html

Algunas Cuestiones Y la más importante… PREGUNTAD

Presentación DUDAS

Primera Sesión Pablo Romeu: Introducción al esquema de Licencias, AppStore, etc. Introducción al iPhone SDK Xcode Interface Builder Simulador Introducción a Objective-C

Primera Sesión Pablo Romeu: Introducción al esquema de Licencias, AppStore, etc. Introducción al iPhone SDK Xcode Interface Builder Simulador Introducción a Objective-C

Introducción al esquema de Licencias, AppStore, etc. “¿Qué debo de hacer para publicar una App?” Desarrollar Apps es gratuito, publicarlas no. Modelos de licencia de desarrollo: Pública: 99$ - 100 dispositivos TEST y ad-hoc Privada: 299$ - Entidad de más de 500 empleados Universitaria: Gratis – 200 dispositivos TEST

Introducción al esquema de Licencias, AppStore, etc. University Standard Enterprise Acceso a Betas No Sí Testeo en dispositivos 200 100 ? (+ 500) Instalación en dispositivos Publicar en AppStore Precio Gratis 99$/año 299$/año

Introducción al esquema de Licencias, AppStore, etc. “¿Y cuanto me voy a sacar por cada programa?” Si es gratis, nadie saca nada (ni te cobran) Puedes poner anuncios con iAd (y sacar beneficio por click) Si es de pago  30% para Apple y el 70% para el desarrollador Además, están las compras In-App

Introducción al esquema de Licencias, AppStore, etc. “Estoy preparado… ¿cómo publico una aplicación?” Se utiliza iTunes Connect: Establecer usuarios: Admin, técnico, finanzas, etc. Firmar Contrato. Proveer información de la aplicación: nombre, screenshots, palabras clave, rating, etc. Enviar … Y rezar para que la aprueben ;) 90 y muchos % son aprobadas

Introducción al esquema de Licencias, AppStore, etc. “Bueno, pero antes tendré que probarla”: Simulador: No es necesaria licencia. Sistema de instalación Ad-Hoc (Test): Se utiliza el iPhone Provisioning Portal. Mediante certificados. Apple firma la aplicación y así se asegura que no se sobrepasa el número de dispositivos.

Introducción al esquema de Licencias, AppStore, etc. Recapitulando Licencias: Standard, Enterprise, University Publicar en AppStore: Usuarios, Contratos, Enviar información y rezar para que esperar que aprueben la app. Beneficios: Free (ni para ti ni para mi), iAd, InApp, de pago (70% para nosotros – 30% para Apple) Instalación en dispositivos: mediante certificados. Limitado.

Primera Sesión Pablo Romeu: Introducción al esquema de Licencias, AppStore, etc. Introducción al iPhone SDK Xcode Interface Builder Simulador Introducción a Objective-C

Introducción al iPhone SDK Se divide en varias partes, las más interesantes son: Xcode Interface Builder Simulador Instruments NOTA: parece ser que en la próxima versión, los primeros vendrán integrados.

Introducción al iPhone SDK Xcode Interfaz gráfico de programación Se utiliza tanto para Mac OS X como para iOS Tiene algunas facilidades muy interesates como autocompletado de información, ayuda, etc.

Introducción al iPhone SDK Demo de XCODE (abridlo vosotros también)

Introducción al iPhone SDK Interface Builder Interfaz gráfico de diseño Nos permite diseñar la vista de la aplicación Además, permite asignar gráficamente qué métodos (funciones) se ejecutarán dado un determinado evento sobre un objeto de la vista Ej: ¿Qué función ejecutar al pulsar un botón? ¿Y al mover un slider?

Introducción al iPhone SDK Demo de IB (abridlo vosotros también)

Introducción al iPhone SDK Simulador Permite probar programas Hay algunas cosas que NO puede probar (ej. GPS) Instruments: Permite hacer profiling de programas. Comprobar rendimiento, memory leaks, etc.

Introducción al iPhone SDK Demo de Simulador (abridlo vosotros también)

Primera Sesión Pablo Romeu: Introducción al esquema de Licencias, AppStore, etc. Introducción al iPhone SDK Xcode Interface Builder Simulador Introducción a Objective-C

Introducción a Objective-C Lenguaje Orientado a Objetos Superconjunto de C Cualquier cosa hecha en C funciona!!! Sintaxis –supuestamente- clara y simple. Como todo, tiene ventajas: Cosas que nos hacen más fácil la vida (@syntethize) Cosas que nos la complican  Gestión de memoria (en iOS)

Introducción a Objective-C MAXIMA SUPREMA: En Objective-C  “[]” = “.” Invocar un método: miObjeto.miMétodo; Es lo mismo que: [miObjeto miMétodo]; RECOMENDACIÓN: Utilizar sintaxis propia de Objective-C. O sea “[….];” Hay alguna excepción

Introducción a Objective-C Crear un objeto e Instanciarlo: MiClase *var = [[MiClase alloc] init]; Miclase es el nombre de la clase *var es la referencia a nuestro objeto Alloc reserva la memoria para un objeto de tamaño MiClase Init llama al constructor/inicializador de la clase MiClase

Introducción a Objective-C Llamar a un método: Sin argumentos: [MiClase miMetodo]; Con un argumento: [MiClase miMetodo: arg1]; Con más de un argumento: [MiClase miMetodo: arg1 argumento2: arg2]; (argumento2 es el nombre que se ha usado en la definición de miMetodo)

Introducción a Objective-C Organización del código y superclases: Como en otros lenguajes, tiene ficheros de cabecera (ficheros .h) y de implementación (.m) Las clases heredan siempre de otra clase, al menos de la clase genérica NSObject Todos los objetos genéricos del lenguaje empiezan por NS (NSString, por ejemplo) Los objetos de Interfaz de usuario suelen empezar por UI (UIButton, por ejemplo)

Introducción a Objective-C @interface MiClase: SuperClase { NSString *var1; NSString *var2; } @property (nonatomic, copy) NSString *var1; @property (nonatomic, copy) NSString *var2; - (void) miMetodo; - (void) miMetodo: (ClaseA *)arg1; - (void) miMetodo: (ClaseA *) arg1 argumento2:(ClaseA *)arg2; + (void) miMetodoClase; @end

Introducción a Objective-C En el ejemplo anterior: Los métodos con + delante son de clase. NO NECESITAN UNA INSTANCIA PARA EJECUTARSE Los métodos con – delante son de instancia. NECESITAN un objeto. Enseguida vemos los “property” y los “synthesize”. Veamos un ejemplo de implementación

Introducción a Objective-C #import "MiClase.h" @implementation MiClase @synthesize var1; @synthesize var2; - (void) miMetodo { ´ // hacer algo con alguna variable de la clase } + (void) miMetodoClase { return @“Hola”; @end

Introducción a Objective-C En el ejemplo anterior: Tenemos dos métodos implementados. El @ de @”Hola” indica una constante Tenemos implementados dos @synthesize: Los @property y @synthesize son directivas que le indican al compilador que queremos que genere automáticamente un “getter” y un “setter”. Cuando se declara una Property, se establecen modificadores

Introducción a Objective-C Modificadores de una property: Assign: get devuelve una variable y set hace una asignación simple. Copy: get y set comprueban que objeto no nil. Set hará una copia antes de liberar Nonatomic: la variable no necesita ser atómica Retain: funciona igual que assign Lo veremos en gestión de memoria