Polygene™

3.0.0

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

What is Apache Polygene™ ?

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

Polygene™ 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, Polygene™ 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.

Brief History

Apache Polygene™ started its life in 2007 as Qi4j™, initially at OPS4J’s infrastructure and later on GitHub.
In March 2015, Apache Polygene™ 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.