1 / 36

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

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.

Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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

  4. ¿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

  5. ¿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?

  6. ¿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

  7. 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

  8. Algunas Cuestiones Y la más importante… PREGUNTAD

  9. Presentación DUDAS

  10. 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

  11. 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

  12. 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

  13. Introducción al esquema de Licencias, AppStore, etc.

  14. 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

  15. 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

  16. 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.

  17. Introducción al esquema de Licencias, AppStore, etc. • Recapitulando • Licencias: Standard, Enterprise, University • Publicar en AppStore: Usuarios, Contratos, Enviar información y rezar para queesperar 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.

  18. 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

  19. 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.

  20. 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.

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

  22. 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?

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

  24. 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.

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

  26. 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

  27. 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)

  28. 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

  29. 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

  30. 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)

  31. 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)

  32. Introducción a Objective-C

  33. 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

  34. Introducción a Objective-C

  35. 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

  36. 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

More Related