Oxygene is a Delphi-like modern Object Pascal language, designed to work well with managed systems such as .NET, Mono and the Java runtime, and not worry too much about out-dated constructs that do not sit well with them. The language supports many up-to-date constructs and concepts, such as sequences, class contracts, nullable types, asynchronous methods, parallelised loops, future types and more besides.
The Oxygene language is most commonly known in its Oxygene for .NET guise as the .NET development tool sold by Embarcadero as Embarcadero Prism (formerly Embarcadero Delphi Prism), either on its own as Embarcadero Prism XE2 or as part of RAD Studio XE2. Oxygene for .NET makes it easy to develop for .NET or Mono. With .NET development you can target ASP.NET, WinForms, WPF, Silverlight and any other framework available. Additionally you can target Windows Phone 7, as shown in this video. The Mono support allows development of Windows, Linux or Mac OS X apps. When used in conjunction with MonoTouch or Mono for Android, this extends to iOS devices (iPhone, iPad or iPod Touch) and Android devices.
However Oxygene now has another guise, Oxygene for Java (previously known as Project “Cooper”). The same Oxygene compiler with the same capabilities is set up to generate native Java applications. This means various things, including cross-platform applications in the manner of a regular Java app, or web applets, or stored procedures running in Oracle or JavaDB or many other options. Oxygene for Java also targets the Dalvik VM, which in simpler terms means it natively targets Android application programming.
Having worked with the pre-release versions for several months now, I can say that it makes Android development very manageable for Delphi programmers, and opens up avenues to various other opportunities through the targeting of the Java runtime.
Oxygene for Java is now available for pre-order from RemObjects.
I will be delivering the launch presentation on Monday 3rd October at the Dutch SDC conference, and also giving a couple of additional sessions on Tuesday 4th. [Edit: sadly, SDC has been cancelled]
Here are some links with more information about Oxygene for .NET and Oxygene for Java.
- Oxygene for .NET = Embarcadero Prism XE2 – http://blogs.remobjects.com/blogs/jim/2011/09/02/p2975
- Embarcadero Prism XE2 – http://edn.embarcadero.com/article/41598
- What’s new In Oxygene 5? – http://www.remobjects.com/oxygene/whatsnew.aspx
- Channel Oxygene – videos on Oxygene – http://www.remobjects.com/tv/oxygene
- The Oxygene Language Wiki – http://wiki.oxygenelanguage.com
- The Oxygene Language – overview – http://www.remobjects.com/oxygene/language
- Oxygene language documentation – http://wiki.oxygenelanguage.com/en/Language
- Oxygene language definition in EBNF – http://wiki.oxygenelanguage.com/en/EBNF
- Win32 Delphi vs. Oxygene – http://wiki.oxygenelanguage.com/en/Win32Delphivs.DelphiPrism
- C# vs. Oxygene – http://wiki.oxygenelanguage.com/en/DelphiPrismvs._CSharp
- Windows Phone 7 Development with Oxygene for .NET – http://youtu.be/KNfR4HAXPl0
- Oxygene online store – http://www.remobjects.com/shop/#oxygene