Cross-Platform Is Not Limited to Java

Blog Summary: (AI Summaries by Summarizes)
  • Java is a great cross-platform technology, but it may not always be the right choice.
  • QT from Nokia is a good cross-platform GUI framework that is LGPL licensed and feature-rich.
  • WxWidgets is another LGPL GUI framework that is highly recommended by others.
  • Ice from ZeroC is a cross-platform and cross-language communications framework that is especially useful for distributed applications.
  • Boost is a collection of high-quality cross-platform libraries that contain objects for dealing with different operating systems in an abstract manner.

Java is great way to make a cross-platform product. But for various reasons, Java may not be the right technology. Here are some technologies that might help.

QT from Nokia is a good cross-platform GUI framework. It is LGPL licensed. It is feature rich and comes with a lot of classes to make cross-platform programming easier. If you are used Java’s Swing, it will be similar. However, if you are used to sub-classing Swing elements, you will be looking for a different way to do things in QT. The heavy lifting of QT classes is private classes with the public classes and methods being more of an API into the private classes. The event model in QT slot/signal based.

WxWidgets is another LGPL GUI framework. I haven’t used it, but others speak highly of it.

Ice from ZeroC is a communications framework. It is not only cross-platform but cross-language. This allows a client program to be written in whatever language that Ice supports and the server can be written in a different language. This flexibility is especially nice for distributed applications. A client program could use a simple scripting language and the server could make use of a more robust compiled language.  They use an IDL to create the interfaces for the programs. Implementing the interfaces is quite simple and makes the client-server communication a breeze.

Boost is a collection of high quality cross-platform libraries. They contain a lot of the objects one needs to deal with different operating systems in an abstract manner, like the filesystem. Their smart pointer and threading libraries are useful.

.Net and Mono are another way to go. The same binary can be used for Windows, Linux and MacOSX. However, the user will need to have Mono installed and run the program with Mono.

This is not an exhaustive list, but it should give an idea of the alternatives to Java. These alternatives are not without their drawbacks. You will need to compile a binary(ies) for each target system. Java has the clear advantage in this with its bytecode and virtual machine.

Related Posts

zoomed in line graph photo

Data Teams Survey 2023 Follow-Up

Blog Summary: (AI Summaries by Summarizes)Many companies, regardless of size, are using data mesh as a methodology.Smaller companies may not necessarily need a data mesh

Laptop on a table showing a graph of data

Data Teams Survey 2023 Results

Blog Summary: (AI Summaries by Summarizes)A survey was conducted between January 24, 2023, and February 28, 2023, to gather data for the book “Data Teams”

Black and white photo of three corporate people discussing with a view of the city's buildings

Analysis of Confluent Buying Immerok

Blog Summary: (AI Summaries by Summarizes)Confluent has announced the acquisition of Immerok, which represents a significant shift in strategy for Confluent.The future of primarily ksqlDB

Tall modern buildings with the view of the ocean's horizon

Brief History of Data Engineering

Blog Summary: (AI Summaries by Summarizes)Google created MapReduce and GFS in 2004 for scalable systems.Apache Hadoop was created in 2005 by Doug Cutting based on

Big Data Institute horizontal logo

Independent Anniversary

Blog Summary: (AI Summaries by Summarizes)The author founded Big Data Institute eight years ago as an independent, big data consulting company.Independence allows for an unbiased