I first heard of WaveMaker one month back when SpringSource published a blog about VMware's acquisition of the tool. WaveMaker is a graphical, browser-based integrated development environment (IDE). It is a Java-based rapid application development (RAD) tool which allows you to build Web applications without writing any code, i.e., by just dragging and dropping widgets on the canvas. So it is best suited for users who don't know much about programming but want to quickly build Web applications.
I am not a big fan of drag-and-drop RAD tools because the code generated by them is not easily editable, thereby making the applications generated by them difficult to extend. But because the applications created by WaveMaker are managed by Spring, I decided to give it a try. I have been experimenting with WaveMaker during the past several days. In this article, I will give you a small overview and my first impressions of WaveMaker.
What Is WaveMaker?
WaveMaker comes in two flavors--Open Source Community Version and Enterprise Version. Enterprise Version is a paid version which provides enterprise features like LDAP support, advanced security support, Oracle support, etc. This article is based on my experiments with the community version of WaveMaker.
Who Should Use WaveMaker?
WaveMaker targets non-expert developers looking for quickest way to build Web applications with Java. It eliminates Web application development complexity and gives the business user the power to view their data in a visual way. The best part is you can not only build applications easily, but you can also deploy applications to cloud services like Amazon EC2 in a few clicks. It has features like charts, a dashboard, etc., which appeal more to business users and help them analyze the data.
How Does WaveMaker Compare to Spring Roo?
I have used Spring Roo, so when I first heard that SpringSource had acquired WaveMaker I was quite confused--why were they investing in two RAD tools? Both Spring Roo and WaveMaker are RAD tools which help with building Web applications quickly. But each of them targets a different audience. Spring Roo tries to make Java developers more productive by doing most of the configuration stuff and scaffolding a Web application from JPA entity model. Spring Roo's target audience is Java developers who will maintain the applications generated by it and can extend them whenever required. On the other hand, WaveMaker tries to help non-Java experts or non-programmers build Web applications. Going forward, you might expect close alignment between Spring Roo and WaveMaker, leading to consistent architecture between Spring Roo and WaveMaker applications.
What About WaveMaker Cloud Support?
WaveMaker allows you to deploy applications created using WaveMaker to all the major cloud service providers. Some of these cloud providers are Amazon EC2, Rackspace Servers, Eucalyptus Cloud, etc. The acquisition of WaveMaker strengthens the VMware cloud application platform strategy. Just last week VMware launched its open PAAS called "CloudFoundry," which lets you deploy and scale your applications in seconds. So, you can develop your Spring-managed application using WaveMaker and deploy it to CloudFoundry.