News

With Buyout, Xamarin Adds Java to its Cross-Platform Mobile Dev Portfolio

Xamarin now claims to be the only cross-platform mobile development vendor that allows for native iOS and Android app creation in both C# and Java, having acquired technology for the latter language with an acquisition of Swedish company RoboVM.

"The acquisition brings together the top two languages in enterprise development and a path to mobile for nearly every enterprise developer," Xamarin said in a statement yesterday.

Xamarin has long been a strong partner of Microsoft, using that company's C# language in its cross-platform development products and being integrated with the Visual Studio IDE. With the buyout of the two-year-old RoboVM, it's opening up its tooling to one of the largest developer ecosystems in the world, as research firm IDC estimates between 5 million and 7 million coders work with Java, long the mainstay of Android and varied other development efforts. Java always ranks near the top of programming language popularity indices, garnering the No. 1 spot in two recent rankings.

Like Xamarin does with C#, RoboVM lets Java developers build fully native UIs with complete access to native device functionality, allowing them to share much code across iOS and Android projects. That's not possible with alternative cross-platform approaches such as Web apps or some hybrid products.

While Java is the default language for Google's preferred IDE, Android Studio (which the company now favors over the Eclipse IDE), RoboVM's tooling allows developers to substitute Java for Apple's default language, Objective-C (rapidly being subsumed by Apple's new Swift language). For iOS development, RoboVM provides integration with Apple's WYSIWYG Xcode Interface Builder and compiles Java Virtual Machine (JVM) code into byte code through the use of LLVM compiler.

The RoboVM Ahead-of-Time Compiler
[Click on image for larger view.] The RoboVM Ahead-of-Time Compiler (source: RoboVM)

Xamarin takes a similar approach. "On iOS, Xamarin's Ahead-of-Time (AOT) Compiler compiles Xamarin.iOS applications directly to native ARM assembly code," the company explains. "On Android, Xamarin's compiler compiles down to Intermediate Language (IL), which is then Just-in-Time (JIT) compiled to native assembly when the application launches."

Xamarin Separates Resusable Code into a Core Library
[Click on image for larger view.] Xamarin Separates Reusable Code into a Core Library (source: Xamarin)

"The two companies have taken nearly identical approaches to enabling successful enterprise mobility," Xamarin said. "Xamarin and RoboVM apps are fully native iOS and Android apps -- native UI, native performance, and complete access all of APIs for each device platform -- built from a shared code base across device platforms. Xamarin is the only company with this approach for C# developers, and RoboVM is the only company with this approach for Java developers. The acquisition means that Xamarin now controls the cross-platform mobile development market for the most widely adopted languages capable of native, client-to-server, cloud-to-mobile development."

Xamarin said the two teams will operate independently, each focusing on their respective user bases, while benefitting from each other's developer marketing, sales, enterprise-grade mobile expertise and full mobile lifecycle expertise.

"RoboVM will continue to operate as a separate team and brand so that we can focus solely on the needs of Java developers," RoboVM CEO Henric Müller said in a blog post yesterday. "Being a small, nimble, focused team has helped us accomplish a lot this past year -- such as the release of RoboVM Studio, improved performance and documentation, and same day support for iOS 9 -- and we want to continue to execute on our vision. For example, yesterday we released RoboVM 1.9, which includes improved setup, beautiful new samples, improved documentation, and bug fixes."

While RoboVM can continue to court those 5-7 million Java developers, Xamarin already claims more than 1.2 million downloads of its tooling from developers in some 120 countries.

"Using a cross-platform application development approach has emerged as one of the most popular approaches for building enterprise mobile apps, especially when coupled with generation of native platform code," Xamarin quoted IDC analyst Al Hilwa as saying. "Xamarin is able to address the two largest ecosystems for native mobile application development today with its support for C# and Java."

About the Author

David Ramel is an editor and writer for Converge360.