Today we are proud to announce the release and immediate availability of Oxygene 5.0.31, introducing our brand new second platform edition of the Oxygene language: Oxygene for Java.

This release marks the culmination of more than a year of work from the Oxygene team, and is, I believe, one of the most important milestones the product has seen so far.

So, what’s new in 5.0.31?

Oxygene for Java

The main new feature in this release is, of course, our new support for the Java runtime environment. Oxygene for Java is a separate product and not part of the existing “Oxygene for .NET” (a.k.a. Embarcadero Prism) SKU, but it is built on the same code base and, in fact, shares the exact same binaries with its older sibling.

But what is Oxygene for Java, exactly?

Oxygene for Java is the same Oxygene language and IDE experience that you already know and love on the .NET platform – for Java. It is literally the same compiler, and all the language features are the same (there are a few very minor differences owed to the underlying platform, but these are so minor, even I don’t remember what they are ;).

Just like Oxygene for .NET directly consumes the .NET assemblies and the .NET framework (and third party) classes, Oxygene for Java directly consumes java .JAR files and gives you direct access to the standard Java class hierarchy and any first and third party libraries out there. Just like Oxygene for .NET generates 100% native .NET assemblies, Oxygene for Java generates 100% native .JAR files indistinguishable (expect by their awesomeness from all the cool language features you can use on the inside) from those created using the Java Language.

Oxygene for Java shares the same IDE experience as Oxygene for .NET. It integrates with Visual Studio (for now; we’re also looking at integrating (both editions) into more traditional Java IDEs, such as Eclipse), along with all our advanced features such as the Smart Editing capabilities, advanced inline error reporting, etc. and all the standard Visual Studio infrastructure, from project templates to Solution Explorer. If you are familiar with working on .NET projects in Visual Studio, you already know how to work with Oxygene for Java projects, as well.

Oxygene for Java also includes a full-fledged Java debugger integrated into the Visual Studio IDE. Use the Visual Studio debugger infrastructure to launch or attach to Java and Android applications, leverage watches, view stack traces, switch between threads, choose what Java exceptions to break on, step from Oxygene for Java into Java Language code. All your expertise debugging .NET applications in VS will apply right to debugging Oxygene for Java projects.

Finally, Oxygene for Java integrates the full Android deployment tool chain into the Visual Studio IDE. Just press Run, and your project not only gets compiled, it also gets post-processed for Android, packed into an .apk, and sent right to the emulator or your attached Android device, ready to be debugged and tested.

And this is just the beginning. Moving forward Oxygene for Java and Oxygene for .NET will evolve side-by-side, gaining new language features and other enhancements at the same time.

Oxygene for Java is available at now, for only $399. Or get the bundle with Oxygene for .NET, at only $599.

Is that all?

No, of course that’s not all. Oxygene 5.0.31 also includes a large set of fixes and improvements for existing users of the .NET compiler, as well as a handful of minor new features (despite officially being a “bug-fix only” release, on the .NET side:

Experimental Support for the Visual Studio 11 Developer Preview has been added, letting you try out Oxygene in the next version of Microsoft’s IDE. This does not include new features for Metro/WinRT and .NET 4.5 yet (we’re working on those, but are not quite ready to ship them in an official release), but the core Oxygene features should be usable (both .NET and Java).

Oxidizer has been expanded with support for importing and pasting Java Language Code (in both product editions), in addition to the existing options for legacy code Delphi and C#. Although it is most useful for Oxygene for Java users (just like Importing C# is mostly useful for .NET users), this can be helpful when wanting to use generic/algorithmic Java code in an Oxygene project, as well.

Finally, a lot of work has been done to improve IDE Performance throughout the product, and all project templates have been updated to enable the “Warn on case mismatch” turned on by default, as we think that’s a good practice, and more Oxygene users should be exposed to that feature by default.


So, that’s Oxygene 5.0.31. We’re very excited about this release (and about where we will take the Java platform and Oxygene in general over the next year or so), and I hope you are too. We’re only getting started.

I think this is a great time to be an Oxygene developer