Book Image

Easy Web Development with WaveMaker

By : Edward Callahan
Book Image

Easy Web Development with WaveMaker

By: Edward Callahan

Overview of this book

Developers of all levels can now easily develop custom, responsive, and rich web application clients with secure, scalable servers utilizing relational databases and RESTful services using WaveMaker Studio. Whether you need a departmental business application or a form application for your weekend club, this book will show you how to design, develop, and deploy professional grade web applications with WaveMaker. Easy Web Development with WaveMaker will help you use WaveMaker to design, develop, and deploy rich, responsive web applications, even if you are not a programmer. If you need to build a data-driven web application, but you only know ‘enough to be dangerous,' you need this book. This book examines every angle of using WaveMaker to build applications, from dissecting examples to customizing, deploying, and debugging your own applications. This book enables the non-professional programmer to become comfortable not only with using WaveMaker Studio itself, but also with the artefacts produced by the studio as well as the runtime and services provided by the WaveMaker framework. You will learn everything, from how customize the user experience with JavaScript and CSS to integrating with custom Java services and the Spring Framework server-side. Easy Web Development with WaveMaker 6.5 is packed with examples, code samples, screenshots, and links to equip you to be successful with WaveMaker Studio.
Table of Contents (23 chapters)
Easy Web Development with WaveMaker
About the Author
About the Reviewers
Styling the Application
Working with Databases
Utilizing Web Services


This book describes an easier way to build custom, modern web applications using WaveMaker Studio, the web development tool for non-professional developers. WaveMaker runs in a browser and provides an intuitive visual development interface. The resultant applications use proven open source libraries, including the Spring framework and the Dojo Toolkit with the Model-view-controller (MVC) pattern. This is professional-grade development made easy.

In this book, we will walk through the entire development process. We will start with using the Studio and planning the application. We will then cover using JavaScript, Java, CSS, relational databases, and web services to provision functionalities and enhance the user experience. We shall conclude with deployment and debugging. By the end of this book, readers will be equipped to experience the joy of having designed, developed, and deployed a web application.

Communities are a wonderful resource for users of open source projects, as the collective wisdom of a community always outpowers the knowledge of any single individual. Readers are encouraged to participate in the WaveMaker developer community at There, you will not only find documentations and examples, but also a fantastic group of users, new and old, with whom you can discuss, share, and collaborate.

What this book covers

Chapter 1, Getting Started with WaveMaker, covers setting up WaveMaker and the example project workspace. It also explores an example application from a user's perspective.

Chapter 2, Digging into the Architecture, explains the application architecture, covering the client, server, and communication between the two.

Chapter 3, Using Studio, walks through every aspect of using Studio, from visually assembling the application to using the binding dialog and code editors.

Chapter 4, Designing a Well-performing Application, covers how to design your application so it performs well and is easy to use.

Chapter 5, Navigating towards Reusability, explains the numerous navigation techniques, such as pages and dialogs, available to developers to create reusable components and a customized user experience.

Chapter 6, Styling the Application, covers using CSS with the WaveMaker framework to style applications.

Chapter 7, Working with Databases, covers everything you need to know about working with relational databases in WaveMaker.

Chapter 8, Utilizing Web Services, explains how to consume web services in your applications.

Chapter 9, Custom Java Services, covers everything you need to know to utilize Java for custom server-side functionality.

Chapter 10, Customizing the User Interface with JavaScript, explains how to customize applications using JavaScript while leveraging the WaveMaker client framework.

Chapter 11, Mastering Client Customization, explores advanced client customization techniques such as custom formatters, custom grid columns, and dynamic page content.

Chapter 12, Securing Applications, covers the WaveMaker security model and explains how to secure your application. It also introduces customization of the security configuration for advanced cases.

Chapter 13, Deploying Applications, explores the deployment process while reviewing your deployment options.

Chapter 14, Mobile Deployment, introduces building a native mobile application from your WaveMaker application using PhoneGap.

Chapter 15, Debugging, covers how to troubleshoot and debug applications, from logging to debugging with browser and Java tools.

What you need for this book

Readers should have WaveMaker 6.5 and a web browser installed on their computer. In this book, we will demonstrate using Google's Chrome browser and its Developer Tools, but comparable web developer tools such as Firebug for Firefox can be used as well.

Optionally, more experienced readers may wish to have a GitHub client and a code editor or IDE tool such as Eclipse available. These are not required.

Who this book is for

This book is primarily for business developers—tech-savvy users who want to build modern, responsive web applications that connect to databases, REST, and Java services. This book is also for the rapidly growing group of amateur developers who are also known as citizen developers.

No specific technical background is assumed. However, we will be interacting with numerous technologies throughout the course of this book. The more of those technologies you are familiar with, the easier you will find this book. As we cannot explain every technology utilized, links to those projects are provided for further reading if needed. If you are already familiar with some of these areas, or you have some development experience, you will be able to move through this book more quickly than those just starting out with web development.

This book is also good for experienced developers who are interested in using WaveMaker as a tool to build AJAX browser clients to their web and Java services.


In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text are shown as follows: "Being a Java application, we have a WEB-INF folder, which contains our web.xml as well as our classes and lib folders."

A block of code is set as follows:

<div id="_wm_loading" style="z-index: 100;">
<table style='width:100%;height: 100%;'><tr><td align='center'><img alt="Loading" src="/wavemaker/lib/boot/images/loader.gif" />&nbsp;&nbsp;Loading...</td></tr></table>

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

ClassPanel: ["wm.Panel", {"_classes":{"domNode":["CustomRedTextHorizGradientPanel"]},"height":"125px","horizontalAlign":"left","verticalAlign":"top","width":"100%"}, {}, {

Any command-line input or output is written as follows:

c:\Java\jdk1.6.0_45\bin\javaw.exe -Xms256m -Xmx512m -XX:MaxPermSize=256m  -jar "C:\Program Files\WaveMaker\6.5.3.Release\launcher\launcher.jar"

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Click on the Test Connection button to verify your settings. Once the connection tests successfully, save the properties by clicking on the Save button".


Warnings or important notes appear in a box like this.


Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to , and mention the book title via the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the files e-mailed directly to you.

The example code for this book is also available on GitHub at The example code has been published under Apache 2.0 license.


Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from


Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.


You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.