• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1374
  • Last Modified:

Cross Platform Development

Hi,

Our company has been writing applications under .NET Framework and its working fine without problem. However, we cannot run .NET application anywhere else other than Windows machine.

We'd like to implement our future application in a programming language such that it can run on multiple operating system including Windows, Linux, Windows CE, MAC OSX, Android etc...

So my questions are
1. I'd like to know which development environment is better to do what I wish to do? Java or C++.
2. Is there any other programming language that'll be more suitable than Java and C++?
3. We need to program GUI application, is QT a good choice for cross-platform program?
4. QT works better with Java or C++?


I'm looking forward to everyone's experienced feedback.

Thanks
0
geoffryf
Asked:
geoffryf
  • 5
  • 5
  • 2
  • +1
2 Solutions
 
CEHJCommented:
>>However, we cannot run .NET application anywhere else other than Windows machine.

That's not actually the case. Normally you should be able to compile it with Mono and run it on Linux (at least)
0
 
geoffryfAuthor Commented:
Thank you for your feed back

However, Mono is a subset of .NET framework library. We already tried to use Mono and it didn't work because we're always using the latest .NET Framework library.

So that's why we're trying to stay away from .NET Framework.

Thanks
0
 
CEHJCommented:
Yes, Mono will probably always be somewhat behind the curve.

Qt is good for *natively* compiled code. It has no connection with Java. Java already *is* a cross-platform windowing toolkit (and more of course)
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
geoffryfAuthor Commented:
so i can't use QT for Java? That means i'll have to use QT with C++ right?  For some reason, i think QT GUI looks better than Java GUI.

So if we're going to use QT, do i just have to recompile it on different platform? or do I need to modify my C++ code for each machine?

Thanks
0
 
CEHJCommented:
>>so i can't use QT for Java? That means i'll have to use QT with C++ right?

Not normally, but there are ports:

http://en.wikipedia.org/wiki/Qt_Jambi

http://code.google.com/p/qt-java/

>>So if we're going to use QT, do i just have to recompile it on different platform? or do I need to modify my C++ code for each machine?

Pure windowing code should be completely portable. It's the non-windowing code that you need to be careful with
0
 
geoffryfAuthor Commented:
so, what's the better development environment you'd suggest?

C++ or Java?
0
 
CEHJCommented:
Better for what?
0
 
geoffryfAuthor Commented:
Better for the balance between cross-platform, performance and production speed
0
 
CEHJCommented:
For that, you're probably better off with Java
0
 
jkrCommented:
I'd ditch Qt for wxWidgets given the sheer licensing costs (wxWidgets is free). Java is a nice thing when it comes to cross platform development that has one big drawback - you have to ensure that a JVM is installed onthe target hosts that meets your requirements. And that can really turn out to be a problem. However, I would not recommend C/C++ over Java without knowing what your app actually does. A lot of things can be done equally nice with both, but also both have their strenghts and weaknesses. I.e. if you operate near the OS, C++ for sure has it's advantages, whereas if you were to write a DB frontend, probably both would work well.
0
 
irfan_omairCommented:
Our company has been writing applications under .NET Framework and its working fine without problem. However, we cannot run .NET application anywhere else other than Windows machine.

This is very True, Even If you run it partially using MONO it will never have native look&Feel and most importatantly how will you run it on Embedded Device where Windowing system of MS will not be there. and apart from that You will have to have Heavy .Net stuff on your machine.

We'd like to implement our future application in a programming language such that it can run on multiple operating system including Windows, Linux, Windows CE, MAC OSX, Android etc...

BEST  I CAN THINK OF IS JAVA, But wait Java has its own problem JVM and you need to have JVM on all device, which is again not good option, apart from that On java GUI is considered Substandard GUI specially when you talk about DECLARATIVE UI. and Over all JAVA performance is slow in comparision with C++.


So my questions are
1. I'd like to know which development environment is better to do what I wish to do? Java or C++.
If you consider my above little explanation then in my openion C++ with Qt is best.

2. Is there any other programming language that'll be more suitable than Java and C++?
Not that I know of, GTK is there but far behind than Qt.

3. We need to program GUI application, is QT a good choice for cross-platform program?
Not GOOD, it is BEST choice for Cross platform. But the problem is You will have to compile it for every plateform once.

4. QT works better with Java or C++?
Qt Is C++ Library you can use Qt from Java as native call but you can understand since it c++ library which one is better.

If you got to Qt web site http://qt.nokia.com/ you will find hell of the document why you should use Qt and so many success Story.

Hope this will help you decide what is better.
0
 
geoffryfAuthor Commented:
I guess for the long run better go with c++ and qt. Compile it once on every platform is acceptable.

Thank you all
0
 
irfan_omairCommented:
geoffryf:

I promise you, you wont be disappointed I am in Qt since last 6 year, what we do is simply write our project in MS Visual studio ( I still blv this is bes IDE though Qt Creator is very competitive with MSVS) and copy the code at the end on target device and run build script. our application is ready for all other plateform.

More over if you know Qt works on almost all mobile phone ( except for Iphone) I blv this is going to be future best Application Framework.
0
 
jkrCommented:
Thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 5
  • 5
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now