¿Es necesario tener una Mac para construir una aplicación con Swift? Si no, ¿cuáles son algunas alternativas?

¡Un gran SÍ!

Swift es un lenguaje de propósito general, que se compila en código objeto.

En Linux, puede compilar Swift en código objeto que se ejecutará como un ejecutable de Linux.

Pero para crear aplicaciones para iPhone también necesitas:

  • El código necesita una compilación cruzada con ejecutables ARM
  • El código debe vincularse a los marcos UIKit que son necesarios para el desarrollo de iPhone.
  • El código debe firmarse con las firmas apropiadas.
  • Las aplicaciones de iOS suelen utilizar los archivos de InterfaceBuilder (y otros elementos) que proporciona Xcode
  • El desarrollo de iOS también necesita un entorno de depuración que permita al desarrollador ver el dispositivo en ejecución y medir el rendimiento del código, etc.

Ninguno de estos elementos es parte del paquete de Linux o Windows, y es muy poco probable que lo sean. La motivación de Apple para hacer Swift de código abierto es desarrollar el lenguaje como un lenguaje del lado del servidor de primera clase. No fue para hacer la vida más fácil para aquellos que no quieren comprar una Mac.

No hay ninguna alternativa de Xcode para otras plataformas. No puede publicar aplicaciones usando Linux o Windows.

Hay Xamarin que también está disponible para Windows. En Xamarin puedes desarrollar aplicaciones para otra plataforma también. Pero no hay ninguna comparación de Xcode.

Si realmente quieres desarrollar aplicaciones para iOS, te recomendaré que compres una Mac. Merece la pena.