Cross-platform software

eiffel

When we decide to change our desktop computer, it is in our interest to acquire a new one with the same operating system as the old one, because otherwise most of our software might not work on this new system or worse, might not have an equivalent.

For example, PaintShop Pro image editing software for Windows 7 cannot be run on the FreeBSD operating system.

In fact, there is very little software that can run unmodified on multiple platforms. But a software can be adapted by its author to several platforms and it can be considered as cross-platform although we are dealing with several different versions of the same software. We can cite MsWord or The Gimp as examples of cross-platform software.

Types of cross-platform software

Much software is compiled to native machine code and can only be executed on a given operating system, with the operating system running only on a certain type of machine. For them to be cross-platform, the designer must adapt and compile them on the different target platforms.

Other applications are interpreted and can run on multiple platforms as long as you have an interpreter installed on them. This is the case for applications written in Perl, Python, etc.

In a fairly recent development, software can be semi-interpreted, that is, compiled into intermediate code that can be interpreted. For example, software written in the Java language which, when compiled into Java "bytecode" machine code, can be executed on any platform on which the Java JRE runtime machine has been installed.

Many interpreted applications find their place in the Internet world as client-server applications. For these internet applications, all you need to do is have a fairly recent internet browser installed on your computer and connect to the address of the server hosting the application. These cross-platform software are also developed in the administrative, banking, cultural, distribution, industrial, logistics and health sectors, but do not have a very advanced user interface, cannot easily access all the functionalities of the customer's system and often present security and data privacy issues.

Creation of cross-platform software

Creating cross-platform software has never been easy for developers, especially if they need to target a large number of platforms. For good reason, the different platforms do not have the same basic libraries, nor the same interpreted languages. Let us add that development tools, including programming languages, can be imposed on developers.

For example, to create an application:

  1. on IOS we need the X Code development toolset and one of the two programming languages Objective-C or Swift
  2. on Windows, we are welcome to use Visual Studio and program in C# (or possibly C++ or Visual Basic)
  3. on Android we need to use Android Studio and program in Java or Kotlin

Thus, several programming languages may then be necessary to develop the same application.

To avoid learning multiple programming languages, some developers use cross-platform libraries (Qt, GTK, wxWidget…) but apart from the Qt library, others are less and less cross-platform.

Others use hybrid tools like Xamarin which allows, from code written in C#, to create native iOS, Android and Windows applications. Those who prefer JavaScript can use React or Apache Cordova to build iOS and Android mobile apps.

There are some programming languages programming languages like Haxe able to compile to different programming languages like C++, Java, C#, JavaScript etc.

Advantages and disadvantages of cross-platform software

Cross-platform software eliminates the need for the user to search for more or less equivalent software when switching platforms and to have to get started with other similar software but with different behavior.

The main advantage of cross-platform software is of course that it can be used on multiple platforms.

This allows users to not be dependent on a particular operating system and to avoid having to learn multiple software.

For example, if you have the same note-taking software on your computer with the Linux Mint distribution that you have at work, you will have no compatibility issues and you will be able to take your notes.

But in the case of paid software, it can get expensive since you may need to purchase different editions of the same software for each of your platforms.

On the other hand, when software depends on an execution machine (written in Java for example), there may be problems with the installation or version of the latter.

With regard to web applications which often require a subscription or which are affiliated with an advertising network, one must remain fairly vigilant about the seriousness of the application.

Very few people primarily use applications that exist on multiple platforms. The vast majority choose software based on their needs, quality or ergonomics.


RSS


Mail


Follow


Preferencesoft Website Privacy Policy