I'm a Microsoft developer mainly, but there are a couple of small-ish projects I'd like to fiddle with which would benefit from being cross platform.

The platforms I want to target are: Windows, Linux, Mac, Android and preferably iPhone, web (running in a browser).

I need 3D (Around the level of support seen in something like Minecraft (I'm not writing Minecraft)), some networking.

I'm pretty certain Java would work on all except iPhone. Looking at the "related questions" above it's offered up QT (no browser or phone AFAIK) and also HTML/CSS/JavaScript (3D? package for desktop?)

The other alternative is to have separate versions for separate platforms, developed with some common code where possible. That option isn't something I know anything about.

Does anyone have experience of this sort of conundrum? I figured here was better than SO, because I imagine there are compromises which extend beyond technical choice.

Finally, this is not a commercial operation, so some of the very expensive cross platform tools are out of the question unless they offer some sort of community edition.

closed as off-topic by user22815, jwenting, Thomas Owens Mar 21 '17 at 14:43

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to find or recommend tools, libraries, programming languages, resources (including books, blogs, tutorials, and examples), or projects to undertake are off-topic here as they attract opinionated answers that won't have lasting value to others. You may be able to get help in The Whiteboard, our chat room." – Community, jwenting, Thomas Owens
If this question can be reworded to fit the rules in the help center, please edit the question.

  • You are mistaken about Qt not being available for phones. qt.nokia.com/products/qt-for-mobile-platforms and labs.qt.nokia.com/2011/02/28/necessitas – user16764 Mar 19 '11 at 18:54
  • If you are the only developer, I recommend you not to go for the cross platform approach. You will end up recreating the services provided by native platforms. Search for what dropbox did to make their app cross platform. They are successful, but it is clear it involves huge amount of work, requiring a large team. – rpattabi Mar 4 '15 at 12:43

How about C#?

It wouldn't be the cheapest approach due to some of the frameworks involved, but you could do C# on Windows, C# under Mono on Linux/Mac, C# on the Android through MonoDroid, C# on the iPhone through MonoTouch, and use one of the ASP.NET frameworks (MVC or webforms) for the web.

MonoTouch would be the most expensive part here. It sits at $400 for an individual license, although there is a student license available for $99. Mono itself is free and I believe MonoDroid is as well, although at the moment it requires VS2010 Pro or better on Windows.

  • +1 Basically the only non-common code you'd have would be the view for each. It may not be the cheapest, but if you're charging for your apps/service then this would be the best investment in the long run. – Ryan Hayes Mar 19 '11 at 14:10
  • You know I didn't think this was viable, but it is actually starting to look like a possibility. I will dig into the above. Thanks :) – Ian Mar 19 '11 at 18:47

Not the answer you're looking for? Browse other questions tagged or ask your own question.