Ruby developers have Ruby on Rails, Python has Django, but what about Java? Java Rapid Application Development and deployment might sound like an oxymoron, but Servoy is trying to cut through some of the hassle and speed up Java development and deployment.
Servoy, made by a company of the same name, is a cross-platform development and deployment environment based on Eclipse. It can be used to write applications for native desktops on Windows, Mac OS X and Linux, or to be deployed as Web applications. Servoy 5.2 was pushed out at the end of July. We took a look at some of the prereleases and the final release builds as well.
Servoy is really an umbrella term for a whole package: You have the Servoy IDE (integrated development environment) based on Eclipse, a server that handles client connections to the applications and an optional runtime component that can be distributed with single-user applications. Get all that?
Basically, the idea is that Servoy allows you to create all manner of Java-based applications, even applications for set-top boxes-mostly by writing JavaScript. Code is written in JavaScript, but deployed using the Rhino project from Mozilla, which converts JavaScript into Java classes.
If your shop develops Java applications, you haven’t been scared off of Java by Oracle and you want to look at making cross-platform apps available, Servoy might be worth a look.
But expect to do a bit of slogging to get to the good parts. Servoy, the company, would do well to improve its documentation and site. Finding things can be difficult. If the company wants to compete with .NET, Oracle, FoxPro and others (as the site indicates), it needs to do a much better job of making information readily accessible.
Testing Servoy 5.2
Although the bump in version number is minor, the 5.2 release brings a couple of major changes. The most major of these is embracing open source.
With this release, Servoy started providing its product under the AGPLv3 (GNU Affero General Public License Version 3), switched to using PostgreSQL as its bundled database and made security changes that will have an impact on older Servoy apps.
Servoy’s conversion to open source didn’t stop the company from having a download blocker in place to require an e-mail and validation before giving up the download. Trying to get code using Firefox was a frustrating exercise, as the confirmation page required an e-mail address-but didn’t provide a field in which to add the address.
The download seems to be working now, but it required a few exchanges with the company to get going. They also attempt to sign users up for no fewer than six mailing lists, and ask for permission to share the e-mail address with third parties. This is not the best way to start off engaging developers.
In general, the contributor information is a bit sparse, and doesn’t give the impression that the company has all the pieces in place for a growing community just yet.
One piece that is in place is the Servoy Forge, with a number of open-source projects formed to extend or enhance Servoy. This includes an iPhone app builder, plug-ins for Google Apps and localization tools. You won’t find tons of resources just yet, but it’s worth taking a look at.
Setting up the IDE is simple enough. Mac and Linux users will install using the Java JAR file, while Windows users can use the JAR or a typical Windows installer.
Getting started with Servoy after that can be a bit confusing. As mentioned above, Servoy falls down quite a bit on documentation. What’s available online consists of a few getting-started tutorials and some scattered docs on the wiki, and many of the docs and videos are for Servoy 4 or earlier.
Experience Helps
If you’ve used Eclipse, you’ll be right at home with Servoy. If you haven’t used Eclipse and are hoping to use Servoy as an entry point to Java programming and development, you might be a bit disappointed. Assume that you need a good amount of experience with developing Java apps to get started with Servoy.
The documentation available for the 5.2 release is now pretty good (though rough during the betas) and should get you up and running quickly if you’re familiar with JavaScript.
To test Servoy, I went through a few of the video tutorials provided with the package and text documentation. In general, even though video tutorials move a bit more slowly than I like, the videos are a better way to get started. The developer interface isn’t necessarily intuitive, and it’s much more helpful to watch along.
I also toyed with deploying to the Servoy application server. This is simple enough to do, but I’d like to see more documentation on deploying to a server environment (as opposed to the developer environment) and more on troubleshooting. It’s not overly difficult to deploy from Servoy, but I’d like to see a bit more “real-world” documentation.
Since we started early with the testing, we were able to try out the update features as well. Updating Servoy worked like a charm, and the updater did a good job of keeping the developer and server components in sync.
Pricing for Servoy is a bit complex: Developer licenses run $849 per seat, and then you have client licenses starting at $349 per user. The server is free with client licenses.