The viewer module is the parent of the different viewer implementations.
The json viewer provides the RESTful API to the domain object model, providing JSON representations of domain objects. This is great as a back-end where the client is either a custom UI (written using JQuery, say), or for data integration scenarios.
The HTML viewer provides a simple, minimally customizable webapp interface for interacting with an Isis domain model. We find it's great for prototyping, or for exploring the REST API. Or, if your user base are "experts" in the domain then you may also consider deploying it directly into production.
Isis' testing support is also provided by viewer implementations. That may seem slightly odd terminology, but consider the test as a client of the domain model, and exposing through its API a representation of the domain model. This is basically the same role as the other viewers; there just isn't a GUI.
Isis supports testing in two different ways:
The BDD framework integration provides the ability to story-test the functionality in your domain objects, using a behaviour-driven design (BDD) framework.
Currently the only supported framework supported is Concordion, but the design is such that support for other frameworks can easily be added.
The JUnit viewer module provides JUnit4 integration, allowing unit tests to be written exercising business rules by catching the exceptions thrown by proxied domain objects.
There are a number of other viewers that should be considered as being of alpha-quality. That means that they are either incomplete implementations, inadequately documented, or just require a little attention (ie are broken).
That said, you are welcome to use them. If you do, let us know of any shortcomings and we'll endeavour to fix them.
The Drag and Drop (DnD) viewer is non-web graphical user interface that employs a desktop metaphor for interacting with domain objects.
The scimpi viewer is a webapp viewer that out-of-the-box provides a similar interface to that provided by the HTML viewer. However, unlike the HTML viewer it allows the user interface to be extensively customized.
The scimpi viewer works reasonably well, however its documentation is somewhat lacking.
The wicket viewer is a customizable webapp viewer for an Isis domain model, implemented using the Apache Wicket web framework.
This implementation is incomplete in a number of areas (though its documentation is reasonably complete).