jueves, 29 de agosto de 2013

iOS

Arquitectura iOS


La arquitectura iOS está basada en capas, donde las capas más altas contienen los servicios y tecnologías más importantes para el desarrollo de aplicaciones, y las capas más bajas controlan los servicios básicos.

  • Cocoa Touch
Cocoa Touch es la capa más importante para el desarrollo de aplicaciones iOS. Posee un conjunto de Frameworks que proporciona el API de Cocoa para desarrollar aplicaciones.
Se podría decir que Cocoa Touch proviene de Cocoa, la API ya existente en la plataforma MAC.

Esta capa está formada por dos Frameworks fundamentales:
  • UIKit: contiene todas las clases que se necesitan para el desarrollo de una interfaz de  usuario
  • Foundation Framework: define las clases básicas, acceso y manejo de objetos, servicios del sistema operativo

  • Media
Provee los servicios de gráficos y multimedia a la capa superior.
  • Core Services
Contiene los sevicios fundamentales del sistema que usan todas las aplicaciones
  • Core OS
Contiene las características de bajo nivel: ficheros del sistema, manejo de memoria, seguridad, drivers del dispositivo.
                                 Sistema operativo que utiliza

iOS es un sistema operativo móvil de la empresa Apple Inc. Originalmente desarrollado para el iPhone (iPhone OS), siendo después usado en dispositivos como el iPod Touch,iPad y el Apple TV. Apple, Inc. no permite la instalación de iOS en hardware de terceros. Tenía el 26% de cuota de mercado de sistemas operativos móviles vendidos en el último cuatrimestre de 2010, detrás de Google Android y Nokia Symbian. En mayo de 2010 en los Estados Unidos, tenía el 59% de consumo de datos móviles (incluyendo el iPod Touch y el iPad).

Lenguajes de Interfaces de servicios

La interfaz de usuario de iOS está basada en el concepto de manipulación directa, usando gestos multitáctiles. Los elementos de control consisten de deslizadores, interruptores y botones. La respuesta a las órdenes del usuario es inmediata y provee de una interfaz fluida. La interacción con el sistema operativo incluye gestos como deslices, toques, pellizcos, los cuales tienen definiciones diferentes dependiendo del contexto de la interfaz. Se utilizan acelerometros internos para hacer que algunas aplicaciones respondan a sacudir el dispositivo (por ejemplo, para el comando deshacer) o rotarlo en tres dimensiones (un resultado común es cambiar de modo vertical al apaisado u horizontal).
iOS se deriva de Mac OS X, que a su vez está basado en Darwin BSD, y por lo tanto es un sistema operativo Unix.
iOS cuenta con cuatro capas de abstracción: la capa del núcleo del sistema operativo, la capa de "Servicios Principales", la capa de "Medios" y la capa de "Cocoa Touch". La versión actual del sistema operativo (iOS 6.1.3) ocupa más o menos 770 megabytes, variando por modelo.

Lenguajes de desarrollo y bibliotecas

El Xcode permite trabajar con ficheros Java (.java),  C/C++ (.h,.c,.cpp), Objetive-C (.h,.m) y Objetive-C++ (.h,.mm,.M), pero la plataforma iPhone iOS usa el lenguaje Objetive-C para el desarrollo de aplicaciones.

Objetive-C es un lenguaje orientado a objetos que se define como un conjunto pequeño pero poderoso de extensiones para el lenguaje estándar ANSI C. Esta basado en uno de los primeros lenguajes orientados a objetos: Smaltalk.

Ejemplo
El programa clásico "Hola Mundo" en Objetive-C


Se trata de un lenguaje muy dinámico, ya que muchas decisiones se toman en tiempo de ejecución. Define clases, interfaces, métodos, propiedades y protocolos.

Consta de tres tipos de ficheros: ficheros de cabecera (.h), fichero de implementación del código en Objetive-C(.m) y fichero con el mismo código en C++ por si se quiere hacer una referencia a código anterior (.mm).


 Base de datos que soporta


Muchas aplicaciones para iOS necesitan guardar datos según vamos haciendo uso de ella o ya cuentan con unabase de datos inicial a la que se irán haciendo consultas. Existen varias formas de guardar información en iOS: CoreData, NSUserDefaults, bases de datos SQLite, etc. Si utilizamos bases de datos SQLite, consultar, insertar, actualizar o borrar datos se puede convertir en una tarea bastante engorrosa, “arcaica” y propensa a errores.



Emuladores con los que cuenta


iMAME un emulador de iSO.



No hay comentarios:

Publicar un comentario