CrossBox

A CrossBox Server is used to facilitate building and debugging Elements projects on operating systems other than that used by the developer. For example, a developer working on Windows might want to debug a Mac or Linux app, or a developer working in Fire on Mac might want to run an application on a Windows or Linux host for debugging.

The new SSH-based CrossBox 2 system is used in all scenarios where a remote connection is needed. CrossBox 1 (which required a a dedicated CrossBox server app on the Mac) is deprecated and no longer required/used.

CrossBox 2

CrossBox 2 works via SSH and as of build .2295 is used for both Cocoa and Island projects, to run them remotely on Macs, Linux or Windows (from a Windows PC or a Mac). CrossBox 2 no longer requires running a custom app on the target machine, and instead uses SSH. (SSH is available on Linux and Mac by default, and can easily be installed on Windows, via OpenSSH.)

CrossBox in Water and Visual Studio

The following table shows how CrossBox is involved for various project types when working on Windows, whether in Water or Visual Studio (on Windows). Only Cocoa projects need a remote connection to build, all other platforms (including Island/Linux) build and link locally. For obvious reasons, Cocoa projects debug remotely. Island/Linux can debug locally, if Bash for Windows is installed, as well as remotely.

Platform SubPlatform Build Debug Comments
.NET local local .NET projects build and run locally on Windows
Java Plain local local Java projects build and run locally on Windows
Java Android local locally attached device Java projects build and run locally on Windows
Cocoa macOS CrossBox 2 CrossBox 2 Need a Mac to build and will debug remotely
Cocoa iOS CrossBox 2 CrossBox 2 Need a Mac to build and will debug remotely
Cocoa tvOS CrossBox 2 CrossBox 2 Need a Mac to build and will debug remotely
Island Windows local local Build and run locally
Island Linux local local, CrossBox 2 Build locally, debug locally or remotely
Island Darwin local CrossBox 2 Build locally, debug remotely

CrossBox in Fire

The following table shows how CrossBox is involved for various project types when working in Fire on a Mac. Here, all platforms (including Island/Linux and of course Cocoa) build and link locally, and only Island/Linux projects debug remotely.

Platform SubPlatform Build Debug Comments
.NET local local .NET projects build and run locally on Mac
Java Plain local local Java projects build and run locally on Mac
Java Android local locally attached device Java projects build locally on Mac
Cocoa macOS local local Cocoa apps build and run locally on Mac
Cocoa iOS local locally attached iOS device Cocoa apps build locally on Mac
Cocoa tvOS local locally attached Apple TV Cocoa apps build locally on Mac
Island Windows local CrossBox 2 Build locally, debug remotely
Island Linux local CrossBox 2 Build locally, debug remotely
Island Darwin local local, CrossBox 2 Build locally, debug locally or remotely