Friday, 12 November 2010

iOS Overview

This post will set the starting point for developing iOS applications. I don’t want to dig into the details, on the contrary, I will give you the general idea, the basis. If we needed more details, I would give them if necesary.

iOS architecture is based on layers and when you develop applications, you work mostly with the higher-level layers, which has the functionality you will need. In that sense, you only need to have a rough idea about the lower-level-layers and go further with the higher ones.



In the figure above, I have tried to summarize the layers and their main characteristics. The red square is surrounding the layer most used when you are developing: The Cocoa Touch Layer, which offers us a set of frameworks (a set of classes that do the dirty job for you, I mean, they implement the low level tasks and you only have to invoke their functions).

There are two essential frameworks: the Foundation and the UIKit that we will have to know in depth for implementing applications is iOS. The other ones are secondary, and we will not go into details with them.
 
  • The foundation framework defines the basic classes, an API, used for any type of Cocoa program.
  • The UIKit provides all the classes that an application needs to construct and manage its user interface.

Having set the basis of iOS architecture, we can go further with the key tools we will need to begin with the practice examples.
 
Need more details? Check the sources I have read:
iOS Overview

Cocoa Fundamentals (PDF)


---Spanish translation -------------------------------------------------

Este post pretende fijar las bases para el desarrollo de aplicaciones en iOS. La idea no es entrar en detalles, sino, por el contrario, dar una idea general, los aspectos básicos pare el entendimiento de esta arquitectura. De ser necesario en determinado momento más detalles sobre algún aspecto, os los daré.

La arquitectura iOS está basada en capas y al desarrollar aplicaciones, debes trabajar con las capas de más alto nivel, que proveen las funcionalidades necesarias.


En la figura, he intentado resumir las capas y sus principales características. EL rectángulo rojo engloba la capa más usada al desarrollar aplicaciones: la capa Cocoa Touch, la cual ofrece un conjunto de Frameworks (que son un conjunto de clases que hacen el trabajo sucio por ti o lo que es lo mismo, implementan las tareas de bajo nivel y solo es necesario invocarlas).

Dentro de Cocoa Touch, existen dos frameworks esenciales: el Foundation y el UIKit, los cuales tendremos que conocer en profundidad para poder implementar las aplicaciones en iOS. Los demás frameworks que podamos encontrar, son secundarios.
  • El framework Foundation: define las clases básicas, un API usado por cualquier tipo de programa Cocoa.
  • The UIKit provee de todas las clases que una aplicación necesita para construir y gestionar su interfaz de usuario.
Habiendo fijado las bases de la arquitectura iOS, podemos adentrarnos en las herramientas que necesitaremos para empezar con los ejemplos prácticos.
Necesitas más detalles? Revisa las fuentes que he consultado (en inglés):

No comments:

Post a Comment