Compilación de código C++(XCode) para iOS y Android. ¿Es real?
(1)
Definitivamente puedes usar C ++ en iOS y Android. He escrito mis propios motores de juego para ambos.
Xcode es el IDE normal para iOS y admite de forma nativa el desarrollo "Objective-C ++" (el compilador es compatible con Objective-C y C++ ). Necesitará escribir una envoltura delgada en Objective-C para interactuar con el sistema operativo, pero puede escribir todo lo demás en C ++ si lo desea. Si descarga las herramientas de línea de comandos de Xcode, también puede compilar desde scripts.
Eclipse es el IDE habitual para Android y, si descarga el NDK , puede utilizar JNI para interactuar entre Java y C ++. Al igual que iOS, al menos necesitarás un contenedor de Java para interactuar con el sistema operativo.
Sin embargo, no está limitado a Eclipse y Xcode. Por ejemplo, podría usar emacs y / o emplear CMake para permitirle intentar y consolidar un poco la configuración del proyecto. Emacs es un IDE muy potente y flexible, pero tiene una curva de aprendizaje muy pronunciada y no muy sencillo de instalar. Si haces esto en Mac, recomendaría emacsformacosx e instalar ECB y autocomplete también. CMake es básicamente un sistema de compilación multiplataforma que le permite compilar muchos archivos de proyectos diferentes (Visual Studio, Xcode, Eclipse, etc.) a partir de un árbol fuente. Al igual que emacs, este es súper poderoso pero con una curva de aprendizaje bastante pronunciada. Si desea saltar de inmediato, es probable que desee comenzar con Xcode y Eclipse. Si está desarrollando en una PC, necesitaría una máquina virtual de Mac o un Hackintosh para usar Xcode y cygwin para usar el NDK para Android (los usuarios de Macbook Pro pueden divertirse de inmediato con poca molestia).
El desarrollo nativo de Android es definitivamente mucho más difícil. No solo tiene que lidiar con mucha más segmentación de dispositivos, sino que la depuración nativa no es muy sencilla. Debe ejecutar un servidor GDB en el dispositivo y conectarse con él para establecer puntos de interrupción y muchas personas lo hacen desde la línea de comandos. He oído que algunas personas han tenido éxito con Tegra Tools for Eclipse si desea un IDE basado en GUI.
Definitivamente recomendaría desarrollar en iOS primero, ya que tiene herramientas mucho más poderosas a su disposición desde el IDE. Puede rastrear fugas de memoria, código de perfil, establecer puntos de ruptura fácilmente;), etc. Una vez que desarrolle una función en el iOS, puede luchar con los archivos .mk y otras bondades del desarrollo nativo de Android.
Aquí hay información sobre los objetos principales y el ciclo de vida de iOS:
y para Android:
Mientras juegue bien con el sistema operativo y respete el ciclo de vida de la aplicación, podrá hacer llamadas a la lógica de C ++. Puede hacer esto directamente con iOS, pero con Android debe hacer las llamadas a través de JNI. Si encapsula los aspectos específicos de la plataforma, puede compartir la lógica de C ++ entre ambas plataformas.
Soy un gran defensor de C ++, pero la elección de su uso depende de la situación de estas plataformas. C ++ no es la opción popular para estas plataformas y, como tal, no encontrará tanta documentación (la suya la mayor parte del tiempo). La complejidad puede aumentar un poco si no está muy familiarizado con C ++ (¿Está familiarizado con RAII , los patrones de diseño , STL ?).
Aquí hay algunas situaciones donde puede tener sentido:
- Si necesita utilizar una biblioteca que fue creada en C / C ++
- Si desea crear su propio marco de trabajo de plataforma para sus aplicaciones o juegos
- Si está trabajando con aplicaciones críticas en tiempo real / rendimiento como juegos
No estoy diciendo que DEBES usar C ++ en estas situaciones, ya que muchas personas han desarrollado juegos en Objective-C. Solo digo que puede ser algo a tener en cuenta si necesita aprovechar al máximo el hardware o simplemente quiere algo más portátil.
Quiero intentar escribir y compilar código C ++ para dispositivos iOS y Android. He estado usando XCode por algún tiempo (estaba escribiendo código c ++ para MacOS y Windows). Así que quiero usar XCode para mis propósitos.
El problema es que no sé cómo compilar el código C ++ para dispositivos Android y para iPad / iPhone. Quiero usar la solución de plataforma cruzada para iOS y Android, pero no quiero usar marcos como Marmalade (c ++) u otros.
Es real o no? :) ¿Hay tutoriales u otros materiales útiles?