We want to write a client for an online service that should be available on as many platforms as possible. This question is about which programming language and framework we should use to create this client. These platforms are required: Linux, Mac, Windows, iOS (iPhone, iPod, iPad) and Android. The bigger, the better.
For mobile platforms, there is Titanium Mobile . I have not tried this thing yet, the website says that you can develop for both iOS and Android using web skills like Javascript. I do not yet know whether it is possible to deploy both platforms using the SAME code. It would be great!
There is also Titanium Desktop, but I do not like the idea that the complete source code is shared with the final application. Titanium also does this for mobile devices, but changing the application downloaded through the App Store is not so simple.
So, what other way to create an application that runs on at least three major desktop platforms? I thought C # with mono would be the way for you, but I just realized that you need to use mono with MonoMac to publish it to the Mac App Store and use things like Growl. And since MonoMac is naturally only available for Mac, it is again impossible to deploy a mono application on all platforms without rewriting it, at least for Mac. And it would be nice if the application looked "native" on all platforms. Gtk # just doesn't look good on a Mac. This is "good" on Windows and works fine on Linux.
I know that we could use Objective-C for iOS and Mac, Java for Android, C # .net for Windows and C # .mono for Linux, but the main thing is that we do not want to write the same application in different languages. This would make development and maintenance really difficult.
And we prefer C-style syntax languages that are much easier to learn for us PHP web developers. Btw: We don’t like Air, and I’m not sure about Java, since I never used it, but it also doesn’t look “native”, and it feels a little slow.
Edit:
. , , , . MonoMac, Gtk # Win Forums #? # ++, ++, , Qt.
: , Apple, . .