5 votos

Utilizar un Mac mini como servidor de construcción remoto para un juego de iOS

Otras cinco personas y yo estamos desarrollando un juego para iOS usando ARKit. Tengo un MacBook que utilizo para mí, y un Mac mini en casa que podría actuar como servidor de construcción remoto.

Ahora, sería bastante fácil para ellos editar los archivos swift del proyecto, subirlos a mi máquina y hacer que construya el proyecto por ellos. O incluso sólo empujarlos a nuestro repositorio git que ejecuta todas las pruebas con TravisCI.

Creo que esa es una solución realmente insuficiente, ya que se perderían todas las características útiles de un IDE moderno. Es mucho más fácil cuando tus herramientas te dicen inmediatamente que estás haciendo algo estúpido, en lugar de escribir un montón de código sólo para que no compile al final.

Me puse a buscar y encontré esto: http://dringend.cc

Algo así sería probablemente ideal, pero por desgracia sólo está disponible para iOS, y necesitarían una aplicación para Windows o Linux.

Cosas que he pensado en usar:

  • Usar Steam o algo para transmitir todo el escritorio (VNC es demasiado lento) para que puedan usar Xcode. Podría funcionar, pero podría ser escaso dependiendo de la conexión a Internet. Además, no es compatible con múltiples usuarios, obviamente, e incluso si lo hiciera, todavía sería un dolor para gestionar múltiples usuarios de git.
  • Algo así como https://www.macincloud.com para cada uno de ellos, pero podría resultar caro. Lo ideal sería no tener que gastar dinero.
  • Comprar Macs - no es una opción.

¿Existe algún tipo de IDE que permita analizar el código y ejecutar el código de forma remota y ver el resultado localmente? Sé que CLion soporta Swift, pero no funcionaría realmente cuando intentas importar UIKit y etc.


Sé que trabajar en torno a tener que conseguir Macs resulta en una experiencia de mierda en general, pero esto es algo que estamos haciendo como parte de nuestro curso universitario. Tenemos la esperanza de ponerlo en la App Store (por eso elegimos iOS), pero no es un proyecto comercial de ninguna manera - y como tal no hay fondos disponibles para comprar Macs.

Tenía la esperanza de poder idear una solución elegante para esto, pero tal vez hacer que ejecuten una VM lenta sería nuestra única opción algo aceptable.

0 votos

Siento llevar la contraria, pero tu condición de no Mac no es razonable en 2017. No digo que ningún equipo pueda desarrollar sin mac, pero los equipos que pueden ya tienen suficiente experiencia para hacer su propio IDE y herramientas.

6voto

Oskar Puntos 1242

Mi recomendación es que ejecutes Xcode 9 en tu mini y luego consigas un Mac usado para el resto de colaboradores. Ellos pueden conectarse al servidor de construcción en iOS 9 y, o bien utilizar Xcode ellos mismos o Screen Share como la segunda cuenta cada Mac permite totalmente compatible.

Desperdiciarás mucho más esfuerzo, sufrirás un código de baja calidad y retrasarás el trabajo en torno a los problemas de las herramientas de lo que ganarás si no financias a tu equipo de desarrollo con herramientas que funcionen. Compre Macs rotos a precios de chatarra y arréglelos o cocine la cena e intercambie mano de obra con alguien que pueda reparar Macs. Haz todo lo que se te ocurra para que tu equipo pueda utilizar Xcode en MacOS.

Es como formar a dentistas a distancia sin más herramientas que los libros y luego esperar que actúen como parte de un equipo aún sin herramientas. Tus clientes no se dejarán engañar cuando vean los resultados. Y lo que es peor, si tu aplicación para iOS va a la App Store, estás compitiendo con todos los equipos que han tenido financiación para 4 años de universidad, la mejor formación y herramientas.


Ahora bien, espero que se demuestre pronto que estoy equivocado. Creo que estamos a un año más o menos de que el servidor de Xcode sea lo suficientemente bueno para funcionar realmente como el servidor de construcción que João espera encontrar, pero en octubre de 2017 no están listos. El iPad debe ser un $250 solo, diseño, prueba, construir la máquina como parques infantiles swift madura. Una vez que se enganche a Xcode en la nube o se ejecute de forma remota, debería ser el juego para que Windows, Linux, iOS y Mac estén en algo más de igualdad para programar para iOS, ya que alguien podría invertir el esfuerzo de ingeniería inversa de las funciones de programación de Xcode remoto. Hoy en día, Mac tiene el privilegio de desarrollar para iOS y operar de otra manera pone a su equipo en una gran desventaja.

Para las opciones de programación de bajo coste, es posible que tengas que recurrir a Python o Swift sin los frameworks de iOS para mantener el presupuesto bajo para los despliegues de hardware 1:1 que podrías financiar con una beca o con el pago de un curso.

1 votos

Estoy completamente de acuerdo contigo, pero esto es algo que estamos haciendo como parte de nuestro curso universitario. Tenemos alguna esperanza de ponerlo en la App Store (por eso elegimos iOS), pero no es un proyecto comercial ni mucho menos, y como tal no hay fondos disponibles para los Mac. Tenía la esperanza de poder idear una solución elegante para esto, pero quizás hacer que ejecuten una VM lenta sería una opción.

1 votos

No puedo esperar hasta que developer.apple.com/swift/playgrounds y los iPads de bajo coste están saturando el ecosistema educativo. Eso o swift en Raspberry Pi el costo del hardware sería ideal como Circuito Python en placas de 10 dólares . Mis mejores deseos para todos los que se dedican a la educación y se las arreglan con escasos fondos y mentes ávidas @JoãoCanaverde

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X