Mucha gente dice que puede programar en Windows y en iOS. ¿No funciona ningún sistema operativo para esto?

Cuando dicen que trabajan en iOS … probablemente mienten, o quieren decir que programan en OSX para iOS. Al menos si lo están haciendo “profesionalmente”.

El problema principal son las herramientas y las pruebas. Necesita el hardware y el sistema operativo para ejecutar los programas, al menos para la depuración y las pruebas en tiempo de ejecución. Dependiendo de la cadena de idioma / intérprete / VM / compilador que esté utilizando, podría ser posible hacer su codificación real en Linux.

Por ejemplo, muchos de mis programas DotNet están escritos principalmente en MonoDevelop que se ejecutan en Kubuntu, destinados a ejecutarse dentro de Windows. Pero eso se debe a que debido a Mono puedo ejecutarlos directamente en Linux de la misma manera que en Windows.

Si quieres hacer cosas para OSX / iOS, entonces el conjunto principal de idiomas es ObjectiveC y Swift. En cuyo caso, el IDE más adecuado es XCode, que se ejecuta en OSX. Podrías usar Xamarin Sudio (es decir, la variante comercial de MonoDevelop) para hacer cosas para iOS, pero no sería un código nativo. Probablemente pueda escribir el código en cualquier editor en Linux, y posiblemente incluso compilar de forma nativa para OSX / iOS, pero tendría que ejecutarlo en un dispositivo OSX / iOS / VM para depurar y probar.

Si está apuntando a la JVM (es decir, Java y sus hermanos), es bastante posible escribirlo en cualquier lugar. Aunque tiene algunas cosas no transferibles, especialmente en la interfaz de usuario y el sistema específico (como rutas y ubicaciones de configuración). Solo recuerde que Apple y JVM no son “compañeros” … por ejemplo, no es muy sencillo simplemente ejecutar su programa Java en iOS (hay formas, pero no tan sencillas como hacer clic y ejecutar).

Puede escribir aplicaciones multiplataforma en Windows para iOS. Por lo general, necesita una Mac para producir una compilación final para iOS, pero al menos utilizando algunas de las cadenas de herramientas disponibles (como PhoneGap), puede probar en un dispositivo real sin tener una Mac a mano.

En un momento, podría suscribirse a un servicio de compilación de PhoneGap y hacer que también hagan compilaciones de iOS para usted, pero no sé si aún lo hacen.