Si utilizo el curso de desarrollo rápido de iOS 8 de Stanford, ¿podré utilizar esos conocimientos 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 programar para iOS 8 y probablemente sabías hacerlo para las versiones anteriores. ¿Crees que tendrías que volver a aprender a programar para iOS 9?

Está claro que, al menos, no puede ser muy diferente, o Apple necesitaría que sus desarrolladores volvieran a aprender a 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 te deje obsoleto de ninguna manera. Simplemente te permite hacer las cosas de manera diferente.

Una cosa que tienen que permitir es que el código que escribiste para una aplicación en una versión anterior tiene que seguir funcionando en las nuevas, de lo contrario todas las aplicaciones tendrían que ser fuertemente reescritas cada vez que hubiera 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, sería capaz de ponerme al día bastante rápido.

Para ser honesto, ni siquiera estoy seguro de poder nombrar un solo cambio que haya tenido que hacer a causa de la salida de iOS 9.

Sí que cambian cosas algunas veces, pero siguen manteniendo el soporte para las antiguas APIs durante unas cuantas versiones para que la gente tenga tiempo de adaptarse.

Es sobre todo un proceso aditivo. Por ejemplo, en iOS 9 introdujeron la API de force touch, así que ahora también puedes tener interacciones con ese gesto. Creo que también en iOS 9 hicieron que las notificaciones fueran más accionables (pudiendo responder directamente sobre ellas y cosas así).

Los principales cambios que se me ocurren durante mi carrera en iOS son de iOS4 a 5, donde la forma de gestionar la memoria en el código pasó de ser manual a automática (por lo que si habías aprendido iOS4 simplemente sabrías más sobre la gestión de la memoria que alguien que empezó más tarde).

También alrededor de iOS6 o 7 introdujeron los storyboards (que se volvieron más potentes y funcionales a medida que salían nuevas versiones) que te permiten tener un gran archivo que contiene la mayor parte de la UI de tu aplicación y las transiciones de pantalla y demás. Todavía se pueden hacer las cosas de la manera antigua, es sólo que los storyboards se proporcionaron como una forma más fácil de hacer la interfaz de usuario y la navegación.

Alrededor de iOS6 o 7 también comenzaron a impulsar la adopción de la disposición automática que son algunas herramientas y APIs para gestionar 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 ocurrió alrededor de iOS8. Sin embargo, sigo utilizando Objective-C. Realmente no hay 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 o así para llegar a ser tan competente como lo soy usando Objective-C.

Así que, la respuesta corta es que sí, serías capaz de usar los conocimientos de iOS8 para escribir una aplicación de iOS9. Simplemente no importa tanto.