Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do cross-platform mobile app development frameworks work?

How are Rhodes, Phonegap, and Appcelerator able to take Javascript or Ruby, and compile them into binaries for app SDKs that normally require apps to be written in Obj-C, Java, and others?

like image 759
user94154 Avatar asked Dec 27 '10 05:12

user94154


4 Answers

Jeff Haynie, Appcelerator co-founder, explains how Titanium Mobile works here.

like image 84
jipiboily Avatar answered Oct 24 '22 09:10

jipiboily


Phonegap uses the default browser rendering engine, and uses that to display your application. The javascript is then handled by the native (compiled) part of the framework.

Appcelerator uses something simular, but compiles the whole application if i remember correctly.

MoSync uses a somewhat simular setup as javaME.

Rhodes uses local server. It uses this to communicate with the device.

like image 40
Erik Avatar answered Oct 24 '22 11:10

Erik


A Javascript interpreter is built into the webkit browser engine, and the iPhone/iOS SDK gives enough access to this interpreter to run nearly an entire app written in Javascript, with just a tiny Objective C wrapper to start things up.

Android supports native ARM machine code though the NDK, so nearly any language with a compiler that can create a stand-alone ARM binary (but requiring little to no OS access) can be used as a library and accessed via the NDK interface from a Java app stub.

like image 42
hotpaw2 Avatar answered Oct 24 '22 11:10

hotpaw2


I've created an open source project http://propertycross.com that helps select a cross-platform mobile framework by showing the same application implemented with Sencha, Titanium, Xamarin and more. The project also includes details of how each framework works. It should help you compare end-user experience, code, developer experience and code shared between the various options.

like image 42
ColinE Avatar answered Oct 24 '22 09:10

ColinE