2011-12-25 8 views
5

Ho trovato una risposta correlata qui: How do cross-platform mobile app development frameworks work?In che modo gli SDK C++ multipiattaforma mobili funzionano in genere?

ma stavo pensando di più su C++ cross-platform SDK di lavoro (ad esempio Corona, Marmalade, EdgeLib, etc.). Offrono la possibilità di esportare file binari per iOS e Android consentendo allo sviluppatore di utilizzare il codice C++. La mia ipotesi è elencata di seguito, ma si prega di correggere se ho sbagliato ovunque:

  1. L'utente scrive codice in C++.
  2. SDK ha un livello di interfaccia con funzioni C++ chiamate nel codice utente che richiede funzionalità specifiche del sistema operativo mobile. Questo livello di interfaccia è costituito dal codice richiesto per implementare la chiamata di funzione SDK nello specifico sistema operativo mobile (scritto in Java per Android e Obj-C per iOS).
  3. Parte I Sono molto confuso perché non ho molti punti esperienza di sviluppo mobile: iOS e Android hanno entrambi compilatori cross C++ che possono compilare il codice logico generale scritto in C++ nell'app dell'utente?

risposta

5

MoSync è un esempio di un C++ basato cross platform toolkit cellulare - questo uno inizia utilizzando l'origine compilatore GCC aperta per compilare codice dell'app C++ in un formato di assemblaggio simile. Uno strumento personalizzato di MoSync (chiamato "PipeTool") combina quindi questo formato di assieme con le librerie precompilate in vari formati di destinazione, tra cui java bytecode (per Android) o Objective-C source (per iOS). Maggiori dettagli su questo processo here.

La compilation finale sulla piattaforma di destinazione (Android o iOS) è lasciata a te, utilizzando l'IDE nativo (Xcode per iOS ed Eclipse IDE con Android SDK per Android). Quindi, per creare un'applicazione iOS, devi comunque essere un membro del programma di sviluppo Apple iOS (US $ 99 all'anno), ad esempio, mentre l'IDE Eclipse e l'SDK Android sono gratuiti.

L'esempio di Corona SDK non è completamente pertinente poiché Corona si integra nel formato binario nativo utilizzando i propri server di compilazione personalizzati nel cloud: ciò che accade non è completamente documentato come un toolkit a codice chiuso. Paghi un abbonamento annuale a Corona per poter creare app. Non sono sicuro degli altri che hai menzionato (Marmalade, EdgeLib, ecc.) Ma presumiamo che siano simili a MoSync.

4

Controlla codenameone.com - usano Java ma alla fine vengono compilati in C++ per iOS e Java per Android.

La differenza è che il loro ambiente include tutta la grafica e creano i controlli stessi in modo da ottenere una vera applicazione nativa con una sola base di codice.

Problemi correlati