¿Cuáles son los mejores recursos para aprender a desarrollar iOS? Estoy buscando aprender Swift, Objective-C, y Cocoa.

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

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.

Aprendí todo lo que necesitaba saber inicialmente sobre el desarrollo de iOS a partir de los videos Stanford CS 193P y los videos de la WWDC más reciente.

Consejos para los videos de CS 193P:

  • Solo mira los primeros 2-3 videos sin construir nada por ti mismo
  • Luego comienza de nuevo y continúa con la construcción de una aplicación de pasatiempo simple que es más divertida que la aplicación aburrida que el profesor está creando
  • Siga viendo los videos en orden a medida que tenga tiempo, pero comience a saltar a las partes que contienen lo que necesita saber
  • Descargue las diapositivas como PDF siempre que pueda, hace que sea más fácil saltar y usar ejemplos de código
  • No es necesario que dibuje y use drawRect: por mucho que el profesor lo desee, usar subvistas o subcapas para crear formas simples probablemente será mucho más fácil al principio
  • Probablemente deba ver los primeros 7 antes de comenzar a controlar realmente las herramientas clave que necesitará para crear una aplicación, pero ciertamente puede comenzar a piratear algo mucho más rápido.

Consejos para los videos de la WWDC:

  • Espere que la mayoría de ellos no sean útiles desde una perspectiva de aprendizaje inicial
  • Aunque algunos son realmente útiles debido al código de muestra en las diapositivas, recuerdo que el video de Core Animation y las diapositivas son especialmente útiles
  • Comprender UIKit Rendering from 2011 es realmente útil para entender cómo trabajar con vistas, capas, diseño y renderizado
  • Así son las sesiones de UIScrollView, tal vez comiencen con 2011 y continúen hasta hoy, también la sesión más entretenida de la WWDC con diferencia
  • También eche un vistazo al código de muestra de Apple cuando esté atascado en una API particular para su uso
  • Recuerde hacer clic en el nombre de un método en Xcode para ver sus argumentos o ir a la página de documentos

Espere que estas partes del desarrollo de iOS sean las más difíciles:

  • Comprender los protocolos y los delegados (no intentes pasar por alto esta sección de los videos de CS 193P o te confundirás más adelante)
  • Averiguar dónde colocar el código (voy a publicar algunos consejos generales a continuación)
  • Administración de memoria (con ARC es bastante simple ahora, solo intente comprender la diferencia entre referencias fuertes / débiles, desconfíe un poco de los bloques y, finalmente, aprenda cómo usar los instrumentos de asignación / fuga)

Dónde poner el código

Algunos consejos realmente generales sobre la organización del código:

  • Espere que su aplicación sea una especie de árbol de referencias desde AppDelegate a una instancia de clase (como un UIViewController principal), que tendrá referencias a otras instancias de clase (como UIView y otros UIViewControllers ), etc.
  • En un UIViewController , espera hacer la mayor parte de tu configuración en viewDidLoad
  • Al principio, probablemente puede hacer la mayor parte de lo que necesita hacer sin subclasificar UIView , a menos que necesite usar drawRect: o anular otros métodos UIView , usar una vista en lugar de un controlador de vista es principalmente organizativo
  • En una vista UIView , realice la mayor parte de su configuración (es decir, creación de subvistas) en init (guarde drawRect: para el dibujo real)
  • Si está tratando de crear un diseño más complejo, no se olvide de layoutSubviews para ajustar los marcos de subvista, etc.
  • Por ahora, con el sesgo de usar propiedades en lugar de ivars, puede crear una @interface privada si no desea exponer una propiedad a otras clases
  • Lea la documentación de la UIViewController de UIViewController . viewWillAppear , viewDidAppear viewWillAppear , viewDidAppear , viewWillDisappear y viewDidDisappear (todo sucinto y una vez que comience a hacer algo remotamente complejo, tendrá que anular estos métodos)

Datos persistentes

Debería considerar NSUserDefaults una buena alternativa a Core Data o SQLite si lo único que quiere hacer es conservar algunos objetos y no es necesario consultarlos (es decir, darme objetos donde …). Esto es lo que hacen los profesionales, y los valores predeterminados de los usuarios tienen la ventaja de ser mucho más fáciles de entender como principiantes. Es básicamente un diccionario persistente, o un almacén de valores clave. Para la recuperación de datos pura, Core Data y SQLite no son más rápidos que los valores predeterminados del usuario, todos se leen desde el disco.

“La mejor manera”

Una vez que llegue al punto en el que está empezando a preocuparse por el estilo del código, o si simplemente se pregunta cómo un programador experimentado podría hacer algo, me gusta la Guía de estilo NYTimes Objective-C.

El futuro

A medida que avanza, debe tratar de adquirir el hábito de hojear al menos la documentación de alto nivel para cada método que esté utilizando o anulando. A veces, la documentación lo hará conocer efectos secundarios sorprendentes o formas alternativas de hacer lo mismo que podría ser mejor para su caso de uso. Esta es la mejor manera de familiarizarse con Foundation y UIKit.

Una vez que esté aún más avanzado en su viaje de desarrollo de iOS, puede disfrutar de la lectura de NSHipster, un blog bastante entretenido que documenta las API útiles u olvidadas o las funciones de Obj-C.

1. Documentación de Apple – Descripción general de Swift

La documentación oficial de Apple siempre tiene una calidad excepcional , no hay diferencia aquí. Si eres un novato que quiere convertirse en un desarrollador de iOS, aquí encontrarás una excelente introducción al lenguaje de programación utilizado en la programación de iOS: Swift . También se familiarizará con las herramientas acompañadas: Xcode, Playgrounds y REPL.

Si tuviera que elegir solo un recurso de aprendizaje de esta publicación, seleccione esto y sumérjase en una documentación Swift masiva y oficial provista por Apple.

Swift – Desarrollador de Apple

2. Tutorial de Ry Objective-C

Si quieres aprender Objective-C (y como desarrollador de iOS, debes saber al menos lo básico), este es el mejor lugar para hacerlo.

Cubre algunos conocimientos previos a Objective-C (conceptos básicos de C), una introducción fácil a la programación de iOS en su conjunto (marcos, filosofía, Xcode, etc.) y al lenguaje en sí: funciones, clases, propiedades, métodos, protocolos, bloques. , gestión de memoria y muchos, muchos más.

Incluso si no quiere aprender Objective-C e ir al 100% de la manera Swift, aprenda este breve curso : es un muy buen punto de partida y conocer estos temas debería ser suficiente para que un desarrollador de Swift no se ahogue en el mar de Objective-C .

Tutorial de Objecty-C de Ry

3. AppCoda

Este es, de lejos, mi sitio favorito con tutoriales paso a paso de programación de iOS. Encontrará guías para muchos temas: cómo hacer aplicaciones, notificaciones, widgets, sugerencias y trucos de idiomas de Apple Watch, compras dentro de la aplicación, conceptos básicos de Core Data y muchos, muchos más. Todo esto se muestra paso a paso utilizando un lenguaje comprensible, ideal para principiantes.

Aprende la programación de iOS y crea una aplicación para iPhone

4. Ray Wenderlich

¡Una clásica! Probablemente sea el sitio de tutoriales más conocido en la comunidad de desarrolladores de iOS y sé por qué, porque es genial. Es más grande que AppCoda y tiene más autores, más contenido y más memes de Internet en sus artículos.

Tutoriales para desarrolladores y jugadores de iPhone / iOS

5. NSHipster

Increíble lugar para profundizar en temas específicos de cacao. ¿Quiere saber sobre el método swizzling, Swift literal convertibles, NSFileManager, iCloud o Clang diagnostics? Ve y lee todos los archivos, este es el sitio para ti.

NSHipster

6. Explorador de codificación

GRAN blog para aprender sobre el desarrollo de iOS, especialmente Swift: aprenderás junto con el autor, ya que él también está aprendiendo. El blog es nuevo y se actualiza regularmente, definitivamente agréguelo a su lector de RSS. Un montón de temas interesantes alrededor de Swift.

Coding Explorer Blog – Explorando cómo codificar para iOS en Swift y Objective-C

7. iOS Dev Weekly

Boletín semanal (probablemente el más popular) sobre el desarrollo de iOS: noticias importantes, tutoriales de desarrollo, herramientas, artículos de diseño y marketing, todo lo que necesita cada programador de iOS. Solo suscríbete.

Los mejores enlaces de desarrollo de iOS, todos los viernes.

8. Una mejor manera de aprender rápido

Si quieres aprender Swift desde cero y también te gustan los tutoriales estructurados, paso a paso con seguimiento de progreso, aquí tienes uno. Recorrerá el curso completo de Swift, desde la sintaxis y las variables básicas hasta los cierres, enumeraciones, clases, inicializadores y conceptos de programación funcional . Combine este curso con los documentos oficiales de Apple y se convertirá en un programador avanzado de Swift muy rápido.

El cacao es mi novia

9. ManiacDev

ManiacDev es un sitio web muy conocido en la comunidad de desarrolladores de iOS. Proporciona no solo tutoriales y cursos, sino también enlaces a las nuevas bibliotecas de código abierto, herramientas o controles de UI. Se actualiza muy a menudo y con muy buen contenido.

Librerías, controles, tutoriales, ejemplos y herramientas de desarrollo de aplicaciones iOS

10. Punto de tutoriales

Tutorials Point proporciona tutoriales de programación de iOS divididos en categorías únicas y específicas como administración de cámaras, acelerómetro, manejo de ubicación o guiones gráficos. Es bueno si quieres aprender algún nicho de programación específico.

Tutorial de iOS (iPhone, iPad)

Swift Tutorial

Tutorial de Objective-C

11. Natasha el robot

Natasha escribe principalmente en Swift y WatchKit, y si te interesan estos temas (¿a quién no?), Deberías leer su blog.

https://www.natashatherobot.com/

12. Tuts +

Tuts + es un excelente lugar para principiantes, no solo por los tutoriales fáciles de leer, sino también por los temas seleccionados. Cubren los conceptos básicos reales del desarrollo de iOS: crear la primera aplicación, los primeros pasos en Foundation y UIKit, cómo funciona la vista de tabla y muchos, muchos más.

Aprende el desarrollo de iOS SDK desde cero – Tutoriales Envato Tuts + Code

13. NSCookbook

NSCookbook proporciona recetas para resolver algunos problemas concretos para los desarrolladores de iOS.

Recetas

14. iOS-Blog

Otro gran blog de programación de iOS que cubre temas como Swift, integración de bibliotecas externas, envío de correos electrónicos, programación asíncrona y muchos más. Definitivamente, échale un vistazo, especialmente si eres fanático del diseño gráfico hermoso y plano.

Tutoriales, recursos y competencias de Objective-C / Swift para desarrolladores de iPhone

15. Usa tu pan

Gran blog de programación dirigido por un desarrollador de iOS, Mac y Ruby on Rails. Cómo crear un CocoaPod, cómo leer códigos QR, cómo escribir un Objective-C 2.0 efectivo y más. Muchos ejemplos prácticos de la vida real.

Usar su pan

16. SwiftForward

Este blog presenta publicaciones sobre Swift y el desarrollo de iOS.

https://swiftforward.wordpress.com/

17. SoSoSwift

Un buen recurso actualizado frecuentemente:

http://www.sososwift.com/

18. Hackeando con Swift.

Si estás dedicado, entonces ” Hackear con Swift es el mejor lugar para aprender Swift “.

Aprende a codificar aplicaciones para iPhone y iPad con tutoriales Swift 3 gratuitos

19. Hacer App Pie

Making App Pie es el blog de Steven Lipton en sus aventuras y desventuras en el desarrollo de aplicaciones para iPhone y iPad.

Hacer App Pie

En estos días es posible que cualquiera pueda desarrollar una aplicación para iOS, especialmente con la llegada de Swift; Se pueden encontrar excelentes recursos de aprendizaje en línea, pero la programación de iOS es un tema amplio, por lo que debe exponerse a los temas de interés y saber dónde comenzar.

Si no sabe cómo codificar, puede encontrar muchos excelentes recursos y tutoriales en línea. Si lo hace, necesita familiarizarse con las herramientas y directrices de desarrollo de Apple. La mejor manera de comenzar es con la guía para desarrolladores: aquí encontrará información sobre cómo crear su primera aplicación, junto con las herramientas que necesita, los conceptos y las mejores prácticas. Esto puede ser desalentador para aquellos que tienen poca o ninguna experiencia en programación, pero es bueno que se le presenten conceptos y conocimientos con los que no está familiarizado, ya que es más fácil entender qué y cómo debe seguir aprendiendo.

El desarrollo de iOS se realiza principalmente en Objective C y Swift, y el IDE (Entorno de Desarrollo Integrado) de Apple para las aplicaciones de iOS (y Mac) es Xcode, la interfaz gráfica, que es gratuita y se puede descargar desde el sitio de Apple. Si tiene una experiencia en programación en Java o c ++ y c #, y otro lenguaje orientado a objetos, es más fácil aplicar lo que ya sabe desde una plataforma y usarlo en otra. Ya sea que utilice Objective C o Swift, u otros idiomas, depende de usted. Sin embargo, si necesita más información, tutoriales o guías para cubrir los conceptos básicos, debe comenzar con los mejores recursos para aprender sobre el desarrollo de iOS. Hemos creado una lista de los mejores sitios y cursos para ayudarlo a comenzar.

Guía de inicio oficial de Apple: aquí encontrará toda la información sobre cómo configurar Xcode, sobre cómo estructurar su aplicación, cómo implementarla y finalmente enviarla a la tienda de aplicaciones.

Introducción a Swift: si eres nuevo en el desarrollo de iOS, este es un buen lugar para comenzar. También puedes echar un vistazo a Swift Essential Training en Lynda .

Videos de desarrollo de Apple: Apple proporciona excelentes recursos para aprender con el video de WWDC, ya sea sobre varias partes del desarrollo, trucos y consejos o herramientas básicas.

Cursos de Stanford: estas clases son probablemente los mejores cursos gratuitos en línea. Este año lanzaron nuevos cursos incluyendo el lenguaje de programación Swift. Las clases cubren el desarrollo de iOS 8, diseño de interfaces, animación, administración de energía y más.

Tutoriales de Ray Wenderlich: un excelente blog de aprendizaje con muchos tutoriales de alta calidad sobre programación. Abarca varios temas, pero puede aprender mucho sobre Objective-C y Swift.

Escuela de código: aquí puede encontrar los conceptos básicos del desarrollo de iOS y algunos buenos libros sobre diversos temas.

Creación de aplicaciones móviles: los podcasts que ofrece la Universidad de Harvard son un curso de introducción a la creación de aplicaciones móviles. El curso tiene doce conferencias que incluyen el desarrollo de iOS en múltiples dispositivos.

CocoaPods: el administrador de dependencias para proyectos Objective-C y Swift con miles de bibliotecas para ayudarlo a escalar su proyecto.

Diseño de grandes aplicaciones: Apple tiene un conjunto de pautas de diseño e interfaz; han recopilado excelentes charlas de WWDC sobre diseño que lo ayudarán a comenzar. Además, consulte la Guía de la interfaz humana de Apple para ver cómo hacer una aplicación bien diseñada y lo que Apple está buscando en el diseño y una guía para diseñar la interfaz en iOS 8.

API de Apple: es bueno estar familiarizado con diferentes API para que pueda integrar su aplicación con Apple Pay o HealthKit, y más. Apple tiene un conjunto de pautas de revisión, por lo que debe consultar las extensiones de aplicación, HealthKit, HomeKit y Apple Pay Guidelines.

objc.io – Una revista que cubre un tema en particular con un análisis en profundidad de los temas técnicos, las mejores prácticas y técnicas para el desarrollo de OS X y iOS.

NSHipster: un entretenido diario semanal que documenta las API útiles y pasadas por alto y las funciones de Objective-C.

GitHub: una herramienta de colaboración y un lugar para el trabajo colaborativo. Aquí puede compartir su código con más de siete millones de personas, invitar a los probadores beta a probar su aplicación, aprender a escribir mejor código y más. Es muy fácil vincular Xcode y hacerlo accesible a otras personas.

StackOverflow: siempre es bueno conectarse con las personas a través de una comunidad de programadores y el sitio técnico de preguntas y respuestas.

Ya sea que sea nuevo en la programación o en el desarrollo de iOS, debe comprender que la capacidad de aprendizaje se mejora considerablemente al combinar experiencias de aprendizaje. Todos aprenden de manera diferente y tienen su propio estilo de aprendizaje, pero cuando se trata de programar, aprender el mismo material leyendo, hablando y discutiendo con otros, viendo videos, codificando o tratando de codificar, o haciendo asignaciones es una buena manera de aprender.

IOS es uno de los sistemas operativos móviles más potentes del mundo. Está diseñado específicamente para ejecutarse en el hardware móvil de Apple. En la etapa inicial solo se usaba en iPhone. Pero hoy en día es compatible con muchos otros dispositivos de Apple, como iPod, iPad, Apple TV. La interfaz de usuario (IU) de iOS se basa en la manipulación directa como la IU de Android. IOS no es un código abierto, pero puede crearlos y venderlos en la App Store de Apple. El Objective C o XCode se utilizan para hacer aplicaciones iOS. El Kit de desarrollo de software (SDK) está disponible en el sitio web oficial de Apple y luego puede comenzar a desarrollar sus aplicaciones de iOS. Pero este SDK no es gratuito, debe comprarlos a un precio de US $ 99.00 por año. IOS tiene más del 21% de las acciones en el mercado de teléfonos inteligentes. A partir del informe de junio de 2014, hay más de 1,2 millones de aplicaciones iOS disponibles en la tienda de aplicaciones, ya que más de 60 mil millones de veces se descargan. Por lo tanto, ser un experto en el desarrollo de aplicaciones de iOS agregará un gran valor a su futuro.

Hoy le traemos algunos libros geniales para convertirse en un experto tanto en el desarrollo de aplicaciones iOS como en el diseño exclusivo de interfaces de usuario.

http: //

1. Programación de iOS: La guía de Big Nerd Ranch

Este libro es ideal para los arranques de iOS. Los autores de este libro, Joe Conway y Aaron Hillegass, explican a través de los conceptos esenciales, las herramientas y diversas tecnologías involucradas en el desarrollo de aplicaciones iOS. Utilizaron varias aplicaciones de iOS como ejemplo para explicar claramente todos los conceptos. Este libro recomienda que si desea una lectura detallada del Objetivo C, este libro no es para usted. Este es el libro de programación de iOS, no el libro de programación de Objective c, así que es mejor comenzar el desarrollo de iOS después de aprender Objecting C.

2. Programación en Objective-C.

Objective C se ha convertido en el lenguaje de programación estándar para el desarrollo de aplicaciones para las plataformas iOS y Mac OS x. Este libro proporciona una guía paso a paso completa para comprender todos los conceptos del lenguaje de programación de Objective C para el desarrollo de aplicaciones de iOS. Este libro cubre muchas características nuevas en la programación de Objective C introducida con Xcode 4.4 y Xcode 4.5. Realmente este libro es el mejor libro para quienes desean aprender el desarrollo de aplicaciones de Objective C para iOS y OS x.

3. Tapworthy: Diseñar excelentes aplicaciones para iPhone

Este libro es para diseñar la mejor experiencia de usuario excepcional para aplicaciones iOS. Este libro no le enseña cómo desarrollar aplicaciones con Objective C. Se desarrolló completamente para el diseño de aplicaciones. Enseña elementos de diseño y arte que se integran en una aplicación iOS realmente exitosa. Si tiene un concepto de aplicación único y la codificación para desarrollar la aplicación, este libro es importante para que diseñe su aplicación con una excelente Interfaz de usuario (UI).

Obtenga aquí otras reseñas de grandes libros: http://transuniv.blogspot.in

El desarrollo de iOS se ha vuelto mucho más fácil para un principiante de lo que era, por ejemplo, hace cuatro o cinco años, cuando Objective-C era la herramienta poderosa (sin embargo, un poco anticuada) para ser utilizada con fuerza.

¿Libros de terceros? Hmm … ya no son la opción más confiable para un principiante porque las nuevas API salen con cada versión de iOS y Swift sigue desaprobando muchas sintaxis amigables con el desarrollador con cada versión. Teniendo esto en cuenta, los libros tienden a quedarse un poco atrás Sin embargo, Apple publica oficialmente libros sobre el desarrollo de aplicaciones Swift e iOS que enseñan lo último y lo mejor.

  • El lenguaje de programación Swift (Swift 3.0.1) de Apple Inc. en iBooks
  • Empezar a desarrollar aplicaciones iOS (Swift): saltar a la derecha
  • Desarrollador de Apple

Estos fueron los recursos que me impulsaron al desarrollo de iOS. Con el tiempo, puedes trabajar en algunas APIs más avanzadas y de Objective-C como CoreGraphics o MetalKit (para lo cual, de nuevo, Apple proporciona recursos).

Para el diseño de la interfaz de usuario, a Apple le gustan las cosas a su manera, así que profundice en sus pautas de HI y se acostumbre a usar StackViews y haga el mejor uso de AutoLayout (¡el mayor ahorro de tiempo, nunca!)

  • Pautas de interfaz humana de iOS

Ahora, la mejor manera, en mi opinión, de aprender el desarrollo de aplicaciones hoy, es a través de MOOCs y Udemy parece ser el más ligero en el bolsillo, ¡aunque los tutoriales son simplemente brillantes!

  • Precio de marca | Android, iOS 10, Swift 3 y React Teacher | Udemy (Él es el mejor en explicar incluso esos conceptos terriblemente retorcidos)

El curso de iOS 10 con Swift 3 de Mark Price realmente me ha enseñado mucho y sugiero que cualquier principiante en el desarrollo de iOS tome el curso, ya que incluso cubre aspectos de control de versión / fuente, etc.

  • Learn iOS Programming and Build iPhone App es otra comunidad de iOS útil para ser parte de.

¡Todo lo mejor! 🙂

Aaron Brager escribió una muy buena respuesta en Desarrollo de iOS: ¿Cuáles son los mejores recursos para aprender sobre el desarrollo de iOS? .

He copiado en algunas partes relevantes a continuación:

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.

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 Nueva York , la escuela Flatiron ($ 12,000) tiene excelentes maestros y ayuda con la colocación laboral.

– En Nueva York , también hay Hacker School (Gratis), que tiene un modelo realmente innovador en el que no se paga nada y las empresas pagan para reclutar personal de la escuela.

En línea , hay Bloc. (Donde yo trabajo). Bloc ofrece una experiencia inmersiva de tutoría uno a uno 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). ).

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

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 red (aunque hay una comunidad en línea de alumnos y ex alumnos, no hay un reemplazo para la cercanía que obtendría al pasar 3 meses trabajando a tiempo completo junto con otros 40 alumnos). Aunque el programa está diseñado para crear la misma responsabilidad que un bootcamp, la programación flexible de Bloc puede llevar a la dilación.

Hola,

Si no conoce el desarrollo de la aplicación iOS, comience por el principio. Debes centrarte en C, C ++ y en Objective C. Si quieres continuar con la era actual, aprende Swift, que es el nuevo lenguaje introducido por Apple.

Una cosa más, no es necesario ser maestro en codificación, ya que con la ayuda de la plataforma de desarrollo de aplicaciones móviles como Phonegap, telerik, Configure.IT, etc., puede desarrollar una aplicación sin escribir una sola línea de código.

Soy un desarrollador de aplicaciones de iOS y siempre prefiero usar la plataforma de desarrollo de aplicaciones porque ahorra una gran cantidad de tiempo en el desarrollo. Son más útiles también en comparación con la codificación manual.

Según mi experiencia, le sugiero que comience con Configure.IT, ya que esta plataforma ofrece la función de arrastrar y soltar. Varias otras características de esta herramienta también me atraen mucho, como la codificación automática, la función de vista previa de la aplicación, la conexión Direct API, etc. Una cosa más, puede importar directamente su archivo .PSD para fines de la interfaz de usuario, no es necesario diseñar la interfaz de usuario manualmente.

Espero que mi respuesta te pueda ayudar. Gracias.

Gran pregunta

Respondo a un montón de preguntas como estas cada semana, así que comencé a compilar una gran lista de recursos que recomiendo. Algunos de estos son sobre Swift, pero cuando estos sitios web ofrecen recursos en Swift, a menudo también ofrecen materiales en Objective-C.

Hay un montón de buen material por ahí, y los he clasificado por estilo de aprendizaje.

Aprendiendo estilo
No olvide averiguar su estilo de aprendizaje antes de comenzar a aprender, podría ser que aprenda mejor leyendo, en lugar de mirar videos. La combinación de diferentes recursos hace que retengas más de lo que has aprendido, también lo hace:

  • Prueba de ejemplos de código, después de haber visto un video
  • Explicar un principio de codificación o solución a un amigo.
  • Repetir en voz alta si estás leyendo algo
  • Crear esquemas, dibujos, garabatos de lo que has aprendido (hago esto todo el tiempo)
  • Creando sus propias tareas, dándolas a un compañero y las revisamos juntas después

Usted aprende creando referencias al conocimiento en su mente (de otras maneras). Los puntos anteriores aumentan en gran medida su nivel de adopción (comprensión) y el tiempo (y detalle) que recuerda algo después de haber aprendido (retención).

¿Quién soy?
Soy un desarrollador de aplicaciones, profesor de aplicación convertido. Desde hace 6 años, desarrollo aplicaciones como freelancer para grandes marcas y startups, como Tommy Hilfiger, Philips y Heineken.

Desde hace un año, les enseño a otros cómo hacer sus propias aplicaciones, con buen material educativo y un montón de contenido gratuito. Aprendí el desarrollo de aplicaciones con una de las primeras ediciones de “Sams Teach Yourself in 24h”. Hace mucho tiempo atrás!

Puede encontrar mi curso sobre cómo crear sus propias aplicaciones en atLearnAppMaking.com.

Recuerdo claramente el tedioso proceso de encontrar un error que no entendía y buscar información en línea cuando no había ninguna disponible. Afortunadamente, hay una gran cantidad de recursos valiosos disponibles en línea en estos días.

¡Aquí va!

Leyendo

  • Desarrollo de aplicaciones iOS 8 en 24 horas, Sams Teach Yourself (6ª edición)
  • Programación para iOS: La guía de The Big Nerd Ranch (4ª edición)
  • Comenzando el desarrollo de iPhone con Swift: Explorando el SDK de iOS: (¡Apress tiene un montón de buenos libros!)

Videos

  • Programación Swift para principiantes para el desarrollo de iOS
  • Curso Stanford CS 193 sobre desarrollo de iPhone

Obra

  • Vaya a un encuentro práctico sobre desarrollo en su área: Meetup.com
  • Tutoriales impresionantes: Tutoriales para desarrolladores y jugadores de iPhone / iOS (Ray Wenderlich)
  • Reunirse con algunos amigos y tener un cerebro de programación

Escuchando

  • App Business Podcast – hablamos de publicación de aplicaciones móviles
  • Gone Mobile
  • CódigoNewbie

Que se discute

  • Discurso CodeNewbie (foro)
  • Aplicación de Emprendedores de Negocios en Facebook
  • Desarrollo de aplicaciones Mastermind en Facebook

Temas avanzados / Entendimiento más amplio

  • NSHipster
  • El cacao es mi novia
  • Cacao con amor
  • Entrevistas – Objc.io número 20

¡Buena suerte! Nunca dejes de aprender.

Reinder

Empezando con IOS

¿Qué es iOS? iOS es el sistema operativo móvil más avanzado del mundo, que redefine continuamente lo que las personas pueden hacer con un dispositivo móvil. Juntos, iOS SDK y Xcode IDE facilitan a los desarrolladores la creación de aplicaciones móviles revolucionarias. – Manzana

  1. Xcode es la herramienta que utilizamos para desarrollar aplicaciones. Están escritos en Objective-C y recientemente se introdujo un nuevo lenguaje en junio llamado Swift.
  2. Sketch es una herramienta de maqueta que yo y muchas startups como Foursquare y Medium usan. Es realmente fácil comenzar y tiene un montón de herramientas incorporadas para burlarse de sus aplicaciones. Enlazar
  3. Si desea pasar de una idea en su cabeza a obtener una aplicación en la tienda de aplicaciones, este libro: Principios de iOS 7 Desarrollo: Explorar el SDK de iOS es una de las mejores cosas que existen. Lo guiará a través del proceso de obtener su aplicación en las manos de las personas.
  4. BitFountain proporciona un excelente tutorial en línea de forma gratuita (generalmente 500 $). Al usar este enlace, también tienen un curso de iOS 8.
  5. La Universidad de Stanford ha publicado todas sus conferencias CS193p en línea. Si ya ha programado anteriormente, pero no en Objective-C, estas conferencias son una gran cosa para hacer. Enlazar
  6. Una herramienta llamada Git es lo que la mayoría de las grandes empresas utilizan para controlar la versión de sus aplicaciones. Herramientas como git permiten a los equipos colaborar en proyectos y revisar el código más fácilmente. Construir mejor el software, más específicamente juntos es la “codificación social”. Le permite almacenar su código en repositorios para que otras personas puedan construir y aprender de su código. kylry (kyle ryan)
  7. Para ver proyectos de muestra, Coco Controls es una biblioteca de proyectos de muestra de muy alta calidad. Si alguna vez desea realizar ingeniería inversa sobre lo que hacen otras personas, tome sus proyectos de muestra y juegue con ellos.
  8. Si necesita un backend para su aplicación pero no tiene experiencia, una herramienta llamada parse le permite integrar fácilmente un backend con su aplicación para que pueda concentrarse en el lado del cliente. Maneja inicio de sesión, registro y almacenamiento de datos. Es bastante impresionante

https://github.com/HackerCollect… Objective-Chttps: //github.com/HackerCollect…Swift
Programa en Swift, sin Mac

  • El blog veloz a través de Apple.

https://github.com/HackerCollect … Ejemplos de Github impresionantes

  1. Aprendiendo el desarrollo de iOS creando 100 aplicaciones en 100 días: Grant Timmerman
  2. Código para el tutorial Swift en jamesonquave.com: Grant Timmerman
  3. Implementación rápida de ave flappy. : FullStackio
  4. OpenStack Object Storage (Swift): OpenStack

https://github.com/HackerCollect … Recursos en línea

  1. Código de la escuela
  2. Team Treehouse

Todo esto y más se pueden encontrar, HackerCollective / resources, hechos por mí y por algunos otros.

LOS 10 MEJORES RECURSOS EN LÍNEA PARA APRENDER EL DESARROLLO DE LA APLICACIÓN IOS

IOS DEV CENTRE

El Centro de desarrollo de iOS oficial contiene toda la información que necesita sobre el desarrollo de aplicaciones. Hay información sobre todo, desde el diseño de aplicaciones, la experiencia del usuario e información sobre marcos. Necesitarás ser un miembro pagado del Programa de Desarrolladores de Apple para poder acceder a este recurso.

BLOG EDUMOBILE

Edumobile es un blog dedicado a tutoriales y guías sobre tecnología móvil. También ofrecen programas completos de aprendizaje de desarrollo de software que puede adquirir si está interesado en un programa empaquetado que le enseñe todo.

IPHONEDEVSDK

Más que un foro que cualquier otra cosa, el iPhoneDevSDK es un gran lugar para hacer preguntas y leer lo que otros tienen que decir. El enfoque principal del foro es el desarrollo y marketing de aplicaciones iOS, por lo que si necesita ayuda en alguno de estos temas, no dude en preguntar.

CASA DEL ÁRBOL

Treehouse ofrece excelentes cursos educativos que lo llevan de un principiante completo a un programador competente. Para una suscripción mensual, tiene acceso completo a todos sus cursos, que incluye un curso sobre desarrollo de aplicaciones de iOS.

TUTS MÓVILES +

Mobile Tuts + es parte de la red Envato, que se conoce como un gran recurso de desarrollo y diseño. Encontrará artículos y recursos para todo tipo de tecnología móvil y algunos específicos para el desarrollo de aplicaciones iOS.

LYNDA.COM

Lynda.com es uno de los recursos en línea más populares y completos para el aprendizaje. Online Video Tutorials & Training ofrece muchos cursos y módulos sobre el desarrollo de aplicaciones de iOS, incluido el desarrollo de iOS y la publicación de su aplicación. Se enorgullecen de ofrecer cursos de video de alta calidad y fáciles de aprender que bien valen el precio. Si hay algo que desea aprender con respecto al diseño / desarrollo, probablemente habrá un curso de Lynda.com para ello.

RAY WENDERLICH

Ray Wenderlich es nuestro recurso favorito de iOS en línea. Es un blog que tiene como objetivo proporcionar tutoriales de programación de alta calidad para desarrolladores y jugadores de iOS. Además de los tutoriales gratuitos que Ray publica, ofrecen tutoriales completos que cubren todos los aspectos del diseño y desarrollo de aplicaciones iOS. Han escrito una excelente publicación en el blog que proporciona una increíble lista de tutoriales y recursos para el desarrollo de aplicaciones iOS. Lo mejor del blog es la posibilidad de votar sobre el próximo tutorial que escribirán, lo que le permite aprender más sobre un determinado tema / técnica.

DESARROLLO DE APLICACIONES IPHONE – DONDE COMENZAR

Esta es una publicación increíble tomada de The Daleisphere, un blog dirigido por Dale Dietrich. Es el editor de la aplicación Fine Tip – Tip Calculator en la tienda iTunes Store. Aprenda de alguien que no solo tiene conocimientos teóricos sino también prácticos sobre el proceso de desarrollo de aplicaciones de iOS.

TUTORIALSPOINT – DESARROLLO DE APLICACIONES DE IOS

Tutorialspoint tiene un gran curso sobre desarrollo de aplicaciones iOS. El curso lo lleva desde el principio y proporciona ejemplos de codificación reales que puede utilizar para construir su propia aplicación. Un gran recurso y guía para aquellos que son nuevos en el desarrollo de aplicaciones.

Desarrollar su propia aplicación puede ser extremadamente gratificante, especialmente si puede publicarla en la tienda iTunes Store. Nunca es demasiado tarde para aprender, incluso si eres un principiante completo en la programación de iOS .

¡¡Buena suerte!!

Videos de la WWDC
Cuando piensa en las cosas que más lo ayudaron durante su proceso de aprendizaje, nuestro principal desarrollador de iOS dice que los videos de la Conferencia Mundial de Desarrolladores de Apple son una verdadera fuente de inspiración. Hace un tiempo escribimos un artículo sobre cómo los desarrolladores de iOS en Thinslices hacen un hábito de ver cada video y tratar de poner en práctica lo que se muestra. Se necesita mucha perseverancia para realmente hacer tiempo para ver un video por semana (durante las sesiones del Teatro iOS en la oficina) y hacer la parte de codificación unas cuantas horas / semana por su cuenta, pero una vez que se inicia el proceso, los beneficios son vale la pena.

Documentación de Apple y código de muestra.
Otro recurso valioso para aprender sobre el desarrollo de iOS es la Biblioteca de Apple disponible en línea. Hay prácticamente todo lo que un desarrollador necesita saber para abrirse camino a través de una aplicación de iOS desde cero: capas de medios, capas de servicios principales, capas de SO. La información se agrupa en 3 categorías: “temas”, “tipos de recursos” y “marcos”, cada uno de ellos cubre diferentes niveles de dificultad para áreas como la gestión de datos, gráficos y animaciones, idiomas o seguridad.
CAPTURA DE PANTALLA

Curso CS 193P de Stanford – Desarrollo de aplicaciones para iPhone
Una de las guías más completas sobre desarrollo de aplicaciones para iOS, el curso CS 193P de Stanford ofrece una amplia gama de recursos de aprendizaje, durante un período de 5 años (2009-2015). Las clases comienzan a un nivel básico, con información introductoria sobre la anatomía de una aplicación, vistas web o pruebas de unidad. Los principiantes se regocijarán, ya que cada conferencia incluye un extenso folleto, así como archivos de ejemplo e incluso tareas. Un recurso realmente sorprendente, de calibre académico que, además de todo, es gratuito.

Blogs específicos de iOS
Como en todos los dominios, el desarrollo también puede beneficiarse de la experiencia profesional compartida. La mayoría de las veces, los artículos vienen en formatos fáciles de leer que comparten una mezcla de experiencia personal e investigación extensa. Además, facilitan la interacción entre autores y lectores, lo que los hace aún más interesantes.

He estado compilando los recursos que solía aprender sobre el desarrollo de iOS desde hace un tiempo. Ahora que estoy enseñando un curso de iOS en Flatiron School, finalmente logré limpiarlo y sacarlo de una nota de evernote. Lo usaré principalmente para mis alumnos, pero el objetivo de la lista era hacer que te pongas al día y programes lo antes posible, y creo que un montón de personas lo encontrarán útil.

La lista completa es solo un simple archivo de rebajas en github, así que no dude en decirme que estoy equivocado al plantear un problema o agregar contenido mediante el envío de una solicitud de extracción.

iOS-TheGoodParts

El mayor problema al aprender iOS es simplemente la cantidad de información disponible, así como la cantidad de temas para investigar. En mi lista, ofrezco una lista bastante exhaustiva de recursos para cada tema, pero aquí están los temas que considero algunos de los más importantes. También recomiendo aprender estos temas en este orden.

Mi objetivo cada vez que estoy aprendiendo un nuevo tema es capas de calidad . Desde el primer tema, deberías poder escribir una aplicación simple. Con cada tema subsiguiente aprendido, deberías poder hacer que tu aplicación sea aún más impresionante. Realmente disfruto aprendiendo temas como este porque puedo obtener una gratificación inmediata por mis esfuerzos. La gratificación instantánea es la mejor

IOS básico
Aprende a hacer aplicaciones usando las herramientas de autogenerador de Xcode. Estas son cosas como los guiones gráficos y los generadores de Xcode como la plantilla de detalles maestros. Inevitablemente, esta será una aplicación que use un UITableView y luego algún tipo de vista detallada con algunos botones. Comprenda cómo funciona la conexión de elementos UI con las variables de instancia e IBActions.

C objetivo
El lenguaje de iOS. Puede escribir aplicaciones fácilmente sin familiarizarse con Objective-C, pero debería aprender algunas de las características básicas de Objective-C. Me aseguraría de que usted entienda la @property y cómo pasa el método. Al final, Objective-C es un lenguaje orientado a objetivos bastante estándar.

Principios orientados a objetos
Más o menos necesitas aprender y entender los patrones de delegado y protocolo. Los usarás constantemente. Todo lo demás es simplemente la guinda del pastel.

Datos básicos
Además de leer tutoriales / artículos sobre el tema, jugar con la plantilla Xcode de Core Data es una excelente manera de entender los conceptos básicos de Core Data. Core Data contiene una cantidad insana de clases y partes interconectadas, lo que hace que sea muy difícil ponerse en marcha. Mientras lee todo esto, recuerde que Core Data no es un ORM de base de datos.

Integración API
Juega con Helios.io porque es súper impresionante y te ayudará a comenzar a trabajar en red y al mundo increíblemente complejo de lidiar con eso en iOS. Eventually you’ll move onto integrating other SDKs (like foursquare, instagram, twitter, etc) but just start simple and move forward.

Ubicación del núcleo
This will be the first serious use of delegation. Really the two topics you need to understand are the MapKit view and the CLLocationManagerDelegate.

Mobile Design
This is a slightly nebulous topic. I’ve provided some good resources on my github project, but the most important thing to learn is to never. siempre. siempre. siempre. block the main UI thread. When you click something, the UI should always respond

Customizing UIKit
Customizing the UI really adds an air of professionalism to your app. The big UI elements to learn how to customize are the navigationbar, uitableviewcells, buttons and the new collection view cells. These are the bread and butter of iOS apps and everyone customizes them.

Hardware
iOS devices have a whole host of hardware to play with. To get going I would just focus on the camera/photo library. That’s probably the only hardware pieces you’ll end up using.

Core Animation
Pretty much the point of Core Animation is for the cool factor. That’s why I put it last in this list. I don’t find that animation really adds much in terms of “features” but I think it’s pretty cool and can be a lot of fun. The most important stuff to learn here when/how to use the transitions from UIView to UIView.

Basic iOS

Learn how to make applications using the autogenerator tools of Xcode. These are things like storyboards and the Xcode generators like the master-details template. Understanding Views, Outlets, and Actions covers the fundamental concepts of iPhone and iPad programming: outlets and actions. We can learn how outlets and actions allow our code to interact with the visual elements in Interface Builder . We can also learn about the various UI widgets known as views that make up the user interface of our application. We can also explore various View Controllers available in the iOS SDK through which we will learn how to develop different types of applications — Single View, Master-Detail, as well as Tabbed applications. We can learn about Displaying and Persisting Data Using the Maps ,Table View which is one of the most powerful views in the iOS SDK . The Table View is commonly used to display rows of data.We can implement search capability in table views. We can learn about the Database Storage Using SQLite covers the use of the embedded SQLite3 database library to store our data and Using Web Services teaches you how to consume web services from within our application. There are various ways to communicate with four web services — JSON, SOAP, HTTP GET, and HTTP POST.

The Web View

To load web pages from within your application, you can embed a web browser in our application through the use of a Web View (UIWebView). Using the Web View, we can send a request to load web content, which is very useful if we want to convert an existing web application into a native application (such as those written using Dashcode). All you need to do is embed all the HTML pages into your Supporting Files folder in your Xcode project and load the HTML pages into the Web View during runtime.

CREATING APPLICATION PREFERENCES

Creating application preferences for your iOS application is a relatively straightforward process. It involves adding a resource called the Settings Bundle to our project, configuring a property list file, and then deploying our application. When our application is deployed, the application preferences are automatically created in the Settings application.

File Handling

There are two available approaches for persisting data in our application so that we can access it later: saving the data as files or as a property list. We can learn how to bundle resources such as text files and database files with our application so that when the application is installed on the user’s device, the resources can be copied onto the local storage of the device and used from there. The Documents folder is where we can store files used by our application, whereas the Library folder stores the application-specific settings. It also contains snapshots of our application before its goes into the background so that they can be displayed later when they are returned to the foreground, giving the impression that our application is springing back to life instantly. The tmp folder stores temporary data required by our application.We can share files between applications.

Database Storage Using SQLite

As we continue on our iOS development journey, we will soon realize that your application needs a way to save data. For example, we may want to save the text that the user is entering into a text field, or, in an RSS application, the last item that the user has read.
For simple applications, we can write the data we want to persist to a text file. For more structured data, we can use a property list. For large and complex data, it is more efficient to store it using a database. The iOS comes with the SQLite3 database library, which we can use to store your data. With our data stored in a database, our application can populate a Table view or store a large amount of data in a structured manner.

Performing Simple Animation

the iPhone is not just for serious work; it is also a gaming platform.
We can have some fun creating something visual. We can learn how to perform some simple animations using a timer object .The NSTimer class creates timer objects, which enable us to call a method at a regular time interval. Using an NSTimer object, we can update the position of an image at regular time intervals, thereby creating the impression that it is being animated and then we can perform some transformations on a view which can make your applications come alive.

Programming Remote Notifications Using Apple Push Notification Services

One of the key limitations of iOS is its constraint on running applications in the background, which means that applications requiring a constant state of connectivity (such as social networking applications) cannot receive timely updates when the user switches to another application.
To overcome this limitation, Apple uses the Apple Push Notification service (APNs). The APNs enables our device to remain connected to Apple’s push notification server (PNS). When we want to send a push notification to an application installed on the users’ devices, we (the provider) can contact the APNs so that it can deliver a push message to the particular application installed on the intended device. So we can learn how to use the APNs to push messages to users who have installed your application.

Displaying Maps

. With the advent of mobile devices, users have become accustomed to having access to locale information at their fingertips. So we can learn how to use the Map Kit to give users that information quickly and easily. We can learn how to obtain the geographical position of our device using the Core Location Manager, and how to use this information to create a compelling iOS Location-Based Services application. The iOS SDK ships with the Map Kit framework, a set of libraries that work with the Google Mobile Maps Service. We can use the Map Kit to display maps within our iOS application, as well as to display your current location. In fact, we can enable the Map Kit to track our current location simply by setting a single property, and the Map Kit will then automatically display our current location as we move. Visit: Master Software Solutions | iOS8

So many terrific references abound! ¿Dónde empezar? I think I’ll focus on books first.

It goes without saying, as tempting as it is to read these in marathon sessions, I implore you to please pace yourself and run through the examples! The a-ha moments you’re sure to have are that much stronger.

That said/written, here are my top three faves of the moment:

iPhone Programming : The Big Nerd Ranch Guide . I’m going to go out on a limb and strongly suggest you start with this one. Similar in expositional style to the outstanding Accelerated C++ [full disclosure: I know the co-authors; yes I’m a li’l biased], Joe Conway and Aaron Hillegass have an inimitable way of steeping the reader in judiciously arranged bits of Objective-C, Cocoa Touch, and Cocoa Design Patterns. A joy to read.

Cocoa Design Patterns . Read this book by Erik Buck and Donald Yacktman next. This will be your (not so) secret weapon for tackling Cocoa best practices, as well as harnessing Apple’s Documentation to full effect.

iPhone App Development : The Missing Manual by Craig Hockenberry rounds out the trio, nurturing the business aspect of your now-burgeoning app development mindset.

More on books in a bit. On to my fave online hotspots:

Stack Overflow is an excellent resource, not to be missed. Use the iPhone and Cocoa-Touch tags when simply browsing:

http://stackoverflow.com/questio
http://stackoverflow.com/questio

Otherwise, search on the exact class name or (portion of a) method signature you’re interested in. (What’s a signature? Read the books – you’ll have that conquered in no time flat!) Chances are excellent someone has asked about it. If not, blaze a trail! They’re a helpful bunch over there.

If you’re part of Apple’s iOS Developer Program , you’ll have access to their Developer Forum. I know there are folks who regard this as hit or miss in terms of getting questions answered, but I happen to think it has improved in recent months.

Apple engineers are present on the Apple forums and at SO. Give them both a shot in equal parts and see what you think.

Then there’s this thing called Quora . I hear it’s … OK. 🙂

Bloggage is plentiful too. Look for the sites focused on Cocoa as well as Cocoa Touch. I like Cocoa with Love , Cocoa Dev Central , Cocoa Is My Girlfriend … oh, let’s just let the SO readers weigh in on the subject:

http://stackoverflow.com/questio

Back to the books! You want more books? One more round:

Beginning iPhone 4 Development: Exploring the iOS SDK by Dave Mark and Jeff LaMarche. Pair it with the soon-to-be-released More iPhone 4 Development: Further Explorations of the iOS SDK . (You can check out More iPhone 3 Development: Tackling iPhone SDK 3 in the meantime.) The iPhone 3 releases were actually my second and third purchases in my own quest for iOS development nirvana. The “More iPhone 3” book’s first half is devoted to Core Data and, to be blunt, is worth the price of admission several times over, and then some.

Programming in Objective-C by Stephen Kochan. One reviewer called it “the most lucid book on programming [they] have ever read.” They may have a point there.

The iOS Developer’s Cookbook by Erica Sadun. Right now you can get the second edition (substitute iPhone for iOS), but either way you can’t go wrong. Erica offers up a smorgasbord of code samples. Warning: This title is best enjoyed and appreciated once you have established a good foundation in Cocoa Design Patterns and Objective-C. Otherwise, your head may explode without warning (metaphorically – I speak from experience, as the First Edition was my initial iPhone development study purchase). Worth getting nonetheless!

Refactoring by Martin Fowler. OK, so at first glance this has nothing to do with iOS development. In the end, it has everything to do with it – or any software development, for that matter. I am often surprised how many I encounter have not heard of the concept, but they are always blown away once they check it out. (See? There’s that exploding metaphor again. Can’t escape it.) So I figure why not take a chance and mention it here, right? Disfrutar.

What do you mean by “iOS Development”?

Do you just mean dragging and dropping in a visual system, or actually learning how to program?

If you have never done any programming before of any kind, I would suggest that first, you learn HTML. HTML is not a programming language, it’s a markup language, but it will teach you the concept of arranging objects as data in a nested structure.

Then, learn CSS. Also not a programming language, but it will teach you the concept of assigning properties to objects.

Then, you learn JavaScript. It is a programming language, but it is VERY simple. WIth this you will learn how to create objects, modify objects, set properties of objects, and how objects can respond to user events, like touching, clicking, dragging, etc

At that point you understand the basis of modern programming- creating objects, putting properties on objects, and modifying those objects and properties based on user interactions.

After you can make something simple in JavaScript, you might realize JavaScript is all you need, and just stop there. You can make apps for iOS with JavaScript, plus they will be portable to just about every other platform too.

If you want to go for making more complex programs for just iOS and OSX, then you have to learn Swift. Swift is a true programming language, one of the newest ones, and is going to be the main focus of all Apple platform development from this point forward, with the exception of JavaScript.

Best resources for learning iOS development

Tips for Learning iOS development

Apple’s iPhone is one of the most popular smartphones available in the market with an endless scope for new application development. Semaphore software, one of the leading iPhone Apps Development Company offers top – notch iPhone Apps Development services starting right from making the conceptual design to Implementation, Upgrades & Maintenance. Our iPhone developers hold rich experience, design high standard apps and offer optimized solutions & appealing user interface that are intended to provide the best experience to Customers.

Why Semaphore for your Apple iPhone App Development?

  • Team of Dynamic & Expert iPhone App Developers
  • Top – Notch User Interface Designers
  • 100+ iOS Apps on Store
  • Track Record of 100% Approval on Apple Store
  • Consulting Approach
  • Prototyping & Wire Framing Services
  • Apple Development Guidelines Followed
  • Low Application Development Costs
  • Providing UAT (User Acceptance Test) Support
  • Extensive Support through Emails, Phone, Skype and Chat
  • Full Transparency Throughout Project
  • Source Code Security Using SVN Repository
  • Non-Disclosure Agreement to Protect Your Apps
  • Maintenance of Quality Standards
  • Exceptional Customized Services

Read Mobile App Development : http://mobile.semaphore-software

Read Iphone Application : Boost Your Brand Visibility through,Robust & High Quality iPhone Apps!!

Read Android Application : Get State-Of-The-Art Android Apps Developed by Semaphore’s Dexterous & Versatile Developers!!

I hope this information will help you to make phone application!

¡La mejor de las suertes!

The Stanford CS 193P courses are available as podcasts for free, each session lasts more than 20 hours. That’s a great place to start.

The original lectures were given by current or former Apple Software engineers : Evan Dolls, Alan Cannistraro and Josh Shaffer.
Here are the links to those lectures :
http://itunes.apple.com/WebObjec … (Spring 2009)
http://itunes.apple.com/itunes-u … (Winter 2010).

The current course (the one on iOS7) is given by Paul Hegarty
Developing iOS 7 Apps for iPhone and iPad

There are few ways to learn coding:

Aprender en línea:

Learning through some online course is always the best choice over offline course at any given day ( especially if you are living in India!).

Some websites Where you can look for good courses

  • Cursos en línea – Aprenda cualquier cosa, en su horario | Udemy
  • Tutoriales para desarrolladores y jugadores de iPhone / iOS
  • Learn Swift & iOS Programming by Doing
  • Design Code 2: Learn to design and code for iOS 11
  • Mainframe | Datos | Replicacion | Integración | Modernización | Migración | Sistemas abiertos | Software Treehouse
  • https://www.learncodeonline.in/
  • Lynda: Online Courses, Classes, Training, Tutorials.

Offline Course:

If you are from India, i seriously suggest not to waste money by joining Offline courses at your city! Its useless (when i said useless, i mean it!) .

Even though if u want to join some offline course. Few things to consider:

  • Take few classes to see whether u fit there or not.
  • Many students join offline courses. You need to make sure that you are actually able to understand what tutor is trying to say.
  • Reach out old students who joined there. (Don’t check those Website testimonials!) Reach out actual people.
  • After ticking all the boxes, then join that institute.

Few More:

  • If you are comfortable with learning from a book. Then look no further buy these books Mobile & Web App Development Books | Big Nerd Ranch .
  • iOS Auto Layout Demystified (2nd Edition) (Mobile Programming): Erica Sadun: 9780321967190: Amazon.com: Books (For Autolayout).

Now a days many coders are teaching in youtube and they also do offer few courses. Some Notable Channels are (in no particular order):

  • The Swift Guy
  • Jared davidson
  • Lets Build that App
  • CodeWithChris
  • Brian Advent

Recursos útiles:

  • How to be awesome Swift developer – iOS App Development – Medium
  • Apple Developer Documentation
  • Desbordamiento de pila: donde los desarrolladores aprenden, comparten y construyen carreras
  • nshipster.com
  • iosdevweekly.com
  • cocoawithlove.com
  • Never forget to watch those WWDC videos. They actually teach a lot!
  • Watch this video for better understanding of CocoaPods

My Suggestion:

Choose Online over Offline . Online courses are up to date.

¡Buena suerte!

The best resources for learing ios development

There are a few resources that are good:

Apple documentation :- Official Apple documentation has always outstanding quality — no difference here. If you are newbie who wants to become an iOS developer, here you will find a great introduction to the programming language used in iOS programming — Swift. Also you will get familiar with accompanied tools — Xcode, Playgrounds and REPL.

AppCoda:- This is by far my favorite site with step-by-step iOS programming tutorials. You will find there guides for many topics — making Apple Watch apps, notifications, widgets, language tips and tricks, In-App Purchases, Core Data basics and many, many more. All of this shown step by step using understanable language, ideal for beginners.

TurnToTech:- This is one of the best iOS coding classes for beginners, product managers, designers, those exploring software development, and developers looking to start iPad app development training. This course covers the fundamentals of the Swift programming language and iOS app development with an interactive, project-based curriculum. Students will be introduced to the some of the most popular features and frameworks of iOS development. Students will create small apps each week that demonstrate core iOS concepts. Students will also work on a more complex ongoing final project. Students who complete all the coursework, homework and final project will leave with a portfolio of more than 10 small apps and a final project. At the completion of the iOS development course, you will have developed a strong skill set with a focus on:

  • OS architecture
  • Fundamentals of UI/UX design on iOS (animation, user interaction, buttons, tabs, maps, etc.)
  • Data: Storing data in the cloud using Firebase as well as on the mobile device using Core Data.
  • Interacting with web services and APIs such as social networks and review sites
  • Creating your own web services using Firebase
  • Using iOS device features like camera and GPS
  • Relatively advanced topics such as security, app performance, asynchronous programming, design patterns, and testing.

Ray Wenderlich:- A classic one! It’s probably the most known tutorial site in the iOS developers community and I know why — because it’s great. It’s bigger than AppCoda and has more authors, more content and use more Internet memes in it’s articles!

NSScreencast:- Do you like weekly-delivered medium-sized portions of video content and by the way you want to learn some iOS development? Then I got something for you — it’s NSScreencast! It costs a few dollars per month (there are some free videos too, but not too many), so calculate if it’s worth your money.