Come sopra davvero,
Sto scrivendo un gioco basato su Android nel mio tempo libero (Android perché è gratuito e non ho vere aspirazioni a fare qualcosa di commerciale).
La logica di gioco deriva da un modello basato su componenti molto tipico in base al quale esistono entità con componenti collegati e messaggi inviati avanti e indietro per far accadere le cose.
Ovviamente il livello per l'esecuzione effettiva è sottile, e se dovessi scrivere una versione per iPhone di questa app, dovrei riscrivere il renderer e il driver principale (di questo sistema basato su componenti) in Obiettivo C.
Le entità sono solo file flat che determinano i nomi dei componenti da aggiungere, e i componenti stessi sono semplici oggetti monouso contenenti la logica per l'entità.
Ora, se scrivo tutta la logica per quei componenti in Java, allora dovrei riscriverli su Objective C se decido di fare una porta per iPhone. Dato che la maggior parte della logica dell'applicazione è contenuta all'interno di questi componenti, in un mondo ideale verrebbero scritti in un linguaggio / script / DSL indipendente dalla piattaforma che potrebbe quindi essere semplicemente caricato nell'app su qualsiasi piattaforma.
Sono stato indotto a credere, tuttavia, che questo non è un mondo ideale, e che le prestazioni di Lua ecc. Sui dispositivi mobili non sono ancora all'altezza, che l'overhead è eccessivo e che incontrerei problemi in seguito se hai seguito quella strada?
È davvero così? Ovviamente questa è solo una domanda ipotetica, sono felice di scriverli tutti in Java in quanto è semplice e facile far decollare le cose, ma dire che in realtà mi diverto a fare questo gioco (improbabile, dato quanto non mi piace attualmente dover affrontare con tutti quei diversi dispositivi mobili) e volevo realizzare un gioco commercialmente praticabile - avrei usato Lua o avrei semplicemente preso il colpo quando si trattava di porting e riscrivevo tutto il codice?