Home > Uncategorized > Cross-platform desktop development options: Introduction

Cross-platform desktop development options: Introduction

January 10th, 2010

Cross-platform development for desktop applications is becoming increasingly important. Chances are that your application user uses OS X, Windows, Linux or has a combination of these. For example – it is not uncommon for people to have a Windows based desktop and an OS X laptop.

In the recent years OS X platform really took off with the introduction of Intel based Macintosh computers. This makes the OS X platform hard to ignore.

As a developer – you have a few tough choices to make, but by far the toughest one is selecting the right development environment.

Wikipedia has a nice entry for “Cross-platform” which includes some of your development environment options

http://en.wikipedia.org/wiki/Cross-platform

We went through this “evaluation and selection” process recently and made sure we evaluated many cross-platform options carefully. Remember – once you commit to certain language or tool – it is very hard to change it later so make sure you weigh your options carefully.

Here is a list of more interesting options we have evaluated in no particular order

  • Object Pascal with Lazarus IDE
  • Object Pascal with Delphi IDE + wxForms on Windows + Free Pascal for OS X
  • Microsoft Visual Studio + C# on .NET platform, Mono on OS X/Linux
  • Java with Eclipse and NetBeans
  • wxWidgets and C++
  • Qt and C++
  • RealBASIC

I have to say that we come with a small baggage. We prefer Object Pascal over other languages evaluated here so we evaluated more options that would enable us to use that route.

As you can see – we evaluated many different languages. Object Pascal, C++, C#, Java and BASIC. While thinking about a certain language – think about libraries/SDKs that are available for that language. Certain GUI platforms have bindings for different languages – make sure you understand what is available before you commit. You do not want to be spending days writing a PushButton class on your own.

The process of selecting our tool of choice was tedious, but it definitely paid off. I will try to summarize the process, tool by tool and hopefully help you in making your decision.

 

Next:  Cross-platform desktop development options: Lazarus and other Object Pascal options

Categories: Uncategorized Tags:
Comments are closed.