Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Hopefully this won't be flagged for being too vague, but I'm really looking for suggestions from anyone with experience in this sort of situation.

I work for a group that develops very specialized engineering calculations for Intel x86 platforms.

We do not intend to continue using this existing x86 code. Instead, we would like to start a new code base capable of targeting both x86 PCs and iPad and/or Android tablets. Clearly the UI code will have to be maintained independently. But I suspect the backend engineering code, which we want to keep common, is possible to be shared among all platforms.

I would like to know if there are any development environments or techniques for simplifying this multiple-platform development with a common backend code base, or will it be necessary to develop this backend code for each platform independently as well.

Please let me know if you need any clarification!

Thanks

EDIT

For example, we would need to write a large amount of code in C. Is it true both the iOS SDK's objective-C compiler can build native iOS code using the (relatively) same C code we would use to build native windows code using MSVC? Mind you, the code would not need to rely on specialized OS-dependent facilities.

Are there any tools for assisting in this sort of cross-platform development that may require multiple compilers? or perhaps any individual compilers that can target both platforms?

share|improve this question
    
Do you have a performance issue here? That is, are the calculations CPU intensive, or are they just very specialized? I ask because if you've got a performance issue, you probably can't do a single code base. –  Michael Kohne Mar 2 '12 at 17:19
add comment

2 Answers

I would suggest you want to look at the Mono project which will lead you to C# that can run on Windows, Linux, iOS and Android. Actually on Apple too via Silverlight (for now at least). And in back of websites via ASP.NET... Oh and on the shiny new Win8 tablets when they arrive.

Specifically you want to visit http://xamarin.com - the tools you need are commercial, but you should win in productivity terms (given that you'll get help with the front end code too).

share|improve this answer
add comment

Build most of the application with HTML and JavaScript, with PhoneGap to produce a native app for each platform.

The cross platform development will be easiest if the important parts are all in HTML, but you do have the option of writing some methods in native code as may be required for performance.

If you set it up so that the native components are optional, you can do most of the debugging with a local browser - much easier than anything that requires installation to a device or an emulator.

share|improve this answer
    
PhoneGap looks great for creating a common UI among our platforms, but that isn't so much of a concern for this project. The UIs are very minimal. I'm looking for tools or techniques for targeting a common code base to native code for each of these platforms. –  ardnew Mar 2 '12 at 5:37
    
Although it is traditionally used for HTML manipulation, you can actually do a lot of backend stuff with JavaScript as well. There are some things it doesn't handle that well such as manipulating large amounts of binary data, but in general performance is quite good as long as you don't use Internet Explorer. –  Tom Clarkson Mar 2 '12 at 7:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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