Elements supports four different development platforms.
Think of it not as "cross-platform development", but as truly and natively supporting each of these platforms as a first class citizen and development solution.
Learn more about each platform below:
“Echoes” is the name for Elements' support for the Microsoft Common Language Runtime (CLR), also often referred to as .NET.
Elements lets you write apps for all flavors of the CLR, from the standard .NET Framework, over the open source Mono and Xamarin platforms, to WinRT for Universal Windows apps, and even Silverlight. Of course Elements also supports ASP.NET for web development as well. This website itself is implemented in Oxygene using ASP.NET.
“Echoes” is our platform of choice for creating Windows apps, websites, and cross-platform servers and command line tools via Mono.
The “Cooper” platform encompasses Elements' ability to build apps for the Java Runtime (JVM) and Android.
This lets you build apps for every place that Java can run – from PCs to embedded devices – and of course includes extensive support for today's most relevant use of Java: creating native Android apps.
You have full access to the standard Java class library and (on Android) all the standard Android libraries. You can also seamlessly reuse any existing Java and Android libraries (
.aars) out there – from Google Services over third parties to open source components. And the executables you create will be pure cross-platform Java byte code.
“Cooper” is our platform of choice for creating Android apps.
Under the “Toffee” platform, Elements lets you build native apps for the Apple platform, via Cocoa. This encompasses iOS, macOS, tvOS and watchOS.
Elements lets you create apps for all four of Apple's platforms, using the native Cocoa APIs and compiling to CPU-native code for the respective platforms (64-bit Intel for macOS, and 32-bit and 64-bit for iOS and its siblings).
You have full access to the Cocoa class libraries, from Foundation up to AppKit/UIKit and all the frameworks Apple provides. And you can seamlessly reuse any existing Cocoa libraries out there – from third parties to open source, simply by importing their headers.
“Toffee” is our platform of choice for native apps for the Apple platform, including iOS, macOS and tvOS.
“Island” is the newest Elements platform, introduced with Elements 9.
Since we started Elements with just a single language (Oxygene) and a single platform (.NET) back in 2004, users have begged us to add support for creating CPU-native Windows executables as well. Island offers that, and adds native Linux, Android NDK support to the mix, as well as WebAssembly.
Now you can use Elements to write high-performance CPU-native code for Windows, Linux and the Android NDK – with more targets to come. You have full access to the platform's native C-level APIs such as the "Win32" API on Windows, and
glibc on Linux, and you can link to any existing libraries by importing their C headers.
Island also comes with its own minimal RTL and basic class library that gives you an object system, native String and collection types, and supports Elements RTL.
“Island” is our platform of choice for creating small Windows and Linux utilities and server apps, and to implement highly-efficient bits of code to be embedded in .NET based Windows apps.