I like the guidance Apache Isis gives me for structuring code along the lines of Domain Driven Design. My first web application in plain Java without writing a single line of DDL or HTML/*Script.
Joerg Rade
A fantastic framework! With Apache Isis we can prototype a deployable application in minutes rather than days.
Jeremy Branham
From a Sprint retrospective:
"We normally don't see anything at all for the first three months, and now you're showing me working screens after two weeks"
Project programme manager
Apache Isis enabled us to focus on the problem domain and data quality and - because the UI was generated for us by the framework - not get distracted by UI concerns. Identified security issues were quickly addressed by the Apache Isis committers.
Architect
Support from the Apache Isis community is excellent. I sense a love and dedication that is inspiring.
Johan Doornenbal
Isis provided us with a great starting point for our app; we simply took the todoapp archetype and used it as a template to help set up our integration tests and BDD specs. We were productive almost immediately
Vladimir Nisevic, A1 Telekom Austria
From a Sprint retrospective, having switched to using Isis:
"This is already looking better than anything we saw after six months of work in the first phase"
Project test manager
We use Isis because of its simple and fast user interface generation.
Andreas Lechner
Apache Isis is one of the best tools for hackathons. Given a 2 day hackathon challenge I have the perfect framework to create my prototype helping me to focus on business logic.
Sunand Padmanabhan
From a Sprint retrospective, the criticism of one lead developer sounded more like praise:
"The problem is that if we show this to the customer they will think that all the work is done."
provided by Ged Byrne
Apache Isis™ is a framework for rapidly developing domain-driven apps in Java. Write your business logic in entities, domain services or view models, and the framework dynamically generates a representation of that domain model as a webapp or a RESTful API.
Isis dynamically builds a generic UI directly from the underlying domain objects. This makes for extremely rapid prototyping and a short feedback cycle, perfect for agile development. The UI can also be extended for specific use cases, and can be themed using Bootstrap.
The core of an Isis application are the domain objects, either persisted entities or view models. Business rules can be associated directly with domain objects, or can be factored out into separate services. Isis performs dependency injection everywhere to ensure that the application remains decoupled.
Isis has a large number of github-hosted add-on modules for security, auditing, command profiling, mail merge and other cross-cutting concerns. It also has a number of UI extensions for maps, calendars and so on. All are open source and designed for out-of-the-box use or to fork as you require.
mvn archetype:generate \ -D archetypeGroupId=org.apache.isis.archetype \ -D archetypeArtifactId=simpleapp-archetype \ -D archetypeVersion=1.8.0 \ -D groupId=com.mycompany \ -D artifactId=myapp \ -D version=1.0-SNAPSHOT \ -B
... and this short tutorial should give you an idea as to how Apache Isis dynamically builds the UI: