What exactly is cross-platform?

Like said before, Qt Creator is a cross-platform IDE (Integrated Development Environment). But what exactly does that mean. Cross-platform actually just means platform independent and a platform should be interpreted as an operating system. In essence, most popular programming language like c, c++ ,c# or java are cross-platform. Java is bit a stranger in this list. Java itself actually runs only on the Java Virtual Machine, but this virtual machine runs on most platforms.
So simple compiled c or c++ code will run on multiple platforms but every decent application will need to do some interaction with the OS (operating system) for showing the GUI as example. These interactions differ from OS to OS, so a choice has to be made for which OS an application is developed.  If you would ask somebody eight years ago an IDE to develop an application most heard answer was probably Visual Studio. It’s an IDE to develop applications for Windows. It was a logic choice considering more than 95% of pc users was a Windows user[1]. Nowadays this share almost decreased to 85%  and with the prospect that Apple might become the largest computer manufacturer of 2012 this share will continue to decrease[2]. So it might be interesting to use a cross-platform IDE like QT Creator. QT Creator exists in a version for Windows, Linux and Mac OS X. Not only QT Creator itself is cross-platform, but also your projects made in QT Creator are Cross-platform. An application made in QT Creator for Mac OS X can be compiled to run on a windows machine or Mac OS X without even changing one line of code. This is called cross compiling.

This sounds off course very interesting, without any extra effort your application runs on multiple platforms. But it’s not all roses, let’s see next time why we all don’t use a cross-platform IDE.

Bavo

[1] http://www.w3schools.com/browsers/browsers_os.asp
[2] http://www.lefigaro.fr/societes/2011/11/29/04015-20111129ARTFIG00634-whitman-reconnait-qu-apple-pourrait-depasser-hp-en-2012.php

Advertisements

2 responses to “What exactly is cross-platform?

  1. Probably a stupid non-expert question, but isn’t it much more efficient to come up with a standard for communication between applications and OS that all OS should follow? Is this just technically impossible or is it bad will from the OS creators, or…?

    • Operating systems differ to much in the kernel, each creator follows its own vision. So to make a standard for communication between applications and OS, they would need to add another layer, so which would make the program less efficient. This is comparable to Java applications. Java applications run on a virtual OS on top of the real OS. Also something to think about, who would create the standard and how good or bad would other OS creators implement this standard. Look at HTML, how many times differs the look of a web page in different web browsers.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s