He estado desarrollando para iOS durante algunos años, tanto en contratación como en código abierto. También he asesorado y enseñado el desarrollo de iOS. No hace falta decir que me han hecho esta pregunta muchas veces. La mejor respuesta será diferente según el tipo de aprendizaje que necesite y su conocimiento actual de cómo funcionan las cosas.
Muchas de las otras respuestas aquí enumeran recursos generales, pero antes de elegir una, es importante considerar el tipo de recurso que desea:
- ¿Quieres aprender por tu cuenta?
- ¿Quieres ver videos?
- ¿Quieres salir de la tierra tutorial?
- ¿Quieres la responsabilidad de un programa de entrenamiento robusto?
Revisaré algunos estilos diferentes y haré recomendaciones.
Recursos de aprendizaje autoguiados
Ventajas : barato (generalmente gratis); flexible
- ¿Qué recursos hay para ayudar a una adolescente a aprender más sobre ingeniería civil como carrera?
- ¿Cuál es el mejor libro / recurso a través del cual un principiante completo puede aprender diseño gráfico?
- Quiero aprender sobre emprendimiento, tecnología, capital de riesgo e innovación. ¿Cuáles son los mejores recursos para hacerlo?
- ¿Más recursos (dinero, maestros, instalaciones, infraestructura, libros, etc.) equivalen a más éxito?
- ¿Cuáles son los mejores recursos para aprender sobre la gamificación en 2016?
Desventajas : difícil hacer cualquier cosa, pero preguntas muy específicas; difícil obtener retroalimentación sobre conceptos subjetivos como el estilo de código o el diseño arquitectónico; requiere una cantidad increíble de autodisciplina para mantenerse en el camino
Hay algunos recursos autoguiados que son buenos:
Gratis
– El famoso curso de Stanford en iTunes U ( Desarrollo de aplicaciones iOS 7 para iPhone y iPad ) es gratuito y altamente estructurado. Es completo y rápido. No es bueno para los principiantes de programación, pero podría ser bueno para el OP que tiene experiencia previa en programación basada en la web.
– La documentación de Apple es increíblemente completa, está bien escrita y es sorprendentemente sucinta. Comience con la programación orientada a objetos con Objective-C y salga de allí.
– Los tutoriales de Ray Wenderlich para desarrolladores / jugadores de iPhone / iOS es un buen punto medio: tiene una estructura lineal como un curso, pero le permite concentrarse fácilmente en una habilidad como hacer una vista de mesa o un juego.
– NSHipster es un blog actualizado cada lunes con un breve artículo sobre algo relacionado con el desarrollo de iOS, generalmente una clase o sintaxis específica. Es humorístico, divertido e informativo.
Pagado
También hay algunas compañías de contenido autoguiado pagadas, pero el material gratuito es de una calidad tan alta que personalmente no creo que valga la pena pagar.
- Cursos Treehouse iOS
- Código de la escuela
Recursos de aprendizaje de uno a muchos (generalmente en persona)
Ventajas : trabajar con un profesor; Trabaja con otros estudiantes aprendiendo al mismo ritmo que tú.
Desventajas : es posible quedarse atrás (o acelerar) de la clase; necesidad de competir por el tiempo con los maestros / mentores; molestias de los desplazamientos; costoso; a menudo necesitas dejar tu trabajo; currículo no puede ser personalizado para su nivel de habilidad
Hay muchos lugares excelentes para tomar clases de iOS, que generalmente requieren de 40 a 60 horas a la semana de trabajo (incluida la tarea) y generalmente se llevan a cabo durante aproximadamente 10 semanas:
– En Chicago, Mobile Makers Academy ($ 9,000) ofrece un excelente programa en persona, que incluye no solo la programación sino también la práctica de ideas para lanzar, y ayuda con la colocación laboral.
– En Seattle, el acelerador de desarrollo de iOS de Code Fellows ($ 10,000) incluso ofrece una garantía de colocación laboral.
– En la ciudad de Nueva York, la escuela Flatiron ($ 12,000) tiene excelentes maestros y ayuda con la colocación laboral.
Servicios similares están disponibles en todo el mundo en las principales ciudades. Simplemente busca ” bootcamp de iOS” y probablemente encontrarás una buena opción.
Dado que el OP ya tiene habilidades de programación, también pueden estar interesados en cursos más cortos. Por ejemplo, Future Media Concepts ofrece una variedad de clases cortas (~ una semana) que le brindan una comprensión muy básica de Objective-C. Esto te ayudará a comenzar, pero obviamente no puede ser exhaustivo.
Recursos de aprendizaje uno a uno (generalmente en línea)
Ventajas : horario flexible; retroalimentación y guía de un mentor a medida que su aprendizaje crece; más barato que el aprendizaje en el aula (sin gastos generales de una ubicación física)
Desventajas : pérdida de potencial de redes (no hay grupos de estudiantes con los que mantenerse en contacto); horario flexible puede llevar a la dilación
Si se lo puede permitir, mi opinión es que el entrenamiento personal individual proporciona el mejor equilibrio entre costo y capacidad de aprendizaje.
Por lo general, hay un plan de estudios que puedes seguir a tu propio ritmo y Skype / ScreenHero / Google Hangout con un mentor una o dos veces por semana. Estas sesiones de tutoría se pueden adaptar a su nivel de habilidad.
Este es un ejemplo de esta personalización: al estudiar cadenas, los principiantes en la programación pueden hacer estas preguntas a su mentor:
– ¿Qué es una cuerda?
– ¿Qué es una subcadena?
– ¿Cuándo se usan las cadenas en las aplicaciones de iOS?
Un programador más avanzado podría preguntar:
– ¿Qué tipos de codificación se utilizan normalmente en el desarrollo de aplicaciones de iOS?
– ¿Cómo localizo mis cadenas entre diferentes localizaciones?
– ¿Cómo se almacena normalmente la información de formato sobre las cadenas?
Este tipo de personalización del currículo no es posible a un nivel profundo con capacitación de uno a muchos, y es totalmente desestructurado con aprendizaje autoguiado.
Bloc , donde trabajo, ofrece una experiencia inmersiva de tutoría individual con un plan de estudios estructurado pero flexible. Hacia el final, también hay una experiencia de “proyecto” en la que su mentor desempeña el papel de un desarrollador senior, y lo guía a medida que construye una variedad de aplicaciones iOS desde cero, utilizando algunas tecnologías diferentes, incluidas Objective-C y Swift. . Al final de la experiencia Bloc, habrás creado un puñado de aplicaciones iOS diferentes, y deberías estar preparado para realizar un trabajo de desarrollador de iOS de nivel de entrada (o posiblemente más alto si ya entras con algunas opciones de programación). ).
Aquí hay una comparación de los servicios de mentoría uno a uno:
Cursos inmersivos:
(Por “inmersivo”, quiero decir tan completo como un campo de entrenamiento):
- El Bloque cuesta $ 4,999 por 450-500 horas de capacitación (más de 12, 18 o 36 semanas) que incluye un currículo riguroso e integrado y 36 reuniones de mentores
Cursos más ligeros:
- Pensativo es de $ 1,500 por 120-150 horas de capacitación (más de 12 semanas), incluido un plan de estudios básico y 12 reuniones de mentores
Tutoría sin acompañamiento del material del curso:
- HackHands es como Uber para tutoría, que ofrece tutoría en video a pedido a $ 1 / minuto
- AirPair es un mercado de mentores donde los mentores establecen su propia tarifa, desde $ 60 por hora hasta $ 300 por hora.
Hackhands y Airpair son diferentes de Bloc y Thinkful en que no ofrecen contenido o estructura para acompañar a la mentoría.
El programa de Thinkful es menos costoso, pero también mucho menos riguroso y menos holístico que el de Bloc. (Consulte Elección entre bloque o pensativo ; no voy a repetir todo aquí).
Asesoramiento general
Daré algunos consejos generales, aunque el OP no lo solicitó:
1. No te dejes abrumar.
Hay toneladas y toneladas de cosas que aprender dentro del desarrollo de iOS. Podría escribir un libro completo sobre el almacenamiento de datos en el disco, la animación, la conexión a un servicio web o las innumerables cosas que hace como desarrollador de iOS. Comience por aprender de manera amplia, luego profundice cuando encuentre la necesidad de hacerlo. Si algo es totalmente confuso para usted, escriba sus preguntas específicas al respecto y discútalas con un mentor. Lo que me lleva al # 2 …
2. Aprende a hacer preguntas específicas.
Lea la guía de Stack Overflow para hacer una buena pregunta. Cuanto más específico sea, más útil será la respuesta que reciba. Además, el proceso de escribir una buena pregunta específica a veces puede llevarlo a una respuesta por sí mismo.
3. Siga un currículo o trabaje en un producto real.
Hay una gran variedad y profundidad de cosas posibles para aprender, y su tiempo es finito. Si no tiene un problema que resolver, es imposible decidir qué aprender a continuación. Trabaje con un plan de estudios, por lo que siempre hay un paso siguiente, o, si no, que trabaje en un producto, siempre hay una característica que implementar o un error que corregir.