2011-02-01 10 views
11

Estoy codificando un juego para el iphone en el idioma ooc (un nuevo lenguaje que se compila en c) usando OpenGL. Realmente está yendo bien, y ooc es un lenguaje que realmente me gusta. Ahora acabo de enterarme de Vala y no entiendo muy bien lo que significa que confíe en GLib y GObject. He leído en otra pregunta que Vala depende de GTK, pero no creo que lo haga.¿Puedo codificar para iPhone en Vala?

La pregunta es: ¿Qué estoy haciendo con ooc, podría hacer lo mismo con Vala? ¿Puedo codificar en vala un juego OpenGL para iPhone? ¿Y puede ser el código vala usado desde c?

Gracias.

+0

¿Cómo está codificando para un iPhone? Todos los hilos que he leído sobre intentar codificar con otros lenguajes, o en Windows o Linux, vuelven a lo mismo: la única combinación que funciona es Objective C, Apple APIs y XCode en una Mac. – drekka

+0

También puede codificar en c o C++. Debería ajustar todas las llamadas a Apple API en c ya que se accede a la API desde el objetivo c. Dado que mi juego funciona en OpenGL, las únicas llamadas que tuve que envolver fueron para la creación de contexto y no mucho más. El resto puede estar en c. Ooc y vala compilan a c. Estoy en un mac. – Damian

+0

Una cosa que tendrá que tener en cuenta es el uso de cualquier módulo que se dirija a OpenGL de escritorio, porque muchas de las cosas que hacen allí no se transfieren a OpenGL ES. Debería escribir código que use esa API si desea que funcione en el iPhone. –

Respuesta

5

La orientación de objetos de Vala se implementa utilizando la biblioteca GObject, que es parte de GLib. Es posible usar Vala sin objetos, y por lo tanto no requiere GLib, pero no tiene mucho sentido.

En cualquier caso, para acceder a una biblioteca C desde Vala, alguien necesita haber escrito un enlace VAPI (ver Google) para esa biblioteca. Probablemente no haya ninguno para las API de Apple, por lo que tendrá que escribirlo usted mismo, si eso está permitido por el acuerdo de licencia de Apple.

+2

¿Y se puede compilar GLib para el iphone? – Damian

+0

@Damian, no sé. Sé más sobre Vala que sobre iOS. En cualquier caso, no es oficialmente compatible. – ptomato

+0

Con Apple, AFAIK, si no es oficialmente compatible con Apple, es probable que su aplicación no lo haga a través de la certificación. – uSeRnAmEhAhAhAhAhA

1

Puede encontrar la versión anterior del compilador nativo de vala y libgee para iOS en este repositorio: cydia.radare.org (la versión valac es 0.15, es muy antigua).

Es posible compile GLib for iOS, por lo que tener compilado el código vala no debería ser un problema. La verdadera dificultad aquí viene con las consolidaciones ya mencionadas, dudo que alguien ya tenga VAPI para iOS.