Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cross Platform Desktop Application - Windows+Mac+Linux [closed]

Tags:

I'm building an application for multiple desktop platforms: Windows, Mac, and maybe later for Linux.

I was wondering which programming language and IDE combination would be the best for me:

  1. Programming language need to be whether C# (preferred) or Java.
  2. Core libraries must be shared between all platforms, means all platforms must link to a single core library (by library I mean a list of classes and functions).
  3. Windows and Mac are in priority, Linux app is for future plannings.
  4. Design of the app is completely custom, it doesn't follow any guidelines of each platforms.

I'm stuck between these three solutions:

  1. Use Xamarin.Mac + Visual Studio for Windows and link the core classes between them.
  2. Use GTK# for the whole project and compile multiple builds for each platforms.
  3. Use Java for the whole project and compile multiple builds for each platforms.

For #2 and #3, I need an advice that which language is more suitable for me, considering the design of my application. I mean, which one has a better GUI building ability for my goal?

BTW GTK# uses different libraries for each platforms, so that should be an clutter for my core architecture, or not?!

like image 445
Hossain Alhaidari Avatar asked Jan 14 '14 08:01

Hossain Alhaidari


People also ask

Is Windows forms cross-platform?

It is released under the MIT License. With this release, Windows Forms has become available for projects targeting the . NET Core framework. However, the framework is still available only on the Windows platform, and Mono's incomplete implementation of Windows Forms remains the only cross-platform implementation.

What is cross-platform desktop applications?

Use a cross-platform framework. These types of frameworks allow you to develop software for multiple, different platforms using the same source code – no need to rewrite your application when you need to add new functionality or support for a new target platform.

What is XOJO?

What is Xojo? Xojo is a cross-platform development tool for creating and sharing apps for multiple platforms, including the desktop (macOS, Windows, Linux), the web, iOS, and Raspberry Pi.

What does XOJO compile to?

Xojo uses the LLVM compiler tools to compile your apps for the best possible performance. LLVM are the same compiler tools used by Apple with Swift and Objective-C. The framework is being updated to API 2.0 for a more modern design, standardized API calls and improved use of new technologies.


1 Answers

Three years later and Javascript is now also a strong contender in this debate.

There are multiple options within the space.

  • https://electron.atom.io/
  • https://github.com/nwjs/nw.js/

And others

Even Microsoft has shipped Visual Studio Code, the cross platform version of their development environment, which is written in Javascript.

What is the Visual Studio Code editor built on

The benefits include utilizing the many available web libraries, and building/using your web development skills.

like image 105
GrahamMc Avatar answered Sep 20 '22 19:09

GrahamMc