Codename One Launches Open Source iOS Java VM
- By John K. Waters
- December 15, 2015
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 K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].