2010-12-27 6 views
12

In che modo Rhodes, Phonegap e Appcelerator sono in grado di acquisire Javascript o Ruby e compilarli in file binari per gli SDK delle app che normalmente richiedono la scrittura di app in Obj-C, Java e altri?Come funzionano i framework di sviluppo di app per dispositivi mobili multipiattaforma?

+0

Javascript è probabilmente nativo di molte piattaforme mobili mentre Ruby o C o Python devono essere convertiti su un livello elevato o su un livello di codice binario nella lingua dominante del sistema di destinazione (Obj-C, Java, ..). Potrebbe anche essere interpretato in qualche modo. Non mi chiedevo se tramite Jython potessi eseguire Python su Android, ad esempio. La stessa C può probabilmente essere compilata in modo nativo alle piattaforme hardware utilizzate, ma non ne so molto della comunicazione con Android/iOS. – Trilarion

risposta

3

PhoneGap utilizza il motore di rendering del browser predefinito e lo utilizza per visualizzare l'applicazione. Il javascript viene quindi gestito dalla parte nativa (compilata) del framework.

Appcelerator utilizza qualcosa di simile, ma compila l'intera applicazione se ricordo correttamente.

MoSync utilizza una configurazione un po 'simulata come javaME.

Rhodes usa il server locale. Lo usa per comunicare con il dispositivo.

+0

Rhodes usa un server locale, ovvero un piccolo server Ruby locale per il dispositivo mobile? – user94154

+1

Come risposta semplice: Sì – Erik

+1

Appcelerator non utilizza il browser del dispositivo (a meno che non lo desideri in particolare), utilizza i controlli nativi. –

2

Un interprete Javascript è incorporato nel motore del browser webkit e l'SDK iPhone/iOS offre un accesso sufficiente a questo interprete per eseguire quasi un'intera app scritta in Javascript, con solo un piccolo wrapper Objective C per iniziare.

Android supporta il codice macchina ARM nativo anche se l'NDK, quindi quasi qualsiasi linguaggio con un compilatore che può creare un binario ARM autonomo (ma richiede poco o nessun accesso al sistema operativo) può essere utilizzato come libreria e accessibile tramite NDK interfaccia da uno stub di app Java.

+0

Molto interessante. Sai come Rodi può passare da HTML + ERB a webkit Javascript ai binari Obj-C? – user94154

4

Jeff Haynie, cofondatore di Appcelerator, spiega come funziona Titanium Mobile here.

1

Ho creato un progetto open source http://propertycross.com che aiuta a selezionare un framework mobile multipiattaforma mostrando la stessa applicazione implementata con Sencha, Titanium, Xamarin e altro. Il progetto include anche dettagli su come funziona ogni struttura. Dovrebbe aiutarti a confrontare l'esperienza dell'utente finale, il codice, l'esperienza degli sviluppatori e il codice condiviso tra le varie opzioni.