¿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.

More Interesting

¿Cuál es la mejor manera de simular el sistema operativo que mata su aplicación en segundo plano?

¿Existen herramientas de encuestas en línea que permitan la comparación de imagen a imagen para encuestas?

¿Cuáles son las partes integrales que intervienen en el desarrollo de iOS que los principiantes generalmente no conocen o tienen problemas?

¿Qué funciona y qué no funciona para promocionar una aplicación de iPhone?

¿CoreML es solo para iOS o también para Mac?

¿Cómo puedo tener "alternar el Centro de control estilo pantalla completa" mientras sigo presentando la barra de estado?

¿Dónde puedo encontrar un desarrollador de iOS en Colorado para trabajar en una aplicación?

¿Cuál es el mejor enfoque para crear un controlador de barra de pestañas personalizado?

¿Desarrollar con Unity es mejor que desarrollar juegos de forma nativa en iOS?

¿Apple rechaza la aplicación PhoneGap si carga la URL remota?

¿Cuánto costaría desarrollar y mantener una aplicación de red social desde cero usando Swift en la plataforma iOS por su cuenta?

No tengo mucha experiencia en programación. Estoy tratando de aprender el desarrollo de iOS. Estoy luchando con GitHub? ¿Cómo puedo entender cómo trabajar con él?

¿Cuál es la mejor aplicación para iPhone de planificación social de dieta?

¿Cuál es la mejor manera de implementar anuncios de clic en un juego de iOS sin molestar a los jugadores?

¿La política de la tienda de aplicaciones de Apple tiene una posición clara (aceptar o rechazar) sobre el desbloqueo de funcionalidades adicionales en una aplicación mediante el escaneo del código QR?