Comunidad de diseño web y desarrollo en internet online

Fundamentos de programación para iPhone

Este tutorial es una continuación de cómo programar para el iPhone.

Cuando un cliente nos pida desarrollar una aplicación para el iPhone, debemos tener en cuenta los requerimientos y saber enfocar la herramienta a utilizar, ya que nosotros podemos desarrollar una aplicación web o una aplicación nativa, obviamente con resultados distintos no sólo por la aplicación en si, sino por tiempo y esfuerzo.

¿Qué es una aplicación web?

Se trata de las aplicaciones normales desarrolladas en HTML + CSS + JavaScript, que corren del lado del servidor y son vistas en el navegador Safari. Dichas aplicaciones pueden ser desarrolladas en PHP, NET, Java, etc y generar el código HTML necesario para poder ver nuestra aplicación corriendo en el Iphone. Con CSS ya podemos darle el toque final para que sea muy similar a una aplicación de escritorio (si se desea).

¿Qué es una aplicación nativa?

Los usuarios de iphone ya vienen acostumbrados a este tipo de aplicaciones, en realidad son todas aquellas que fueron descargadas desde AppStore y fueron instaladas directamente en el dispositivo, a ello se le suma que no es necesario tener una conexión a internet ya que estas no corren en el navegador. Estas aplicaciones son desarrolladas con el SDK de Iphone: xCode en Objective C.

Diferencias y ventajas

  • Al desarrollar aplicaciones web, no dependes de Apple para su distribución y mas aún para su aprobación. Sin embargo, al crear una aplicación nativa, tienes acceso al API del iphone y poder por ejemplo usar el acelerómetro, la camara el GPS, etc.
  • Una aplicación nativa requiere conocimientos de Objective C y para crear una aplicación web no es necesario.
  • Con la aplicaiones web, no necesitas registrarte como desarrollador en Apple siendo estas de libre acceso, mientras que con las aplicaciones nativas podemos cobrar por su descarga si así lo deseamos.

¿Cómo trabaja una aplicación nativa?

Para explicar esto, nos apoyaremos en una imagen que proporciona apple.

Empezamos diciendo que aprendiendo Cocoa Touch ya puedes crear aplicaciones no solo para el iphone o ipod, sino para toda la familia Mac OS. Ya que estos dispositivos trabajan con una copia similar a la que usan las mac.

Los 4 elementos que ves, son todas las capas con la que trabaja iphone o ipod, empezaremos explicando de abajo hacia arriba:

  • Core OS: Es la base o el nucle del sistema operativo y es responsable, entre otras cosas, de gestionar los archivos, la memoria, seguridad y la comunicación.
  • Core Services: Provee los servicios fundamentales de la aplicación, por ejemplo puedes acceder a la lista de contactos, al SQLLite o a las preferencias.
  • Media: Aquí está todo lo referente a Multimedia: video, audio, archivos de imágenes, Core Animation, OPENGL ES, etc.
  • Cocoa Touch: No es más que el Framework de desarrollo para el Iphone, que en realidad es el más importante y con el que, en la medida de las posibilidades, trabajaremos. Intentando siempre usar esta capa para nuestro desarrollo.

Pero, ¿qué usaremos?

Cocoa Touch

Como ya mencionamos, Cocoa Touch es el API para el desarrollo de aplicaciones orientado a objetos. Esta incluse a su vez 3 frameworks que usaremos para poder trabajar con el iphone:

  • UIKit, que proporciona todos los elementos gráficos para nuestra aplicación mediante interfaces a su framework.
  • Fundation Framework, es el conjunto de clases que utiliza para representar estructuras de datos complejas.
  • Address Book UI Framework, nos ayuda a acceder a los datos de nuestros contactos.

Objective C

Es un lenguaje de programación basado en C, y que ha sido modificado para poder trabajar orientado a objetos, con lo cual puedes crear clases, objetos, variables de instancias, métodos, encapsulación, etc.

Conclusión

Es importante remarcar, que Objective C no es Java, PHP, NET, ActionScript, etc,es totalmente distinto, y necesitaras esforzarte para aprender a programar si estás acostumbrado a estos lenguajes. Sin embargo, si alguna vez desarrollaste en C o C++, tendrás muchas más ventajas para entenderlo. Aquí en cristalab, intentaremos en los siguientes tutoriales explicarte de una forma fácil y sencilla su uso.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate