Microsoft is discontinuing RoboVM, the Java-to-Mobile compiler technology which it acquired with Xamarin a couple of months ago.
Just six months ago, RoboVM was a small but growing business catering to developers wishing to use their Java skills – or port existing Java applications – to iOS and Android. Using an AOT (ahead of time) compiler, RoboVM is able to get around the restriction Apple places on iOS applications, which are not allowed to use JIT (just-in-time) compilers such as that normally used by Java.
In October 2015, RoboVM was acquired by Xamarin, then an independent company. Xamarin had iOS and Android compilers for C#, and RoboVM seemed a good fit, extending its reach to Java developers.
"We're proud to tell you that RoboVM has been acquired, and we're now part of the Xamarin family! This is very exciting for all of us, not only those of us here on the RoboVM team, but also for you as RoboVM customers and developers ... being a part of Xamarin will enable us to accelerate our roadmap," said RoboVM founder and CEO Henric Müller at the time.
The acquisition was not all good news though. Prices rose to match those for Xamarin subscriptions, and the company declared itself unhappy with its previous open source model, deciding to "stop automatically releasing changes to the core of RoboVM as open source."
Next, Xamarin was itself acquired, by Microsoft. At its Build conference earlier this month, the company said that the Xamarin C# tools would be free and open source. Cheers all round – but what about RoboVM?
Today Müller revealed that RoboVM will be discontinued. "After looking at the complete landscape for mobile development with Java, the decision has been made to wind down development of RoboVM," he says, carefully using the passive voice.
Müller directs developers towards either tools to help them port to Xamarin's C#, or alternative Java SDKs such as the Intel Multi-OS Engine or the OpenJDK Mobile Project (though neither project is production-ready). Existing RoboVM subscriptions will work until April 30th 2017.
In addition, Xamarin/Microsoft is offering full refunds to existing customers as well as free subscriptions to either Xamarin Test Cloud or HockeyApp.
All very sad for RoboVM developers, and it demonstrates the limits of Microsoft's enthusiasm for open source and cross-platform development. Attracting Java developers to its platform via RoboVM with libraries for use with Azure services, for example, might seem to make sense; but it appears the company does not see it that way. In 1997, Microsoft was sued by Sun for its implementation of Java, so there is some unhappy history at the company.
The RoboVM community has reacted as you would expect. "I was cheated once by Microsoft with os/2. I was cheated now by Microsoft with RoboVM," says one developer with a long memory.
The decision creates a particular problem for another open source project, libGDX, which uses RoboVM's compiler for cross-platform game development. Its main developer, Mario Zechner, says: "For the better part of 2 years, RoboVM has been my life," and he describes its discontinuation as "emotionally taxing." He is not giving up though, and has already announced a roadmap to libGDX using Intel's Multi-OS Engine. ®