Waffle Web Framework
Waffle is a Java web framework that makes the process of
developing Java based web applications easier. It was built to support
enterprise level web-based business applications, but with the least
possible number of source lines to achieve that.
Waffle is different than the multitude of web frameworks that
exist today. Waffle :
- does NOT have any mandatory XML configuration files
beyond a minimalist web.xml required by any J2EE-compliant webapp
- does NOT have a steep learning curve
- does NOT have a proprietary UI templating language
- does NOT force you to extend base classes or
implement interfaces
- does NOT have a cumbersome series of setter
methods and an execute method for controllers
Application built upon Waffle only need to be aware of three
things:
- Controllers - an controller in Waffle does not
need to extend or implement any specific class or interface because a
controller is simply a plain old Java object (POJO).
- ActionMethod - in Waffle an ActionMethod is
simply a method defined in your Controller class. Any method can be
used regardless of its signature or return type. Waffle will react
differently depending on what is returned from the ActionMethod so
take a look at this section for further details.
- Registrar - the Registrar is where you go to register
the Controllers, and other common components, your application
is dependent on. Typically most web frameworks require your
applications to create special XML file(s) for this, but with
Waffle you'll spend less time playing with XML and more time building
business logic.
Additionally, Waffle provides:
- Transparent REST functionality for controllers.
- Transparent JSON functionality for controllers.
Getting started
The best way to get started is to look at the examples
Choices of markup language
As Waffle does not come with a HTML markup technology, it plays
well with other 'best practice' solutions:
- JSP with or without supplied taglibs
- Freemarker
- Velocity
- Ruby's ERB