Newsletter   RSS   RSS Vídeo

El Arte de Empezar... en tres pasos

Este es el título del, en mi opinión, mejor libro hasta la fecha escrito por Guy Kawasaki , pero en esta ocasión viene como anillo al dedo para un tipo de emprendedores muy especial: aquellas personas que, cada vez en mayor número, quieren comenzar a crear sus aplicaciones para Mac OS X, iPhone e iPad, y a quienes siempre les suele asaltar la misma duda: ¿por dónde empiezo? A continuación encontrarás una serie de consejos y recomendaciones.

Como en todo, no se trata de una serie de recetas con las que todos vayan a encontrarse cómodos o un remedio instantáneo, pero probablemente sí que resulten las más adecuadas para quienes no dispongan de una experiencia previa en el mundo de la programación.

1. Destierra los mitos

Programar no es difícil. Lo difícil, como en todo, es saber qué es lo que quieres desarrollar y contar con la técnica y/o habilidades necesarias que te permitan llevarlo a cabo; del mismo modo que saber escribir no te convierte en un escritor de novelas. En cualquier caso, como en tantas otras cosas, la técnica y habilidades se pueden adquirir y mejorar con la práctica.

Para muchas personas el primer escollo importante viene dado por el aprendizaje de un nuevo lenguaje (Objective-C ), aunque probablemente no será más difícil que cuando tuviste que aprender tu propio idioma por primera vez, cualquier otra asignatura, o incluso estudiar un segundo (o tercer) idioma.

Aprender es una cuestión de actitud, contar con la concentración adecuada, y suficiente tiempo de calidad.

En concreto, sobre Objective-C y programación para iPhone/iPad existe una enorme cantidad de libros, la mayoría de ellos excelentes; si bien uno de mis favoritos por su particular enfoque es Cocoa Programming for Mac OS X o su versión para iPhone: iPhone Programming: The Big Nerd Ranch Guide

Tanto si utilizas estos libros como cualquier otro, lo fundamental es entender lo que se esté tratando en cada una de sus páginas y no pasar a la siguiente hasta que quede suficientemente claro.

Una buena forma de comprender y aprender mientras que se lee uno de estos libros es repetir los ejemplos que se proponen, pero no limitándote a copiar el código impreso en las páginas a medida que lo leas sino siendo capaz de reproducirlo tú mismo desde cero.

Haz la prueba, y probablemente compruebes que algunas cuestiones que ya dabas por “aprendidas” de verlas repetidas una y otra vez no estaban en realidad tan claras: ¿cómo defino una nueva interfaz de clase? ¿como era aquello de las propiedades y lo de “sintetizarlas”? ¿Cómo se conectaban los elementos de la interfaz gráfica y las acciones?

Personalmente encuentro muy gratificante leer las páginas de un libro cómo realizar “algo” concreto, cerrar el libro, dejar pasar varias horas (o días) e implementar la misma solución empezando un nuevo proyecto desde cero en Xcode. Y no se trata de “calcar” el ejemplo, sino de conseguir implementar aquello que se ha aprendido. Recuerda: no se trata de memorizar código, sino de entenderlo.

Descansa. De hecho es importante no darse un atracón de lectura y dejarlo cuando empieces a darte cuenta de que te cuesta asimilar los conceptos. En ese momento estás perdiendo tu concentración, tu cerebro está fatigado y todas las páginas que avances a partir de ese momento caerán en saco roto. Será el momento para dedicarte a otra actividad, dejar que repose lo poco o mucho que hayas aprendido hasta ese momento y volver a coger el libro más tarde u otro día con fuerzas renovadas.

2. developer.apple.com

Los libros son excelentes para entender los fundamentos, dar los primeros pasos, sentirse cómodo con el entorno de desarrollo y saber “cómo se unen las piezas” en un programa de Mac, iPhone o iPad. Pero si bien en importante que leas todos los libros que puedas sobre diferentes aspectos de la creación de aplicaciones para Mac OS X, iOS u otras tecnologías (te puedo asegurar que mis estanterías físicas y virtuales rebosan), la verdadera fuente de documentación no es otra que los propios frameworks de Apple y que cuentan con una excelente documentación a la que puedes acceder desde el propio Xcode o, si lo prefieres, accediendo al sitio web que Apple dedica a los desarrolladores.

En este sentido, no tienes ninguna excusa que te impida abrir una cuenta en developer.apple.com . Ten en cuenta que es gratuito y sólo tendrás que pagar en el caso de que quieras probar tus desarrollos sobre los dispositivos físicos, en el caso del iPhone e iPad, para publicar los desarrollos propiamente dichos en la App Store (y también en la Mac App Store) o para acceder a las últimas revisiones del firmware y versiones del sistema operativo.

Aun así, el precio para darse de alta como miembro de pleno derecho en el programa de desarrolladores de Apple es totalmente accesible: unos 75 EUR anuales por cada programa al que quieras suscribirte (Mac OS X o iOS), lo que supondría un gasto total de unos 12 EUR mensuales en el caso de que quisieras darte de alta en ambos.

Además de la documentación propiamente dicha sobre los frameworks de Apple, en el sitio web también encontrarás una buena cantidad de guías publicadas por Apple y que puedes descargar en formato PDF sobre diferentes aspectos de la programación para sus equipos y dispositivos: desde guías o normas sobre el diseño de interfaces, hasta los relacionados con el aprendizaje de Objective-C, audio y vídeo, gráficos y animación, etc. También podrás acceder a numerosos vídeos y, fundamental, a toneladas de código de ejemplo listo para descargar, abrir en Xcode y leer para aprender sobre la marcha la forma de hacer ciertas cosas.

¿Y por qué no aprender directamente utilizando la documentación de Apple? Ciertamente es algo que puedes hacer, pero que dependerá de tu grado de experiencia en el ámbito de la programación. Si careces de experiencia, mi recomendación continua siendo la misma: empieza con un buen libro con el que puedas adquirir la base, los fundamentos, y en el que no quieras encontrar las respuestas a todas tus dudas sobre cómo hacer “esto” o “aquello”; ¡para eso te estará esperando la documentación de Apple!

3. Mejor en compañía

Las respuestas no siempre están en los libros (¿dónde he oído eso antes?), y por eso es importante compartir dudas, consejos y lo aprendido con otras personas. Existen varias formas de hacerlo, y de hecho una de ellas es la que encontrarás en nuestra propia revista iPhoneWorld ; en concreto en las páginas que dedicamos todos los meses a los desarrolladores de aplicaciones para iOS, ya sea para explicar el mecanismo de implementar la característica InApp Purchase o cómo utilizar bases de datos SQLite en tus Apps.

Otro buen modo de adquirir conocimientos es a través de los podcast, y si bien puedes encontrar muchos y muy buenos en inglés, nuestra apuesta es por 85% Cocoa . Se trata de un excelente podcast en castellano patrocinado por Macworld España y que lleva a la práctica de forma magistral José A. Lobato (¡el éxito de este podcast en iTunes es una buena muestra de la calidad de sus contenidos!).

Para las dudas del día a día encontrarás en el sitio web NSCodeCenter el mejor de los soportes. Aquí puedes plantear tus dudas y que serán contestadas por otros que quizá también estén realizando el mismo viaje de aprendizaje y que cuenten con algo más de experiencia o bien por verdaderos lobos de mar con años de experiencia en el diseño e implementación de aplicaciones. El mecanismo y funcionamiento de este sitio web es, de hecho, muy parecido a otro de las referencias que debería de figurar como marcador indispensable en tu navegador: StackOverFlow .

Pero también es muy gratificante reunirse de forma periódica con otras personas que comparten tus mismas inquietudes, y de hecho en España ya se han puesto en marcha varios capítulos NSCoder Night en diferentes ciudades: Barcelona , Madrid , Valencia , Zaragoza , Gijón , Sevilla , Malaga , Almeria ... ¡y creciendo!

Las NSCoderNight son reuniones de caracter informal y periodicidad semanal (a excepción de Madrid, cuya frecuencia es mensual) y donde podrás entrar en contacto con otras personas muy interesantes con las cuales compartir experiencia, conocimientos ¡y dudas!

Si te interesa, los diferentes capítulos cuentan con un canal en Twitter al que te puedes suscribir para estar informado sobre la ubicación y hora de las próximas reuniones. La forma de encontrar el canal correspondiente a la NSCoder Night de tu ciudad es muy sencilla, puesto que todos compaten la misma signatura: nscoder_ seguido por las tres letras con las que ya estamos acostumbrados a identificar el nombre de las ciudades, por ejemplo en los aeropuertos. Así, el canal twitter de la NSCoder de Barcelona será @nscoder_bcn, mientras que el de Valencia es @nscoder_vlc y el de Madrid @nscoder_mad.

Espero que hayas encontrado esta entrada inspiradora, y si te animas ¡nos vemos en la próxima NSCoderNight de Madrid!

Coincido al 99% :-)

Coincidimos casi en todo. Yo he seguido este camino este año (lo cuento un poco en http://blog.freniche.com/2010/11/14/como-estoy-aprendiendo-a-programar-e...) y estoy al 99% de acuerdo.

Pero yo no lo veo fácil. Al menos a mí, me ha costado bastante :-).

Miraré los libros que recomiendas.

Y felicidades por el post!

Me has inspirado!

Llevaba tiempo barruntando una incursión en el mundo de la programación para i-pad, pero me parecía más inhóspita... tu comentario me ha inspirado. ¡A ver si lo consigo! ;)

Enviar un comentario nuevo
(Los comentarios son moderados, aparecerán aquí en un breve espacio de tiempo. Gracias por su comprensión.)

El contenido de este campo se mantiene como privado y no se muestra públicamente.
CAPTCHA
Esta pregunta es para comprobar que no eres un robot y evitar el spam en nuestro blog. Gracias por tu comprensión.
4 + 0 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.