Sei sulla pagina 1di 32

E_Texto(02).

dot

Desarrollo de aplicaciones para iPhone

DIP047_01_V(02)

Introduccin a iOS

Introduccin a iOS

NDICE
MOTIVACIN ................................................................................................ 3
PROPSITOS ................................................................................................ 4
PREPARACIN PARA LA UNIDAD ........................................................................... 5
1. IPHONE ....................................................................................................7
2. QU ES IOS?........................................................................................... 9
3. ARQUITECTURA SOFTWARE .............................................................................11
3.1.
3.2.
3.3.
3.4.

COCOA TOUCH...............................................................................................................11
MEDIA....................................................................................................................... 12
CORE SERVICES ............................................................................................................ 13
CORE OS ................................................................................................................... 14

4. IOS DEV CENTER ...................................................................................... 15


4.1. PROGRAMAS DE DESARROLLO DISPONIBLES ............................................................................ 15
4.2. REGISTRARSE COMO DESARROLLADOR .................................................................................. 16

CONCLUSIONES ............................................................................................ 21
RECAPITULACIN ......................................................................................... 22
AUTOCOMPROBACIN .................................................................................... 23
SOLUCIONARIO.............................................................................................27
PROPUESTAS DE AMPLIACIN ........................................................................... 28
BIBLIOGRAFA ............................................................................................. 29

1
Unidad didctica 1

Introduccin a iOS

MOTIVACIN

Todos sabemos la repercusin que ha tenido la aparicin del dispositivo iPhone,


no solo a nivel tcnico sino tambin comercial e incluso a nivel social. Uno de
los pilares en los que se basa su xito son las aplicaciones que sus usuarios se
pueden descargar. Estas aplicaciones las crean desarrolladores de todo el mundo que aprovechan este fenmeno para hacer realidad sus ideas, hacer negocio
vendindolas o, simplemente, para dar rienda suelta a su creatividad.
Si vas a abordar este curso es porque t tambin quieres ser uno de ellos. Pero,
sabes cmo hacerlo? Para empezar, sabes qu sistema utilizan los terminales
iPhone y iPad para hacer posibles las aplicaciones? Cmo funciona este sistema? Y, sobre todo, qu debo hacer para convertirme en un desarrollador?
Este primer tema del curso servir para introducirte en el mundo del desarrollo
para los dispositivos mviles de Apple y prepararte para los siguientes temas,
que entrarn en diferentes aspectos tcnicos de la programacin.

3
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

PROPSITOS
Esta unidad es una introduccin para dar a conocer el sistema operativo utilizado por los smartphones de Apple. Los objetivos perseguidos son:


Identificar algunas de las caractersticas ms importantes del hardware


del dispositivo.

Saber cmo se inici el sistema operativo iOS y su actualidad.

Entender la arquitectura software del smartphone e identificar las diferentes funcionalidades que nos ofrece.

Conocer los pasos necesarios para ser desarrolladores iOS.

Identificar distintos programas de desarrollo.

4
Unidad didctica 1

Introduccin a iOS

PREPARACIN PARA LA UNIDAD


No es necesaria ninguna preparacin previa para seguir esta unidad.

5
Unidad didctica 1

Introduccin a iOS

1. iPHONE
El dispositivo iPhone de la compaa Apple fue presentado al pblico el 9 de enero de 2007, en la convencin Macworld 2007 de San Francisco. El encargado de
exponer este smartphone fue el director ejecutivo de la compaa, Steve Jobs.
Un tiempo despus, ligado al xito del iPhone y a los deseos de los desarrolladores naca tambin el concepto de venta de aplicaciones para dispositivos
mviles de Apple, el App Store.

Figura 1. Porcentaje de aplicaciones gratuitas y de pago en el App Store en Febrero de 2011


(Fuente: http://info-graphic.sjbn.co/tag/iphone-app-store/)

Desde el primer iPhone han sido varios smartphones los que lo han sucedido; el
iPhone 3G, iPhone 3Gs, iPhone 4 y, por ltimo, el iPhone 4S. Todos ellos cosechando xitos a nivel mundial gracias a su gran calidad, su innovadora interfaz y
a la desaparicin del teclado, el cual vena acompaando a los mviles desde su
primera generacin.

7
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

Veamos algunas de las especificaciones hardware ms relevantes del iPhone


4S:


Wi-Fi 802.11b/g/n (802.11n solo a 2,4 GHz).

Bluetooth 4.0.

Localizacin geogrfica (GPS asistido y GLONASS) y brjula digital.

Pantalla Retina Panormica Multi-Touch de 3,5 pulgadas (en diagonal).

Resolucin de 960 por 640 pxeles a 326 p/p.

Acelermetro y Giroscopio de 3 ejes.

Sensor de proximidad y luz ambiental.

Grabacin de vdeo en HD (1080p) hasta 30 fotogramas por segundo


con audio.

Cmara fotogrfica de 8 megapxeles.

Geoetiquetado de fotos y vdeos.

Unidad flash de almacenamiento de 16, 32 o 64 GB.

8
Unidad didctica 1

Introduccin a iOS

2. QU ES IOS?
iOS (antiguamente llamado iPhone OS) es un sistema operativo mvil desarrollado por la compaa Apple. En un principio, fue diseado para su smartphone
iPhone, aunque posteriormente se ha ido adaptando a otros dispositivos como
el iPod Touch e iPad.

Figura 2. Distribucin de las diferentes categoras de aplicaciones existentes en el App Store


en febrero de 2011(Fuente: http://info-graphic.sjbn.co/tag/iphone-app-store/)

La primera versin del sistema operativo del iPhone sali a la luz el 29 de junio
de 2007 con el nombre de iPhone OS 1.0. Se actualiz con varias mejoras y
correcciones como mejoras en el volumen del altavoz y el receptor, soporte para salida TV, mejoras en la velocidad de la interfaz y soporte internacional para
lenguajes y teclados.

9
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

No fue hasta el 11 de julio de 2008 cuando lleg la versin iPhone OS 2.0, que
vena instalada de fbrica en el iPhone 3G.
Poco ms de un ao ms tarde su versin sucesora, iPhone OS 3.0, vera la luz
con mejoras como las recomendacin Genius para aplicaciones, mejoras en el
calendario Exchange o la mejora del indicador de batera en el en iPhone 3Gs.
Fue el 21 de junio de 2010, despus de la versin iPhone OS 3.2, cuando la
nueva versin iOS 4 qued disponible al pblico. Esta es la primera que dejaba
de dar soporte a algunos dispositivos, concretamente al iPhone 3G y al iPod
Touch 2G.
El iOS 5 fue presentado al pblico el 6 de junio de 2011. Este tambin es la segunda versin iOS que no permite actualizarse en los dispositivos antiguos, en
este caso: el iPhone 3G y el iPod touch 2G. Fue lanzado para iPhone
3GS, iPhone 4, iPhone 4S, iPod touch 3G, iPod touch 4G, iPad e iPad 2 el 12 de
octubre de 2011. Actualmente, podemos encontrar la versin ms estable del
sistema operativo iOS, la 5.1.1 cuyas principales novedades son el centro de
notificaciones, integracin con Twitter y los recordatorios.

10
Unidad didctica 1

Introduccin a iOS

3. ARQUITECTURA SOFTWARE
A da de hoy, el sistema operativo mvil de Apple est dividido en cuatro capas:
Cocoa Touch, Media, Core Services, Core OS,
OS que representan cada una de las
tecnologas implementadas en el sistema.
Las capas estn compuestas por diferentes Frameworks, los cuales pueden
ser utilizados por las aplicaciones. Su principal objetivo es reducir la complejidad del cdigo al proporcionar varios niveles de abstraccin.

Figura 3. Capas del sistema operativo iOS.


(Fuente: http://www.iphonelife.com)

Veamos qu papel desempea cada capa en la arquitectura software de iOS y


algunos de los Frameworks ms importantes que se incluyen.

3.1. COCOA TOUCH


Es la capa ms alta y la que proporciona la funcionalidad principal a nuestras
aplicaciones. Est basada en el Framework Cocoa empleado para desarrollar
aplicaciones nativas en Mac OS X.

11
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

La principal diferencia entre ellas reside en la adaptacin de Cocoa Touch para


interfaces tctiles, adems de tenerse en cuenta que las aplicaciones desarrolladas residirn en dispositivos porttiles. Algunas diferencias visuales son apreciadas en muchos componentes que han sufrido una reduccin de tamao o
han sido divididos en varias vistas.
Por otro lado, la similitud entre ellas nos brinda la oportunidad de pasar al desarrollo de aplicaciones para Mac OS X sin que sea como empezar desde cero.
UIKIT
Este Framework, cuyas siglas significan User Interface Kit, es el Framework ms
importante de Cocoa Touch y entre sus muchas funcionalidades destacan:


Acceso a la cmara, la biblioteca de fotos y el acelermetro.

Visualizacin de datos como pginas web y documentos Word entre


otros.

Control de la interfaz y los eventos multitouch.

Responsable de la ejecucin y finalizacin de una aplicacin.

MAP KIT
En versiones posteriores al iPhone OS 3.0, para desarrollar aplicaciones que
hicieran uso de los servicios de geolocalizacin de Google se obligaba a sus
desarrolladores a implementar visualizaciones Web. Actualmente el Framework
Map Kit brinda la posibilidad de aadir vistas de Google Maps junto con anotaciones, ubicaciones, etc. A partir de iOS 6 los mapas dejarn de ser provistos
por Google y Apple utilizar su propio sistema de mapas.
GAME KIT
Este Framework est disponible desde la versin 3.0 del antiguo iPhone OS.
Entre sus funcionalidades se encuentra un mecanismo para incluir redes P2P
(Peer to Peer). Este mecanismo puede ser incluido en cualquier aplicacin indistintamente de si es o no un videojuego, lo cual es an ms til.

3.2. MEDIA
El dispositivo iPhone es capaz de reproducir audio, vdeo, generar grficos tridimensionales y, en general, todo tipo de acciones multimedia. La capa encargada de ofrecer estas funciones es la Media.

12
Unidad didctica 1

Introduccin a iOS

Audio Toolbox
Para controlar la grabacin y reproduccin de sonidos en el iPhone se utilizan
los mtodos que nos ofrece el Framework Audio Toolbox. Entre las diferentes
funcionalidades ofrecidas caben destacar las incorporadas por System Sound
Services que permiten reproducir sonidos de alerta y generar vibraciones cortas.
OpenGL ES
La API OpenGL, utilizada para generar grficos 3D y 2D en las aplicaciones,
tambin est incluida en esta capa. Esta versin est especialmente diseada
para correr en sistemas empotrados (ES, abreviacin de Embedded Systems).
Core Graphics
Aunque iPhone trae objetos de interfaz existentes, el desarrollador puede utilizar
el Framework Core Graphics para generar dibujos en dos dimensiones y manipular de esta manera la visualizacin de la interfaz.
Quartz Core
Este Framework se utiliza principalmente para generar animaciones en las aplicaciones. La funcionalidad Core Animation se encuentra en su interior y permite
al desarrollador crear interfaces animadas de una forma fcil y sencilla dado que
otorga una forma unificada de acceso a Core Image, Core Video y dems tecnologas embebidas en la capa Quartz Core.

3.3. CORE SERVICES


Los servicios del sistema operativo, como acceso a redes o archivos, se realizan
mediante la capa Core Services.
Foundation
Este Framework proporciona un acceso eficaz a las funcionalidades de Core
Foundation (escrita en C). La manipulacin de cadenas, matrices y diccionarios
o la gestin de preferencias, hilos e internacionalizacin son algunos ejemplos
de sus funcionalidades.
Core Data
Para evitar en la medida de lo posible el uso de cdigo a la hora de manipular
datos se utiliza el Framework Core Data. Nos proporciona un modelo de datos
relacional basado en Sqlite.

13
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

System configuration
Es utilizado para obtener informacin sobre la red a la que estemos conectados,
obteniendo datos como tipo, nombre, dispositivos conectados a la misma red, etc.

3.4. CORE OS
Core OS es la capa ms baja del sistema operativo iOS. Aqu nos encontramos
con los Frameworks que ofrecen acceso a los servicios de ms bajo nivel del
sistema.
CFNetwork
Ofrece acceso a sockets BSD (tambin conocidos como Berkeley Sockets),
protocolos FTP y HTTP.
Security
El Framework Security tiene las funcionalidades necesarias para acceder al llavero de iPhone para aadir, modificar y eliminar elementos. Adems, ofrece funciones criptogrficas tales como codificar y descodificar datos.
External Accesory
Utilizado para desarrollar interfaces que tengan comunicacin a los accesorios
conectados al iPhone, ya sea por medio del Bluetooth del dispositivo o a travs
del conector del mismo.

Figura 4. Imgenes representativas de los Framework Core Audio, Core Data y Core Graphics
(Fuente: http://developer.apple.com/technologies/ios)

14
Unidad didctica 1

Introduccin a iOS

4. iOS DEV CENTER


Para desarrollar aplicaciones en el dispositivo iPhone contaremos con un plataforma web desarrollada por Apple llamada iOS Dev Center que ofrece soporte a
los desarrolladores. En ella podremos encontrar las herramientas, el SDK, documentacin, vdeos y ejemplos necesarios para comprender las diferentes funcionalidades que proporcionan las diferentes capas explicadas en el punto anterior de este curso.

4.1. PROGRAMAS DE DESARROLLO DISPONIBLES


Para poder registrarse como desarrollador de aplicaciones tenemos tres programas diferentes, cada uno de ellos con sus ventajas y desventajas.
University Program
El primero de ellos se trata de un programa gratuito orientado a instituciones
educativas: es el llamado University Program. Este permite tener acceso a:


Las versiones Gold Master de SDK de iOS.

La documentacin y ejemplos en lnea.

Los foros de desarrollo de Apple.

Probar las aplicaciones en dispositivos iPhone.

15
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

Standard Program
Este programa tiene un coste de 80 y cuenta, adems de las ventajas del University Program, con:


Acceso a las versiones beta del sistema operativo.

Soporte tcnico oficial del cdigo.

Publicacin de aplicaciones en el App Store.

Enterprise Program
Es el programa orientado a instituciones corporativas y tiene un coste de 299$.
Est orientado al desarrollo de aplicaciones iOS a nivel cooperativo, lo que nos
permite la distribucin interna (sin pasar por la App Store) de las aplicaciones
para los dispositivos de Apple de la empresa que posean este programa.

4.2. REGISTRARSE COMO DESARROLLADOR


Para poder registrarse como desarrollador, el nico requisito necesario es poseer una cuenta de correo electrnico vlida. A continuacin, veremos los pasos
necesarios para poder realizar un registro desde cero.
El primer paso es acceder a la pgina web http://developer.apple.com/. Nos
dirigimos al apartado iOS Dev Center.
Center.

Figura 5. Web de Apple Developer

16
Unidad didctica 1

Introduccin a iOS

Una vez all deberemos pinchar en el enlace Register.


Register.

Figura 6. Pgina web de iOS Dev Center

Posteriormente aparecer la pgina para poder realizar el registro como desarrollador de Apple y nos dirigiremos al enlace Get Started (Figura 7).
Si poseemos una cuenta existente, seleccionaremos la opcin Use an exiting
Apple ID.
ID En caso contrario se debe seleccionar la opcin Create
Create an Apple ID.
ID.
Para el registro se puede utilizar la misma cuenta Apple ID con la cual se realizan compras a travs del App Store, Mac App o la de iTunes Store (Figura 8).

17
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

Figura 7. Web de registro como desarrollador de Apple

Supondremos que no poseemos ninguna cuenta en ninguna de las plataformas


anteriores, as que continuamos con la primera opcin y pulsamos Continue.
Continue
Nos aparecer un formulario de registro donde se nos solicitar el e-mail y contrasea de la nueva cuenta Apple ID, adems de cierta informacin de seguridad e informacin personal.

18
Unidad didctica 1

Introduccin a iOS

Figura 8. Primer paso del registro

Una vez rellenados todos los campos podremos acceder al siguiente trmite, la
aceptacin de unos trminos y condiciones del acuerdo de registro de la cuenta
de desarrollo de Apple.
Despus de aceptar los trminos y condiciones recibiremos un correo electrnico con un cdigo de validacin. En este punto el proceso llega a su ltimo paso,
en el cual deberemos introducir el cdigo de verificacin que aparece en el
e-mail recibido.

19
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

Finalmente, se recibir un correo electrnico comunicando que se ha completado con xito el registro e invitando a enrolarse en uno de los programas de desarrollo de Apple (Figura 9).

Figura 9. E-mail de confirmacin

20
Unidad didctica 1

Introduccin a iOS

CONCLUSIONES

Al ser un dispositivo muy popular dispondremos de mucha documentacin en la red, lo cual es una ventaja a la hora de desarrollar.

Como programador, hay que tener en cuenta que las capas en las que
est dividido el sistema operativo reducen la complejidad del cdigo al
proporcionar varios niveles de abstraccin.

Para obtener una copia del SDK iOS 5 gratuita es necesario registrarse
en el iOS Dev Center. El registro no requiere obtener ningn tipo de
programa de desarrollo, que s ser obligatorio para probar nuestras
aplicaciones en el terminal, as como subirlas a la AppStore.

21
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

RECAPITULACIN


Apple ha creado una familia de smartphones de grandes prestaciones y


elevadas especificaciones tcnicas como la inclusin de GPS, brjula
digital, acelermetro, giroscopio de 3 ejes, localizacin geogrfica y una
unidad flash de almacenamiento de 16, 32 y 64 GB.

La serie de smartphones de Apple se ha actualizando con varias versiones de su sistema operativo. Hasta ahora se han conocido por dos
nombres: iPhone OS e iOS. La ltima versin estable, la iOS 5, es la
segunda en traer funciones limitadas para los dispositivos ms antiguos.

A pesar de que el sistema operativo iOS es joven, se basa en una tecnologa muy madura y robusta (Unix BSD) y tiene un ncleo muy similar
al de OSX. Dispone de variados Frameworks que aportan numerosas
funcionalidades al estar en gran parte basados en la herencia de Mac
OS X.

Para desarrollar en la plataforma iOS no es necesario registrarse en iOS


Dev Center pero s es recomendable. Adems, para poder ejecutar
nuestras aplicaciones en nuestro terminal y publicarlas es obligatorio
inscribirse a uno de los dos programas de desarrollo de iOS que ofrecen esta funcionalidad. Estos ltimos son de pago.

22
Unidad didctica 1

Introduccin a iOS

AUTOCOMPROBACIN
1.

Cul de estas caractersticas no pertenece al iPhone 4S?


a) Conectividad Bluetooth 4.0.
b) GPS y brjula digital.
c) Unidad flash de almacenamiento de hasta 128 GB.
d) Sensores de proximidad y giroscopio de 3 ejes.

2.

Qu otros dispositivos de Apple utilizan el sistema operativo iOS?


a) iMac y Macbook.
b) iPod y Mac mini.
c) Macbook Air e iPod.
d) iPod Touch e iPad.

3.

Cul es la categora de aplicacin ms presente en el App Store?


a) Juegos.
b) Libros.
c) Utilidades.
d) Educacin.

23
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

4.

Cules y cuntas son las capas en las que se divide el sistema operativo iOS?
a) Se divide en 4 capas; Cocoa Touch, Media, Services, OS.
b) Se divide en 3 capas; Cocoa, Media, OS.
c) Se divide en 4 capas. Cocoa, Media, Services, OS.
d) Se divide en 3 capas: Cocoa Touch, Media, Services.

5.

Cul es la principal diferencia entre Cocoa Touch y Cocoa?


a) Cocoa Touch est orientado a ordenadores de sobremesa mientras que
Cocoa a dispositivos tctiles.
b) No existe ninguna diferencia.
c) Cocoa Touch est orientado al desarrollo de aplicaciones en dispositivos
tctiles.
d) Cocoa es un subconjunto de Cocoa Touch que aade nuevas funcionalidades.

6.

Si necesitas aadir una vista de mapas para sealar una ubicacin en


tu aplicacin, qu Framework utilizaras?
a) UIKIT.
b) MAP KIT.
c) OPENGL ES.
d) CFNetwork.

7.

Si necesitas almacenar datos en una Base de Datos relacional basada


en Sqlite, qu Framework utilizaras?
a) Core Data
b) Foundation.
c) Audio Toolbox.
d) Cocoa Touch.

24
Unidad didctica 1

Introduccin a iOS

8.

Cul es la capa ms baja del sistema operativo iOS?


a) Core Services.
b) System Configuration.
c) Security.
d) Core OS.

9.

Si necesitamos acceso a sockets BSD o protocolos ftp y http, qu


Framework utilizaras?
a) System configuration.
b) CFNetwork.
c) External Accesory.
d) No se puede acceder a ese tipo de sockets.

10. Para generar grficos 2D y 3D en el smartphone de Apple, qu Framework utilizaras?


a) OPENGL.
b) Core Graphics.
c) OPENGL ES.
d) Core Animation.
11. De qu programas disponemos para desarrollar en iOS?
a) University Program, Complete Program, Medium Program, Developer
Program.
b) Standard Program, University Program, Developer Program.
c) Gold Master Program, Standard Program, University Program.
d) University Program, Standard Program, Enterprise Program.

25
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

12. Si queremos probar aplicaciones en nuestro terminal, qu deberemos


hacer?:
a) Registrarnos en uno de los programas siguientes: University Program o
Standard Program.
b) Registrarnos en Enterprise Program.
c) nicamente ser necesario registrarse en iOS Dev Center.
d) Todas son falsas.
13. Para publicar una aplicacin en el App Store, qu necesitaremos?:
a) Habernos registrado en el iOS Dev Center y bajarnos el SDK.
b) Habernos registrado en el Standard Program.
c) Habernos registrado en el Enterprise Program porque solo con este programa se pueden publicar sus aplicaciones.
d) Habernos registrado en el University Program o Standard Program.
14. Cul de estas definiciones no es falsa?
a) El University Program es el nico que no permite a los usuarios probar
sus aplicaciones en sus dispositivos mviles.
b) El Enterprise Program permite probar las aplicaciones en el propio terminal del usuario pero no puede publicarlas en el App Store.
c) El Standard Program es el programa ms caro.
d) Todas las anteriores son verdaderas.
15. Qu es la pgina web de iOS Dev Center?
a) Un portal web desarrollado por Apple para que los desarrolladores puedan acceder a la documentacin y ejemplos en lnea.
b) Un portal web desarrollado por Apple para ofrecer soporte a los desarrolladores.
c) Un portal web para ofrecer vdeos y ejemplos a los desarrolladores.
d) Todas las anteriores son correctas.

26
Unidad didctica 1

Introduccin a iOS

SOLUCIONARIO
1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

27
Unidad didctica 1

Desarrollo de aplicaciones para iPhone

PROPUESTAS DE AMPLIACIN
Lee la diversa documentacin, vdeos y ejemplos que nos ofrece el iOS Dev
Center.

28
Unidad didctica 1

Introduccin a iOS

BIBLIOGRAFA


http://developer.apple.com/.

http://info-graphic.sjbn.co.

http://www.iphonelife.com.

RAY, J. y JOHNSON, S. Desarrollo de Aplicaciones para iPhone. Madrid: Anaya Multimedia, 2010.

HILLEGASS, AARON. Desarrollo de aplicaciones para iPhone & ipad.


Madrid: Anaya Multimedia, 2011.

29
Unidad didctica 1

Potrebbero piacerti anche