Usa Android NDK per la portabilità con iOS?

2

Attualmente sto pianificando di implementare una piccola app di pittura usando OpenGL ES 1.1. Credo che questa domanda si applichi a qualsiasi progetto OpenGL ES. Sto iniziando lo sviluppo su Android e vorrei sapere se si consiglia di scrivere la logica di disegno (usando OpenGL) in C ++ con NDK in modo che sia più facile portarlo su iOS, o utilizzare l'API Java e essere bloccato su Android.

La ragione per cui la sto chiedendo è che ho visto opinioni contrastanti sul Web sull'uso dell'NDK (alcune persone dicono che è un ulteriore livello di complessità). Da quello che ho già visto, credo che dovrei andare con l'API Java poiché sto iniziando su Android e poi, se deciderò di andare su iOS, riscrivere la logica OpenGL in Objective-C o C ++. Questo dovrebbe essere abbastanza semplice poiché le chiamate sembrano essere le stesse in entrambe le lingue. Cosa pensi? Ho ragione?

    
posta J-F L-R 22.10.2012 - 01:14
fonte

1 risposta

1

Sì, NDK aggiungerà un livello di complessità. Ma probabilmente ne varrà la pena.

Se il tuo disegno è fatto in c ++, allora è meglio implementare il tuo modello anche in C ++. Questo ti dà meno codice da riscrivere per iOS e meno codice da mantenere.

Fortunatamente (in questo caso) OpenGL è una macchina a stati, quindi è abbastanza semplice impostare il contesto di rendering in java (essendo vicino al codice della GUI) e quindi passare il controllo a C ++ per le chiamate di disegno OpenGL effettive.

L'implementazione di un'interfaccia NDK (JNI) è piuttosto ripetitiva. Potrebbe sembrare brutto organizzare le tue prime tre classi o giù di lì. Dopodiché avrai il controllo completo ed è solo interfaccia e codice di digitazione.

    
risposta data 22.10.2012 - 07:39
fonte

Leggi altre domande sui tag