Aplicaciones Móviles
Sesión 7: Objective C
Contextualización
El lenguaje de programación Objective-c es uno de los 3 más comunes para la realización
de aplicaciones de dispositivos móviles, en este caso, el presente sistema de
programación se utiliza en los dispositivos iPhone e iPad, entre otros sistemas de los
cuales dependen para funcionar correctamente.
Éste es un lenguaje de programación que se orienta a objeto, por lo que puede ser
compatible con muchas de las aplicaciones disponibles del mercado, las cuales son
disponibles para dispositivos móviles de nueva generación o teléfonos inteligentes.
Imagen obtenida de http://www.codejobs.biz/es/blog/2013/08/10/metodos-factory-en-objective-c
Introducción
Los lenguajes de programación para los dispositivos móviles se han desarrollado a gran
velocidad, presentando opciones de aplicaciones que antes no se consideraban, como por
ejemplo, buscadores especializados de música, que con sólo un fragmento de una canción
pueden dar la información sobre el nombre, el artista y el año, además de utilidades más
robustas, como geo-localización o sistemas de detección de rostro para funcionar con
medios de realidad aumentada. Entre muchas funciones más que se pueden desarrollar
gracias a estos medios de programación.
Objective C
¿Cuáles son los orígenes de Objective-c?
Este lenguaje se originó pensando en crear un subconjunto de C, éste fue desarrollado
por Brad Cox y la corporación StepStone en los años 80. Tiempo después este mismo
fue adoptado como lenguaje de programación para el compilador GCC. Hoy en día se
utiliza como base para la programación de sistemas en Mac OS, iOS y GNUstep.
¿Cómo funciona este lenguaje de programación?
Funciona como lenguaje de programación orientada a objetos, lo que le permite funcionar
correctamente como sistema operativo y gestionar la información necesaria dentro de los
mismos. Objective-C necesita de implementación en bloques de código separado, es
decir, distribuir los elementos con los que éste funcionará en partes o paquetes de
información para tener una estabilidad mayor.
Objective C
Introducción a Objective C
Este lenguaje de programación se basa en una orientación a objetos, por lo que se deben
definir los mismos dentro de las líneas de código para así poder ligar las acciones a los
elementos que se desean utilizar, incluyendo estructuras condicionales, lógicas, de
relación o solamente realizar ciclos específicos. Algunos de los elementos con los que
cuenta Objective-C son:
Clase.
Herencia.
Objeto.
Método.
Evento.
Atributos.
Mensaje.
Ventajas
Es una herramienta utilizada por Apple, por lo que las nuevas generaciones de
dispositivos contarán con los sistemas basados en Cocoa y Objective-C.
Es la base de la creación de aplicaciones para iPhone, iPad y Mac, por lo que la
compatibilidad de dispositivos será amplia al igual que la retrocopatibilidad.
Representa un costo de producción menor por ser un código abierto.
Introducción a Objective C
Desventajas
Sólo sirve para crear aplicaciones en dispositivos de Apple.
El desarrollo de inicio es más complicado que con otras plataformas de desarrollo de
aplicaciones.
Se requieren de conocimientos previos de programación para poder realizar una
aplicación en éste.
Introducción a Objective C
Arquitectura iOS
¿Qué es iOS?
Es un sistema operativo móvil que es desarrollado e implementado por Apple, se
desarrolló inicialmente para uso del iPhone y posteriormente se aplicó a los nuevos
dispositivos desarrollados por la misma compañía. Las características de este sistema
operativo es la gestión del hardware del dispositivo que implementa las aplicaciones
nativas, el sistema inicialmente se complementa con aplicaciones de teléfono inteligente,
como, correo, navegación Web y servicios adicionales.
Imagen obtenida de http://blog.muv.mx/impresiones-de-ios-7-beta/
La arquitectura iOS se basa en capas, las cuales constan del desarrollo de diferentes elementos con
lenguajes de programación compatibles para los mismos artículos, estas capas son:
Cocoa Touch: es la capa de mayor importancia para el desarrollo de aplicaciones iOS, ésta posee un
conjunto de Frameworks proporcionado por el API de Cocoa Touch, esta API existe en Mac.
UIkit: contiene las clases necesarias para el desarrollo de la interfaz de usuario.
Foundation Framework: define las clases básicas, accesos y manejos de objetos y servicios del
sistema operativo.
Media: es el controlador y proveedor de los servicios multimedia y gráficos a la capa superior.
Core graphics (Quartz): maneja vectores en dos dimensiones y renderización de imágenes.
Core animation: es parte del Quartz core framework, proporciona soporte avanzado para
animaciones y contenidos.
Open GL y GLKit: proporciona soporte para la renderización 2D y 3D.
Core Text: ofrece un diseño y motor de texto.
E/S estándar de imagen: proporciona interfaces para leer y escribir los formatos de imagen.
Biblioteca Assets: proporciona acceso a las fotos y videos del usuario.
Core Services: contiene los servicios que usan todas las aplicaciones dentro del sistema.
Core OS: contiene las características de bajo nivel.
Arquitectura iOS
El patrón MVC
¿Qué es el patrón MVC?
Éste es el modelo vista controlador, el cual se utiliza en diferentes entornos de desarrollo,
los cuales son:
Java Swing.
Java Enterprise Edition.
Xforms.
GTK.
ASP.NET MVC Framework.
Google Web Toolkit.
Apache Struts.
Ruby on Rails.
Imagen obtenida de http://raultinoco-cea2.blogspot.mx/2009/03/el-patron-mvc.html
Este patrón separa la lógica de negocio y la presentación, por tanto se consigue un
mantenimiento más sencillo de las aplicaciones. El modelo se encarga de la abstracción de
la lógica que se relaciona con los datos, permitiendo que la vista y las acciones sean
independientes del tipo de gestor de base de datos o cualquier otro elemento externo a la
aplicación. La forma en que funciona este patrón es:
Es usuario realiza una acción; el controlador busca el evento de entrada.
El controlador notifica al modelo de acción del usuario.
Se genera una nueva vista.
La interfaz de usuario espera otra instrucción.
Las acciones que se pueden lograr con el uso de este elemento son:
Programación simple.
Uso de controladores.
Uso de vistas.
Manipulación de datos.
Abstracción de la base de datos.
Imagen obtenida de http://sfi.alauzet.net/dgrm_mvc.php
El patrón MVC
Conclusión
La evolución de los medios de programación y sistemas de aplicación han
requerido de un trabajo muy importante para lograr que se mantengan
vigentes, por lo que siempre se tienen que considerar el uso de herramientas
alternativas, en el caso de iOS se puede apreciar que ha tenido una gran
evolución, como hemos visto en sesiones anteriores, los cambios que presenta
en sus sistemas operativos móviles son muy significativos, se ha tenido que
aplicar nueva tecnología y lenguajes de programación para mejorar y aumentar
la compatibilidad entre los dispositivos y los medios externos.
La importancia que tienen los sistemas no sólo operativos, sino de cualquier
medio o entorno es que logren mantener siempre vigente lo que se desarrolló,
también es el mejorar los procesos de comunicación entre el usuario y el
dispositivo y completar los ciclos necesarios de aprendizaje entre estos dos
actores.
Referencias
Ávila, R. (2012). Objective-C, el lenguaje nativo de iOS. Consultado en:
http://rubiko.mx/objective-c-el-lenguaje-nativo-de-ios/
Campoche, J. (2013) iOS. Consultado en:
http://jcampohucn.blogspot.mx/2013/05/arquitectura.html
Noemí (2010). Introducción a Objective-C. Consultado en:
http://helloworldiphone.blogspot.mx/2010/04/introduccion-objetive-c.html
Pavón, M. (2008) El patrón modelo-vista-controlador. Consultado en:
http://www.fdi.ucm.es/profesor/jpavon/poo/2.14.mvc.pdf
Porras, E. (2012) Sistema operativos iOS. Consultado en: http://eve-ingsistemas-
u.blogspot.mx/2012/04/sistemas-operativos-moviles-ios.html
PynSoftware. (2013). Introducción a Objective-C. Consultado en:
https://sites.google.com/site/pynsoftware/tutorials-3/spanish-
version/introduccionaobjective-c
Referencias
s/a. (2012) Lenguaje de programación iPhone y herramientas para programación de Apps
para iPhone e iPad. Consultado en: http://www.cocoaosx.com/2012/01/27/lenguaje-
programacion-iphone/
s/a. (2013) El patrón MVC. Consultado en:
http://librosweb.es/symfony_1_2/capitulo_2/el_patron_mvc.html
s/a. (2010) El patrón MVC (Modelo Vista Controlador). Consultado en:
http://prestashop5estrellas.wordpress.com/2010/03/29/el-patron-mvc-modelo-vista-
controlador/
s/a. Tecnología iOS. Consultado en:
https://sites.google.com/site/tecnologiaiostm/desarrollo-de-aplicaciones/arquitectura-ios
Seven Days. (2012). Introducción a Objective-C iOS. Consultado en: http://7-
days.es/introduccion-a-objective-c-ios-5/
Ulzurrum, L. (s.f.) Introducción a Objective-C: el paradigma de la POO. Consultado en:
http://sumolari.com/introduccion-a-objective-c-el-paradigma-de-la-poo/
Top Related