Si uso el curso de desarrollo rápido de iOS 8 de Stanford, ¿podré usar ese conocimiento para desarrollar aplicaciones de iOS 9, o es demasiado diferente?

Antes de darte una respuesta directa, piénsalo así.

Ya eres un desarrollador de iOS cuando sale iOS 9. Ya sabes cómo programar para iOS 8 y probablemente ya sabías cómo hacerlo para versiones anteriores. ¿Crees que tendrías que volver a aprender cómo codificar para iOS 9?

Está claro que al menos no puede ser muy diferente, o Apple necesitaría que sus desarrolladores vuelvan a aprender cómo hacerlo en cada iteración del sistema operativo.

En realidad, iOS cambia muy poco de una versión a otra. Hay algunos cambios importantes que se introducen de vez en cuando, pero nunca es algo que lo vuelva obsoleto de ninguna manera. Simplemente te permite hacer las cosas de manera diferente.

Una cosa que deben permitir es que el código que escribió para una aplicación en una versión anterior aún debe funcionar en las nuevas, de lo contrario, todas las aplicaciones tendrían que reescribirse cada vez que se realizara una actualización del sistema operativo.

He estado programando para iOS desde iOS4, y si hubiera entrado en coma o algo así en ese momento y me despertara hoy, podría acelerar rápidamente.

Para ser honesto, ni siquiera estoy seguro de poder nombrar un solo cambio que tuve que hacer debido al lanzamiento de iOS 9.

Algunas veces cambian las cosas, pero aún mantienen el soporte para las API antiguas para algunas versiones para que las personas tengan tiempo de adaptarse.

Es sobre todo un proceso aditivo. Por ejemplo, en iOS 9 introdujeron la API Force Touch, por lo que ahora también puedes tener interacciones con ese gesto. Creo que fue también en iOS 9 que hicieron que las notificaciones fueran más procesables (donde puedes responder directamente a ellas y cosas así).

Los principales cambios que puedo pensar que sucedieron durante mi carrera en iOS son de iOS4 a 5, donde la forma en que se gestiona la memoria en el código pasó de manual a automático (por lo que si hubiera aprendido iOS4, sabría más sobre la administración de memoria que alguien que comenzó más tarde).

También alrededor de iOS6 o 7 introdujeron guiones gráficos (que se volvieron más potentes y funcionales a medida que salían nuevas versiones) que le permiten tener un archivo grande que contiene la mayor parte de la interfaz de usuario de su aplicación y transiciones de pantalla y demás. Todavía podría hacer las cosas a la antigua usanza, es solo que los guiones gráficos se proporcionaron como una forma más fácil de usar para hacer la interfaz de usuario y la navegación.

Alrededor de iOS6 o 7 también comenzaron a impulsar la adopción del diseño automático, que son algunas herramientas y API para administrar el tamaño de los elementos de la interfaz de usuario, ya que introdujeron diferentes factores de forma para los iPhones.

Otro fue obviamente la introducción de SWIFT, que creo que sucedió alrededor de iOS8. Aunque todavía uso Objective-C. Realmente no hace mucha diferencia. Simplemente estoy acostumbrado a Objective-C y codifico mucho más rápido usándolo en lugar de SWIFT en el que necesitaría pasar unos cientos de horas más para ser tan competente como estoy usando Objective-C.

Entonces, la respuesta corta es , podría usar el conocimiento de iOS8 para escribir una aplicación iOS9. Simplemente no importa tanto.

Por favor no lo hagas. Su curso iOS 9 ya está disponible. Su tarea en la clase iOS 8 no se compilará con la última versión de Swift (que es lo que debería estar aprendiendo). Existen diferencias importantes entre las versiones de Swift utilizadas en cada curso que romperán la mayoría de las aplicaciones, si no todas, de alguna manera.

Ese ciertamente será el caso cuando Swift 3 salga a finales de este año. Por ejemplo, despídete de todos tus C-like para bucles. La versión de Swift presentada en el curso de iOS 9 es 2.2 y es un buen paso hacia Swift 3.0. Sin embargo, la versión de Swift cubierta en el curso de iOS 8 no lo es.