Utilizas a diario tu iPhone ejecutando multitud de Apps que te permiten hacer tareas tan diversas como hablar con un amigo, hacer una transferencia bancaria o pedir cita con tu médico. Pero, ¿alguna vez que has parado a pensar cómo funciona cualquiera de esas aplicaciones? Si tu intención es ser Programador iOS, tienes que conocer con todo detalle los procesos implicados en el funcionamiento de una App.
Aunque no lo parezca por su aspecto físico, un iPhone es en esencia un ordenador y como tal funciona igual que un ordenador, por lo que para indicarle lo que queremos que haga, tendremos que escribir Código Fuente en un determinado Lenguaje de Programación. En el caso de los dispositivos Apple, el Lenguaje de Programación que utilizaremos es Swift. Se trata de un Lenguaje nativo de Apple que fue presentado en la WWDC de 2014 (Conferencia Mundial de Desarrolladores de Apple) y sustituyó al antiguo Lenguaje Objetive-C con el que se habían desarrollado las Apps hasta ese momento.
Al igual que cualquier ordenador, un iPhone también tiene su propio Sistema Operativo que permite controlar los distintos recursos de Hardware del smartphone, por ejemplo, la cámara, los botones de volumen, la memoria, etc. Además también gestiona las acciones o eventos que se producen, como tocar sobre un botón en la pantalla o recibir una llamada de teléfono. El sistema operativo de tu iPhone se llama iOS.
Cuando desarrollas una aplicación con Swift, por ejemplo crear una alarma que suene a una determinada hora, lo que estás haciendo es dar las órdenes al Sistema Operativo iOS para que cuando el reloj del sistema alcance la hora indicada, avise a tu aplicación, la cual reaccionará ordenando al sistema operativo que reproduzca un determinado sonido por el altavoz de tu teléfono. Igualmente podrás parar dicha alarma pulsando un botón que se mostrará en la pantalla, que en definitiva implicará que el sistema operativo capture la pulsación sobre un botón que se muestra en la pantalla, y a continuación informa de esta acción a nuestra aplicación la cual le da la orden al sistema operativo para que detenga el sonido que se está reproduciendo por el altavoz del teléfono.
Cuando desarrollas una aplicación tendrás que contemplar todas las posibilidades que pudieran ocurrir durante la ejecución de tu App, y prever las acciones que se llevarán a cabo en cada una de las circunstancias, o eventos ajenos a tu aplicación que pudieran ocurrir en el teléfono, por ejemplo decidir que hará tu aplicación cuando se recibe una llamada de teléfono.
Podemos resumir el funcionamiento de una aplicación de la siguiente forma:
.- Tendremos la interfaz gráfica de nuestra App que muestra distintos elementos que se mostrarán en la pantalla.
.- El usuario interaccionará con estos elementos.
.- El sistema operativo captura esas acciones e informa de las mismas a nuestra aplicación.
.-El Código Fuente que hemos escrito dará respuesta a cada una de esas acciones.
.- Nuestra aplicación se comunicará con el sistema operativo para que nuestro iPhone lleve a cabo la acción de respuesta prevista.
.- Una vez llevada a cabo la acción de respuesta, el sistema operativo vuelve a informar a nuestra aplicación, la cual mostrará el correspondiente resultado en pantalla.
En definitiva el sistema operativo gestiona los recursos de nuestro iPhone y se comunica con nuestra aplicación informando de las acciones que el usuario está llevando a cabo y del estado del dispositivo. A su vez nuestra aplicación le da las órdenes para que realice las tareas que queremos sobre los distintos recursos de hardware del teléfono, por ejemplo encender la linterna, responder a una llamada de teléfono, etc.
Igualmente, el sistema operativo informa a nuestra aplicación de todos los eventos que ocurren, ya sean provocados por un usuario (por ejemplo: pulsar un botón en la pantalla) o de otra índole (por ejemplo: se está recibiendo una llamada de teléfono). Tu misión como desarrollador de tu App es escribir el Código Fuente que de respuesta a todos esos posibles eventos.