Tag Archive | "programacion"

La plataforma de desarrollo Cocoa Touch

Tags: , , , , , , , , , , , , , , , , , , , , ,


Antes de comenzar a leer el artículo, tengan en cuenta que es de alto contenido técnico, si bien trata del iPhone y el desarrollo de aplicaciones para este, lo hace desde un punto de vista tecnico.

En este primer artículo, de muchos otros articulos especializados, comenzamos a estudiar la plataforma de desarrollo Cocoa Touch. En nuestro primer paso haremos un repaso de los elementos básicos del Kit de desarrollo.

El sistema operativo del iPhone es, en esencia, el mismo que usan las Mac desde hace casi diez años, un Unix BSD supercargado. El sistema operativo fue desarrollado por NeXT, empresa que también desarrollo un novedosísimo (para entonces) framework de programación orientado a objetos. Ese framework evolucionó en lo que hoy conocemos como Cocoa, la base sobre la que se construye cualquier aplicación nativa para el iPhone/iPod Touch.

Cocoa es una API escrita en un dialecto especial de C llamado Objective-C.
En particular, cuando desarrollamos para el iPhone/iPod Touch, usamos Cocoa Touch. La diferencia básica entre Coca y Cocoa Touch es la forma en la que el usuario invoca comandos. En Cocoa tenemos un teclado físico y un mouse o trackpad, en Cocoa Touch usamos un teclado virtual y nuestros dedos directamente sobre la pantalla.

Por encima de la API en sí nos encontramos con las herramientas que forman parte del entorno de desarrollo de la plataforma:

Xcode: Xcode es la pieza esencial del entorno. Es un IDE muy completo, en el que podemos editar código fuente, acceder a un vasto volumen de documentación, y hasta un debugger gráfico. Xcode está construido por numerosos módulos Open Source (como el compilador gcc y el debugger gdb).

Instruments: Instruments sirve para monitorear la aplicación en desarrollo y sintonizar finamente su performance, en un maravilloso entorno gráfico. Instruments está basado en DTrace, una herramienta Open Source desarrollada por Sun Microsystems. Es esencial a la hora de identificar perdidas de memoria y otros bugs difíciles de rastrear.

Dashcode: Dashcode fue diseñada para desarrollar widgets para el Dashboard de Mac OS X. La versión del SDK de iPhone/iPod Touch es básicamente la misma que la de Mac OS X, y fue incluida para facilitar el desarrollo de aplicaciones Web para el iPhone.

Simulator: el simulador de iPhone permite probar las funcionalidades básicas de la aplicación en desarrollo. El simulador corre un sistema operativo parecido al real. Cuando se trabaja con el simulador, Xcode compila para x86, en lugar de ARM (que es la arquitectura del sistema real). Para compilar código ARM es necesario firmar la aplicación, lo que requiere la certificación de Apple.

Interface Builder: IB es, quizá, la pieza más difícil de entender para los recién llegados a la plataforma. Su uso elemental es el desarrollo de la Interface Humana (GUI), sin embargo es mucho más que eso. IB es donde los diferentes módulos se conectan, y es también donde se le da vida a muchos de los módulos precompilados que se verán en la pantalla.

En la próxima entrega vamos a crear una aplicación para el iPhone, aprovechando para conocer los conceptos elementales de Objective-C.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Desarrollar aplicaciones para el iPhone

Tags: , , , , , , , , , , , , , , , , , , ,


Nada fácil es el camino de un desarrollador que quiere hacer aplicaciones para el iPhone y que estas esten en el Appstore. Ya bastante difícil es encontrar una idea sustentable, luego desarrollarla y que quede completa, sin bugs, usando las mejores prácticas, documentada y con solidas bases para su versionado y mejoras posteriores. Pero luego de todo esto, vienen las barreras mas fuertes a superar.

El desarrollo de aplicaciones para el iPhone no está siendo de fácil acceso por culpa de la política de admisión de aplicaciones de Apple que es muy resctrictiva, los acuerdos de confidencialidad que entorpecían hasta hace poco la difusión las comunidades de desarrolladores, o las carencias de un API con un buenas, útiles y documentadas funcionalidades.

En Cuoma que es donde trabajo, hace una semana decidimos invertir en la creacion de una unidad de desarrollo de aplicaciones para iPhone. Mi trabajo desde hace unos dias es el de investigar a fondo el Roadmap de una App desde su nacimiento, hasta que esta en la Appstore.

Obviamente lo primero que hice fue buscar en google, sobre el tema, y pude dar con Mikeash y su historia titulada “The iPhone Development Story“.

Todavia no tenemos ninguna aplicacion o juego en proceso de desarrollo, ya que estamos con las primeras reuniones de establecimiento de presupuesto y objetivos del proyecto con dos clientes actuales de la agencia. Por este motivo es que voy a traducir literalmente lo que Mikeash nos cuenta en su artículo. (tambien vi la traducción en applesfera, gracias ya que se me hizo mas fácil hacer el artículo)

1. Inscribirse en el iPhone Dev Center y descargar el SDK. Por motivos que desconozco, no basta con tener una cuenta del Apple Developer Connection, hay que volver a inscribirse en este otro y leer los clásicos textos legales. Haciendo esto podemos empezar a escribir nuestras aplicaciones, compilarlas y probarlas en el simulador. Pero todavia NO instalarlas en nuestro iPhone.

2. Inscribirse en el programa para desarrolladores. Después de completar todos los formularios y leer más legales, podemos enviar la solicitud y esperar la respuesta hasta el siguiente día laboral. Esto tiene un costo de U$S99, y con él obtenemos el derecho a ejecutar nuestras aplicaciones en nuestro propio iPhone.

3. Certificados. Por defecto, un iPhone tan solo puede ejecutar aplicaciones firmadas por Apple y como no podes estar enviándoselas cada vez que queres probar algo, es necesario crear un perfil con el identificador de nuestro teléfono (accesible mediante las Xcode) introduciéndolo en otro formulario de la web de Apple. También necesitamos un certificado con el que firmar nuestras aplicaciones y, por supuesto, tiene que hacerlo Apple. Vamos y abrimos a Keychain Access y en Asistente para Certificados generaremos uno nuevo que tendremos que introducir manualmente (copiando y pegando) en otro formulario de la página.

4. Xcode. Si todo ha ido bien ya podrias experimentar con tus propias aplicaciones en tu iPhone. Si no, espero que con paciencia y leyendo los logs puedas rápidamente encontrar la solucion o a alguien con el mismo problema y seguir sus pasos para resolverlo.

5. ¡Desarrollar! Hasta no hace mucho, se prohibía a los desarrolladores hablar sobre el SDK, lo que dificultaba enormemente el desarrollo en si. Trabajar con cualquier plataforma nueva conlleva dificultades que habitualmente se resuelven en foros y grupos para desarrolladores. Por suerte, Apple ha aflojado con esta politica tan cerrada y ahora no tendrás mayores problemas para intercambiar codigos, conocimientos, etc.

6. ¡Distribuir! Bueno, que podes llegar a necesitar? y si… otro certificado especial de distribución que vas a solicitar siguiendo el mismo proceso de antes. Acceso a llaveros (Keychain Access), solicitar, aprobar, descargar e instalar. Aqui NO termina. Como en el punto 3, también necesitamos hacer funcionar un nuevo perfil de distribución en Xcode; proceso sobre el que Apple facilita muchas páginas de información con toda clase de capturas en las que se detalla el modo de reconfigurar el proyecto de Xcode para que utilice este certificado mágico de distribución. Hacer todo paso a paso, al pie de la letra o puede dejar de funcionar todo lo que venia funcionando.

7. Enviamos la aplicación a Apple a través de un nuevo formulario web con información sobre esta (nombre, descripción, versión…), su icono y algunas capturas de pantalla. Apple no acepta archivos PNG para el icono o las capturas; Tendrás que enviarla en TIFF o JPEG. Si te olvidas de este detalle es probable que obtengas una pantalla de error y que cuando trates de volver atrás descubras que la sesión ha terminado y toda la información de los formularios se perdió. Si esto paso, tenes que volver a empezar.

8. Esperar… Una vez enviada, la aplicación pasa a la cola de revisión, sin que sepamos en ningún momento lo que se está haciendo, el estado de la solicitud, o cuanto queda para que termine el proceso. Si la aplicación no es aceptada por el motivo que sea, por ejemplo, que a ellos no les funciona algo que si te funciona en tu iPhone, no tendrás ayuda al respecto, solo podes hacer los arreglos necesarios y volverla a enviar (este proceso si es muy sencillo, ya que se hace a través de un enlace con el que enviamos nuevas versiones de una misma aplicación). Si los problemas continuan, tendrás que esperar una semana para saberlo y otra para ver si la solución que has dado resuelve satisfactoriamente el problema.

9. ¡¡Aceptada!! Ahora queda esperar que de frutos tu aplicación en frente de los 10 millones de clientes potenciales que la podran comprar… o no.

CONCLUSIÓN: Desarrollar aplicaciones para el iPhone es un proceso muy difícil, con mas dificulades de las que deberia tener un proceso de desarrollo, mas si tenemos en cuenta que es para aplicaciones masivas o del tipo retail. Creo que hacer una aplicacion para el iPhone va a ser un camino muy dificil, pero que nos dara un gran valor aqui en donde trabajo, si bien hay que superar todas estas barreras y muchos problemas arbitrarios, siento que es la decisión correcta.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Foros iPhone Gurues
Technology (Gadgets) - TOP.ORG