This project has retired. For details please refer to its Attic page.


Zest™ 2.1

This is the documentation for Zest™ 2.1. Use the version switcher on the left to browse other versions documentation.

What is Apache Zest™ ?

The short answer is that Apache Zest™ is a framework for domain centric application development, including evolved concepts from AOP, DI and DDD.

Zest™ is an implementation of Composite Oriented Programming, using the standard Java platform, without the use of any pre-processors or new language elements. Everything you know from Java still applies and you can leverage both your experience and toolkits to become more productive with Composite Oriented Programming today.

Moreover, Zest™ enables Composite Oriented Programming on the Java platform, including both Java and Scala as primary languages as well as many of the plethora of languages running on the JVM as bridged languages.

We strongly recommend the introduction section.

Brief History

Apache Zest™ started its life in 2007 as Qi4j™, initially at OPS4J’s infrastructure and later on GitHub. In March 2015, Apache Zest™ was created with the Qi4j™ codebase as the base, existing Apache Members as the bootstrap Project Management Committee (PMC).


Qi4j™ is pronounced "chee for jay". This website is out of scope to explain the many facets and history of Qi, so we refer the interested to read the lengthy article at Wikipedia. For us, Qi is the force/energy within the body, in this case the Java platform. Something that makes Java so much better, if it is found and channeled into a greater good.