¿Cómo puedo ser realmente bueno en la programación de iOS?

Para ser un buen desarrollador y esto no solo se aplica a iOS, solo tienes que estar en el terreno y comenzar a codificar. Leer libros y tutoriales solo te hará perder el tiempo si no practicas. A través de múltiples pruebas y errores, aprenderá de sus errores (algunos pueden ser muy estúpidos si mira hacia atrás), pero este es el camino para convertirse en un gran desarrollador.

Siga a los grandes desarrolladores de iOS en Twitter, manténgase al día con las últimas noticias de iOS (el boletín semanal gratuito de desarrollo de iOS es un excelente lugar para comenzar). Un último consejo para usted es contribuir o escribir un proyecto de código abierto a través de GitHub. Te ayuda de dos maneras:

  1. Cuando solicita un trabajo, tener un proyecto de código abierto / contribuido a uno lo llevará fácilmente a la puerta.
  2. Aprende a leer y comprender el código de otras personas. Tome la mejor práctica de lo que hacen bien y aplíquelo usted mismo.

Por último, pero no menos importante, nunca dudes en hacer preguntas. Stack Overflow es el mejor invento para todos los programadores, pero úsalo sabiamente.

Desarma las herramientas.
Descubra cómo los bits de un programa Objective-C (o lo que sea) se asignan a la imagen de memoria de un programa en ejecución en iOS, y cómo realiza la llamada a la función cuando desea algo del disco, pintar algunos gráficos y cualquier otro hardware relacionada con la finickery.

El anuncio de bitcasa que menciona incluso lo declara explícitamente; gran comprensión de la administración de memoria, E / S, redes y sockets, concurrencia, subprocesamiento múltiple … esta no es una lista de verificación para un SDK / API / plataforma particular, es fundamental para los sistemas operativos. Cuando vea a través de cómo Cocoa o lo que sea que viene a continuación pegue estas cosas en un kit que sea más fácil de usar, lo manejará con mayor precisión que cualquiera que solo lea las firmas de llamadas de funciones en la documentación.

Las abstracciones de programación están ahí para proporcionar comodidad después de digerir la parte difícil, no son muy útiles para liberar al programador de comprender lo que ocultan. Aquellos que logran confiar en las cadenas de herramientas para camuflar los fundamentos siempre están atrapados aprendiendo nuevas cadenas de herramientas, lo que les impide llegar a ser tremendamente buenos con una en particular.

En realidad, no he intentado mucho con iOS en particular, pero como me preguntas, esta es mi receta para todo. Es un sistema operativo como el resto de ellos, por lo que me sorprendería mucho si no se aplica.

Bueno, esos son mis $ 2e-2 de todos modos.

Esto se aplica a cualquier lenguaje de programación, no solo a iOS, sino que es muy importante: haga lo correcto. ¿Dónde se utilizan los delegados, qué son los protocolos, la administración de memoria (Apple ha facilitado a los desarrolladores ahora con ARC, pero esto es algo que debe saber)

Los videos de Apple WWDC, los foros de desarrolladores y la documentación que proporcionan son un buen comienzo para esto.

En segundo lugar, no te quedes solo con tutoriales y libros. No te ayudarán. Intenta practicar tanto como puedas y cuando puedas. Una práctica que seguí para comprender las buenas prácticas de programación fue obtener un enunciado del problema para un código de muestra de Apple, escribirlo de la manera que pensé que era correcto y luego compararlo con el código de muestra. Esto me ayudó a entender cómo escribir un mejor código ( comencé a codificar para el iPhone cuando no había ejemplos / tutoriales disponibles en línea debido a la NDA )

Para ambos, puede consultar algunos blogs muy buenos, como tutoriales de Ray Wenderlich (Tutoriales para desarrolladores y jugadores de iPhone / iOS) o MobileTuts (IOS SDK | Mobiletuts +)

Stackoverflow y Quora son buenas plataformas para responder sus preguntas técnicas si está atrapado en algún lugar o necesita consejos sobre cómo mejorar un código.

Los consejos de Aditya sobre cómo contribuir a un proyecto de código abierto son buenos y algo que vale la pena hacer una vez que domine la plataforma.

Comience como mal programador.
Luego trabaje para crear excelentes aplicaciones.
Repita esto durante 10.000 horas más o menos *
Y terminarás siendo mucho mejor.

Cualquiera que sugiera que hay un atajo probablemente esté intentando venderte un libro.

* es posible que deba observar ocasionalmente cómo otras personas resuelven estos problemas