Oxygene for Java released: develop for Android and Java runtime with Delphi language in Visual Studio

RemObjects has released Oxygene for Java, a new version of its Object Pascal compiler. Object Pascal is pretty much the Delphi language though with some additional features of its own. Previous versions target the .NET runtime, and a version of this is marketed by Embarcadero as Prism. The IDE for Oxygene is Microsoft’s Visual Studio. This new version targets both the Java Runtime and the Android Dalvik VM. The obvious target market is Delphi developers who now want to create apps for Android, or cross-platform Java applications.

I downloaded the trial and ran the supplied Hello World in the Android emulator … it works.

image

A few further notes from the RemObjects announcement. While only Visual Studio is supported initially, an Eclipse version is also in preparation. Oxygene directly consumes .JAR libraries so you can use both first and third-party libraries. There is also a tool called Oxidizer that lets you import Java language code, which will be converted to Oxygene Object Pascal.

A point to note is that Embarcadero has already announced that its cross-platform FireMonkey framework will support Android as well as Apple iOS. This means that developers who want to code for Android in the Delphi language will have two choices. It looks to me as if Oxygene will be more suitable if you want to stay close to the Android SDK, whereas FireMonkey has its own custom-drawn user interface widgets and effects and should come into its own if you want the same code to run on both iOS and Android.

Given that a skilled Delphi developer would probably learn Java fairly quickly, how much value is there in Oxygene for Java? I guess factors include how much more productive you can be in Oxygene and the value of sharing code across projects targeting different platforms, presuming that you do not want to run Java everywhere.

4 thoughts on “Oxygene for Java released: develop for Android and Java runtime with Delphi language in Visual Studio”

  1. Tim, this was interesting plus also the following:

    http://www.freepascal.org/ Latest News August 20th, 2011
    The Free Pascal Compiler now can generate byte code for a Java Virtual Machine.

    The codegenerator works and supports most Pascal language constructs. The FPC backend for the Java Virtual Machine (JVM) generates Java byte code that conforms to the specifications of the JDK 1.5 (and later). While not all FPC language features work when targeting the JVM, most do and we have done our best to introduce as few differences as possible.
    See also: http://wiki.freepascal.org/Android_Interface

    Maybe mistaken, but could it be that the Free Pascal guys provided RemObjects with the real inspiration and early work?
    (If so, no credit appears to have been given).
    Tom

  2. Tim:

    “Given that a skilled Delphi developer would probably learn Java fairly quickly, how much value is there in Oxygene for Java? I guess factors include how much more productive you can be in Oxygene and the value of sharing code across projects targeting different platforms, presuming that you do not want to run Java everywhere.”

    I’d also argue that Java is pretty slow to evolve and Oxygene introduces new and more modern language elements and constructs earlier.

    Tom:

    As far as I understood it Oxygene is entirely unrelated to FPC and it’s JVM offerings in any shape or form and was an entirely independent effort, in which case no credit is needed.

  3. As the person who implemented the FPC JVM support, I can confirm that the FPC and Oxygene JVM support were two completely independent projects. In fact, I hadn’t publicised yet that I was working on FPC JVM support when RemObjects’ Project Cooper was announced.

Comments are closed.