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 | Java projects build and run locally on Windows | |
Cocoa | macOS | CrossBox 2 | Need a Mac to build and will debug remotely | |
Cocoa | iOS | CrossBox 2 | Need a Mac to build and will debug remotely | |
Cocoa | tvOS | CrossBox 2 | Need a Mac to build and will debug remotely | |
Island | Windows | local | local, CrossBox 2 | Build locally, debug locally or remotely |
Island | Linux | local | local, CrossBox 2 | Build locally, debug locally or remotely |
Island | Darwin | local/CB2 | CrossBox 2 | Build libraries and executables locally, but .app projects or code signing will need a CrossBox 2 connection to build; debug remotely |
Island | WebAssembly | local | local | Build and debug locally |
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 | 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 |
Island | WebAssembly | local | local | Build and debug locally |