Codename One Launches Open Source iOS Java VM
- By John K. Waters
Codename One wants the open source community to take its relatively new iOS Java VM and run with it. The VM, which the company built to replace the no-longer-maintained XMLVM its namesake software development kit (SDK) was built with, is now available as the ParparVM on GitHub.
"Up until recently we always viewed it as a Codename One specific tool," the company's CEO, Shai Almog, wrote in a blog post. "Something that would only be useful for us. We used open source because 'that is our way' and didn't give it much thought after that. It started to dawn on us recently that this tool could be useful for other developers that might take it in a different direction from our original intention. We also came to the conclusion that this might not be a bad idea altogether."
Codename One is a free, open source, solution for building native mobile apps using Java. It's designed to translate Java byte code to C/Objective-C code on the company's cloud servers, and then to compile the resulting source code to native applications. The Codename One bundle combines an IDE plugin, a Client Library, a visual design tool, simulators for phones and tablets, Build servers and cloud provisioning services.
The Israel-based company was founded by two former Sun Microsystems engineers: Almog and Chen Fishbein, who are probably best-known for their work on the Lightweight User Interface Toolkit (LWUIT). Fishbein began developing it as an internal project for Sun to address the challenge of writing "appealing cross platform mobile applications," according to the java.net project summary. Almog joined the effort, which was announced in 2008. Then Sun open sourced the project, licensing it under the GPL with ClassPath Exception. LUWIT is now a subproject of the Mobileandembedded project.
There are a lot of open source iOS Java VMs on the market, and Almog posed and answered the obvious question, "Why another VM for iOS?"
"[T]he reality is that most of them are either proprietary or rely on a path that is very risky," he wrote. "By translating bytecode to C source code, ParparVM is effectively the only VM that we are aware of, that uses a 100 percent-supported-by-Apple approach for Java compatibility. The closest second place would be J2ObjC from Google, but it isn't intended as a full VM and actually fills a very different roll from ParparVM."
The ByteCodeTranslator and Java API projects are designed as a NetBeans project, Almog said, but they should work with any Java IDE directly.
Codename One wants developers to "play around" with the ParparVM, and let the company know how it might be improved. "We think we can add a lot of features to the VM as conditional options and thus keep things that Codename One doesn't need as a third-party extension that can be turned on at will," Almog said.
"Parpar" is Hebrew for "butterfly."
John has been covering the high-tech beat from Silicon Valley and the San Francisco Bay Area for nearly two decades. He serves as Editor-at-Large for Application Development Trends (www.ADTMag.com) and contributes regularly to Redmond Magazine, The Technology Horizons in Education Journal, and Campus Technology. He is the author of more than a dozen books, including The Everything Guide to Social Media; The Everything Computer Book; Blobitecture: Waveform Architecture and Digital Design; John Chambers and the Cisco Way; and Diablo: The Official Strategy Guide.