Your SlideShare is downloading. ×
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Introducción ios 5 Mistela&Tweets
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introducción ios 5 Mistela&Tweets

529

Published on

Presentación desarrollo IOS 5 evento de Marzo de Mistela&Tweets 2013

Presentación desarrollo IOS 5 evento de Marzo de Mistela&Tweets 2013

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
529
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introducción IOS 5 Mistela&Tweets Juan Vicente Pascual
  • 2. Historia
  • 3. ¿Qué necesitas?Requisitos de hardware y software para programar en iOSEn lo que respecta a Hardware se requiere:1.Un computador con Mac OS X 10.6 o posterior. Esto es obligatorio.2.Un dispositivo Móvil para pruebas. Esto es opcional ya que la herramienta que provee Appleviene con un simulador de iPhone y de iPad.El software básico trata de:1.Xcode: Este software viene en el CD de instalación de Mac OS X en la versión 10.6 pero en laúltima versión se baja desde App Store.2.iOS SDK: Este incluye lo necesario para programar en iOS pero está la versión 4.0 que es parala versión Mac OS X 10.6 y la versión 5.0 requiere Mac OS X 10.7 o OS X Lion.
  • 4. MacinCloud includes popular SDKs such as: •iOS SDK (Xcode 4.6 and Xcode 4.5.2) with Application Loader and iOS Simulator •Android SDK and NDK (Eclipse is available) •Corona SDK from Corona Labs (previously Ansca Mobile) •Xamarin Studio (NEW!) •Titanium Studio from Appcelerator •GameSalad •Mono, MonoDevelop, MonoTouch •Phonegap (Click Here to Read More) •Google App Engine SDK •Stencyl •ShiVa3D Authoring Tool from StoneTrip •YoYo Games GameMaker Lite •Heroku Toolbelt for OSX •MoSync •Sencha •Gideros Studio from Gideros Mobile •Unity3D •NetBeans •LiveCode from RunRev •We welcome your recommendations of other popular SDK and tools•Firefox•TextWrangler•EverNote • iTunes Producer•OpenOffice (Office and iWorks alternative) • Github for Mac•GIMP (Photoshop alternative) • Google Chrome•Inkscape (Illustrator alternative) • Dropbox•Cyberduck (FTP and Cloud storage client) • Google Drive•FileZilla (FTP client) • Adobe Flash Player•iBooks Author and Book Proofer • Adobe Reader•iAd Producer • SilverlightIn addition, some of the most popular Open Source or free Mac programs are pre-installed or to be Software that is currently BANNED from allinstalled upon your request: servers: • Any torrent clients or P2P software
  • 5. ¿Qué es?iOS (anteriormente denominado iPhone OS) es un sistema operativo móvil de Apple desarrollado originalmente para el iPhone, siendo después usado en todos los dispositivos iPhone, iPod Touch e iPad. Es un derivado de Mac OS X, que a su vez está basado en Darwin BSD.El iOS tiene 4 capas de abstracción, La capa de Cocoa Touch es la gestiona la interacción visual con el usuario. nos permite acceder al acelerómetro, los eventos y controles táctiles, la jerarquía de vistas, alertas, etc... La capa Media nos permite la ejecución de tareas multimedia. Entre ella el acceso al Audio, OpenGL, Imágenes y PDF, Animaciones, etc... La capa Core Services nos permite el acceso a los servicios básicos, tales como la agenda, el acceso a la base de datos, preferencias, conexión a servidores y procesamiento de URLs, etc... La capa Core OS es la base del sistema operativo. Se encarga de realizar la gestión de memoria, el sistema de ficheros, conexión a la red y procesos que interactúan con el hardware.
  • 6. Core OS Core ServicesMedia Cocoa Touch
  • 7. Objective-C (Introducción)Lenguaje de programación orientada a objetos.Es un superset de ANSI C. Definimos archivos de encabezado y de código.Está basado en Smalltalk. .h para los archivos de encabezadoFue desarrollado en 1980. .m para el código en C y Objective-CAdoptado por NEXTSTEP en 1988. Las clases se definen en dos partes:En 1992 fue liberado bajo licencia GPL para GCC. el interfaz (.h) y la implementación (.m)Es compatible con C y con C++. Soporta el uso de #import como directiva paraEs la base que utilizan Cocoa y Cocoa Touch. incluir los archivos .h en los archivos .m Podemos utilizar los tipos de variables de C y C++. La mayoría de los tipos de Objective-C se definen como punteros. Todos los objetos son descendientes de NSObject.
  • 8. Objective-C (Sintaxis)El signo - identifica el método de instancia (+ para métodos de clase). (void) tipo de retorno.insertObject:atIndex: selector del método.(id) y (NSUInteger) tipos de los parámetros.anObject y index nombres de los parámetros.Las llamadas a métodos se hacen a través del envío de mensajes a objetos (Smalltalk).Los mensajes se envían entre corchetes []
  • 9. Objective-C (Propiedades)La síntesis de propiedades automatiza el proceso de creación de los métodos de acceso a las variablesde instancia:Si la variable se llama myVar entonces:• El método de escritura será setMyVar:• El método de lectura será myVarLa sintaxis de las operaciones no orientadas a objetos La sintaxis de objetos de Objective-C deriva decomo variables, expresiones, declaraciones y Smalltalk, y está basado en el envío de mensajes allamadas de funciones, son idénticas a C. instancias de objetos
  • 10. El framework Foundation¿Qué es?El Foundation framework es mucho más que una colección de clases para trabajar con numbers,strings, y collections (arrays, dictionaries, sets).Define docenas de protocolos, funciones, tipos de datos, and constantes. NSObject Es la clase base para la mayoría de objetos del IOS SDK. Métodos más importantes: NSData NSArray NSMutableArray NSValue NSDictionary NSFoundation NSFileManager NSURL NSJSONSerialization
  • 11. MVC
  • 12. Novedades en IOS 5- ARC (Automatic Reference Counting): Mantenimiento de la memoria automáticamente.- StoryBoards: Creación de la interfaz en una sola ventana con todos los View Controllers y sus relaciones.- Compilador LLC: Mejor generación y optimización del código.- iCloud: Permite almacenar archivos y sincronizarlos con todos nuestros dispositivos automáticamente.- Twitter: Integración con la red social Twitter.- Core-motion: conjunto de interfaces para acceder a toda la información basada en el movimiento(motion-based) del dispositivo. Incluye el acceso a la información proveniente del giroscopio.- Core-Image: conjunto de herramientas para la manipulación de vídeo e imágenes.- Data protection: sistema integrado de encriptación.- Notification Center: sistema avanzado de notificaciones.
  • 13. ARC Mantenimiento automático de la memoria.La gestión de memoria es esencial para asegurarnos de que aprovechamos bien nuestros recursos. A través de los @properties indicamos el tipo de gestión de memoria del objeto que hemos declarado. Para ello ARC añade 2 nuevos tipos de atributos: –strong: Especifica que hay una relación de propiedad (relación fuerte). –weak: Específica que existe una relación de nopropiedad (relación débil). ARC se encarga de realizar el “deallocated” a cada objeto automáticamente.
  • 14. StoryBoards Creación de la interfaz en una sola ventana con todos los View Controllers y sus relaciones. - Están incluidos el diseño de todos los ViewControllers y las relaciones entre ellos. - Son útiles para aplicaciones con muchas pantallas diferentes y transiciones entre ellas. - Reduce el código que debemos escribir y el número de NIBs.Tenemos una mejor visión global de la aplicación y la relación entre las diferentes pantallas.Las transiciones entre pantallas se hacen mediante los “segues”, que se enlazan mediantectrl+arrastrar entre un controlador y otro.En el editor de Storyboard se pueden diseñar TableViews de manera visual, ahorrando una grancantidad de código.
  • 15. Core-motion Conjunto de interfaces para acceder a la información basada en el movimiento (motion-based) del dispositivo. Incluye el acceso a la información proveniente del giroscopio. Acelerómetro y giróscopo (sólo iPhone4 y iPod Touch nuevo). Antes se usaba UIAccelerometer class CMMotionManager: - solo una instancia por aplicación pero es un recurso para “todos” - dos modos: muestrear periódicamente la medición más reciente o suscribir un “manejador” para recibir todos los updates. (muestrear más eficiente, mejor, salvo que “no se pueda perder ni una medida”).1 – Comprobar disponibilidad del hardware, @property (readonly) BOOL{accelerometer,gyro,deviceMotion}Available;2 – Empezar la “captura” de datos. - (void)start{Accelerometer,Gyro,DeviceMotion}Updates;3 – “desconectar” la captura (Ahorro de bateria) -(void)stop{Accelerometer,Gyro,DeviceMotion}Updates;Acceder a los datos@property (readonly) CMAccelerometerData *accelerometerData;Que contiene:@property (readonly) CMAcceleration acceleration; typedef struct {double x;double y;double z;}CMAcceleration;(incluye gravedad)@property (readonly) CMGyroData *gyroData;Que contiene:@property (readonly) CMRotationRate rotationRate; typedef struct { double x; double y; double z;}CMRotationRate;@property (readonly) CMDeviceMotion *deviceMotion; (combinación de medida del gyro y
  • 16. Xcode
  • 17. Son pruebas creadas por nosotros mismos en el que comprobamos que nuestra lógica desarrollada está funcionando de la maneracorrecta. Estas pruebas están especialmente indicadas para proyectos grandes en el que es muy complicado tener un control total de todala lógica y al añadir nuevas funcionalidades podríamos “cargarnos” algo desarrollado anteriormente.Con ellas tenemos más confianza al realizar cambios (en código propio o ajeno) e incluso las pruebas nos servirían como documentación.Hay dos tipos de pruebas:• Pruebas de lógica (Logic tests): Se refiere a la prueba directa de la lógica de clases. Prueba la lógica de los métodos que no interactúancon elementos UI “White-box testing“. Por ejemplo, hay un método muy sencillo que elimina elementos duplicados en un NSArray y unaprueba sería comprobar que este método devuelva unNSArray. Solo se pueden lanzar en el simulador.• Pruebas de aplicación (Application tests): Comprueba que las interacciones con los controles UI y la propia UI de la aplicación te da losresultados esperados “Black-box testing“. Solo se pueden lanzar en un dispositivo.
  • 18. Proceso de publicación de una Aplicación 1/31.- Crear certificado de desarrollador/Distribución (Se puede exportar a diferentes equipos).2.- Te descargas el .cer3.- Dar de alta la aplicación com.jvptelecom.mistela&tweets (petición de registro de la aplicación osuite de aplicaciones)4.- Dar de alta dispositivos beta (se necesita el Identificador del terminal, a través de iTunes), unalicencia, permite el alta de hasta 100 dispositivos.5.- Enlazar aplicación con dispositivos el fichero .app y el mobile.provision (se obtiene en el portal)
  • 19. Proceso de publicación de una Aplicación 2/36.- Crear Aplicación7.- Nombre, precio, fecha lanzamiento8.- Descripción, palabras clave,edades contenido, capturas de pantalla9.- READY TO UPLOAD BINARY
  • 20. Proceso de publicación de una Aplicación 3/310.- Instalar el certificado11.- Firmar la aplicación12.- mobile.provision para distribuir o compilar para publicar (Con la última versión de Xcode).13.- product - Archive - Submit
  • 21. Consejos en la publicación de apps• La app se debe categorizar correctamente.• Se debe proporcionar una descripción de la aplicación.• Adicionalmente, hemos de introducir las palabras clave.• No se deben incluir capturas de pantalla de partes de la aplicación no-accesibles.• La aprobación de la aplicación puede variar entre 1 y 2 semanas, por lo que es interesante fijar una fechapara la publicación.• De esta manera, podemos realizar una serie de acciones concretas durante el tiempo de espera a lapublicación.• Es conveniente lanzar la aplicación junto a una versión gratuita, de manera paralela.• Un buen método para recuperar las descargas es el de actualizar la aplicación con pequeños cambios.• En iTunes Connect podemos visualizar las ventas y descargas de nuestra aplicación.• La aplicación iTC Mobile genera información diaria de las descargas.
  • 22. ¿Realmente es necesario?APP. NATIVAS- Aprovechar los recursos del dispositivo (CPU,GPU)- Notificaciones PUSH- Nuevas funciones- Bajo consumo, y alto rendimiento.APP. WEB- Aprovecha la mayoría de las capacidades de los equipos.- Independiente del dispositivo (IOS,Android, Windows,Palm, BlackBerry,...)- Menor curva de aprendizaje.
  • 23. Bibliografía- Foundation Framework https://developer.apple.com/library/mac/#documentation/Cocoa/Refer ence/Foundation/ObjC_classic/_index.html-Stanford CS193p Developing Applications for iOS- Desarrollo de aplicaciones en IOS 5, Alejandro Torrentí- Publicar una App en el apple store.http://docs.xamarin.com/guides/ios/deployment,_testing,_and_metrics/ap p_distribution_overview/publishing_to_the_app_store

×