iPhone SDK, desde lo básico: Historia y Arquitectura

iPhone SDK, desde lo básico: Historia y Arquitectura

Un poco de historia

Corría Feberro del 2008 cuando nuestra querida Apple Inc. comandada por aquel entonces por el tio Steve anunció que saldría el Software Development Kit de iPhone O.S. (demás está decir que es O.S., verdad?) aunque como es usual en los de Cupertino, no estuvo disponible hasta tiempo después. Un SDK es un conjunto de herramientas y tecnologías que se utilizan para la creación de software. Antes de que el SDK estuviera disponible la única opción de mostrar el trabajo de los desarrolladores en el iPhone era a través de aplicaciones web, es más Apple entregaba los parámetros para hacer esto posible, e inclusive hoy, en su documentación oficial, aún se habla de dos tipos de aplicaciones de desarrollo para iOS, las nativas y las web.

Pero como Apple detesta que las cosas no se hagan a su manera, lo mejor que podía hacer era darle la guía a los desarrolladores para que sus aplicaciones cumplieran sus reglas de programación y todas unificadas bajo el mismo concepto.

Para obtener el SDK hoy es muy fácil, solo debes abrir la App Store y descargarte Xcode, programa que cuenta con un GRAN simulador que permite hacer CASI de todo. Además si deseas publicar tu aplicación en la App Store, debes adquirir una cuenta de desarrollador que cuesta US$99 o algo así como CLP$50.000, además te permitirá probar tus aplicaciones en los dispositivos con los que cuentes (iPhone, iPod Touch, iPad).

Arquitectura iOS

Como un lenguaje bien estructurado, la arquitectura de iOS se basa por capas, las capas inferiores se encargan de controlar servicios básicos y las superiores toman el control de servicios y otras tecnologías que permiten el desarrollo de las aplicaciones

  • Cocoa Touch

Es un conjunto de Frameworks que nos proporciona la API de Cocoa, Cocoa es la API para desarrollar en OS X.

Sus principales Frameworks son:

UIKit: Aquí están todas las clases necesarias para el desarrollo de las UI (User Interface ó interfaces de usuario).

Foundation Framework: Clases básicas, manejo de objetos y servicios del S.O.

  • Media

Servicios gráficos y multimedia para la capa superior.

  • Core Services

Servicios básicos de iOS, útiles y necesarios para todas las aplicaciones.

  • Core OS

Características de bajo nivel tales como jerarquías de memoria, seguridad, sistema de archivos, etc.

 

Así concluye la primera parte de la introducción a el SKD del iPhone, mañana escribiré otra entrada con más información 🙂

Luis