The Oxygene Language. This is not your Daddy's Pascal.

Welcome to Your New Favorite Language

Oxygene lets you create applications and projects for all of today's major platforms – with one IDE and one great programming language.

Oxygene is built on the foundation of Object Pascal, revamped and extended to be a modern language for the twenty-first century.

If you are a Delphi developer, you will be right at home with the Oxygene language. At the same time, it will hit you like a breath of fresh air: Oxygene's many new language enhancements make writing code enjoyable again, and the language is evolving rapidly, but in a clean and consistent way.

Unlike Delphi, Oxygene lets you target all platforms truly natively. This means that whether you are developing for iOS, watchOS, tvOS, the Mac, Android, Windows Phone, the regular Windows desktop or even Windows RT tablets, you will be working directly with each platform's native APIs and frameworks, and using the platform's native UI widgets. No unnecessary abstractions, and no lowest-common-denominator UI.

As a result, your apps will be lean, fast, and feel native to the end-user — because they are.

Platforms

Oxygene supports four different development platforms.

Think of it not as "cross-platform development", but as Oxygene truly and natively supporting each of these platforms as a first class citizen and development solution.

Learn more about each platform below:

^^ Choose a platform by clicking on one of the icons above to learn more.

Echoes: Target .NET, ASP.NET, WinRT, Mono, Xamarin and More

“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 Xaamrin 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.

No matter what language you choose, you have full access to the .NET class libraries, and you can seamlessly reuse any existing .NET libraries out there – from third parties to open source. And the executables you create will be pure .NET.

“Echoes” is our platform of choice for creating Windows apps, websites, and cross-platform servers and command line tools via Mono.

Explore our Docs for the .NET Platform.

Cooper: Develop Apps for Android and Pure Java

The “Cooper” platform encompasses Elements' ability to build apps for the Java Runtime (JVM).

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.

No matter what language you choose, 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 (.jars or .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.

Read more in our Docs for the Java/Android Platform.

Toffee: Native Cocoa apps for macOS, iOS and tvOS

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).

No matter what language you choose, 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.

Dive into the Docs for the Cocoa Platform.

Island: Compile CPU Native Code for Windows and Linux

“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 and Android NDK support to the mix, as well.

No matter what language you choose, you're able to create native apps and libraries for Windows (32 and 64-bit Intel) and Linux (64-bit Intel and ARM). 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 more.

“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.

Read more about Island or browse the Docs.

Development Environments

Oxygene provides you with two choices for your development environment, depending on whether you work on Windows or the Mac. And with Water, we have an exciting third option for Windows coming, later this year:

^^ Choose an IDE option above to learn more.

Fire: Your place to cook up great apps on Mac

If you develop on Mac, you will love Fire, our Mac IDE for Elements.

Three years in the making, we first introduced Fire in 2016, and it has instantly become a favorite among our users. With the latest Elements 9.1, Fire has gotten even better, and we're not stopping.

Fire was designed from the ground up to be a great Mac app, to be fast and lean, and to focus on letting you get your job done well. It is responsive, unobtrusive, yet vastly powerful with a sophisticated code editor, great debugger support and an innovative navigation model.

Fire also supports development for all of the Elements platforms, including .NET, Java and native Windows and Linux apps, right from your Mac.

Read more about Fire.

Water: Our IDE for Windows — Now in Beta!

If you're a developer on Windows, we've got great news for you!

Later this year, everything that is great about Fire, our lean and mean IDE for the Mac, is coming to Windows in the form of Water.

Water is the essence of Fire, re-imagined for the Windows environment. It takes our work from Fire for re-thinking what a modern and productive IDE experience should look like, and applies it to Windows. It's not a simple "port" or a cross-platform IDE, it is Fire, truly re-designed around a Windows-first developer experience.

Just like Fire, Water supports development for all of the Elements platforms, including .NET, Java, Cocoa and native Windows and Linux apps, right from your Windows PC. And Water co-exists with Visual Studio, so you can work with the same projects in any of our three IDEs.

Read more about Water, its development process, and when it will be available.

Elements in Microsoft Visual Studio

If you develop mainly on Windows, Elements integrates into Visual Studio, the open IDE from Microsoft which provides a sophisticated and extensive developer experience, including visual designers for creating Windows GUI apps in WinForms and WPF, and for ASP.NET.

Elements comes with its own copy of Visual Studio 2015, so you don't need to own or purchase a separate license – but if you already own and use Visual Studio 2015 or 2017, say with Visual C#, Visual Basic or Visual C++, then Elements will integrate right into that copy.

Even on Windows and in Visual Studio, Elements supports development for all platforms. For debugging and testing Mac, iOS, tvOS or Island-based Linux apps, Elements will seamlessly connect to your Mac or Linux machine via our CrossBox technology.

Read more about Elements in Visual Studio.

Command Line

Whether on Mac, WIndows or even Linux, you can use your favorite external editor and Elements' command line build chain to work on and build your projects.

Elements 9 lets you use msbuild/xbuild or the standalone Elements.exe command line compiler from terminal, your automated build scripts, or even friggered from within your favorite text editor.

Currently in beta and shipping later with Elements 10, there is also ebuild, our new cross-platform opensource build chain that we're movig all Elements lagauges and platforms over to.

Read more about EBuild.

Love the idea of Oxygene, but prefer a different language?
Check out RemObjects C#, Swift or Iodine (Java)!
What's new in 9.3?    |    Forums    |    FAQ    |    Twitter    |    Facebook