Qi4j SDK Release 2.0

28 Apr 2013 - Montpellier/France & Shanghai/China - Qi4j Release 2.0

After nearly 2 years of hard work, the Qi4j Community today launched
its second generation Composite Oriented Programming framework.

Qi4j is Composite Oriented Programming for the Java platform. It is a
top-down approach to write business applications in a maintainable
and efficient manner. Qi4j let you focus on the business domain,
removing most impedance mismatches in software development, such as
object-relation mapping, overlapping concerns and testability.

Qi4j’s main areas of excellence are its enforcement of application
layering and modularization, the typed and generic AOP approach,
affinity based dependency injection, persistence management, indexing
and query subsystems, but there are much more.

The 2.0 release is practically a re-write of the entire runtime,
according to co-founder Niclas Hedhman; “Although we are breaking
compatibility in many select areas, most 1.4 applications can be
converted with relatively few changes.”. He continues; “These changes
are necessary for the next set of planned features, including full
Scala integration, the upcoming JDK8 and Event Sourcing integrated
into the persistence model.”

“It has been a bumpy ride to get this release out the door.”, said
Paul Merlin, the 2.0 Release Manager, “but we are determined that
Qi4j represents the best technological platform for Java to create
applications with high business value.”
Not only has the community re-crafted a remarkable codebase, but also
created a brand new website, fully integrated with the new Gradle
build process.

“The new website keeps the documentation in sync with the releases.”,
Paul added. “All the samples in documentation are actual code being
executed in our test suite. I am very proud of the work that has gone
into the new site.”

We asked Niclas, “The community calls the Release 2.0 “Reductionism”.
What does that mean?”

“We wanted to make all the necessary changes, which breaks
compatibility, as quickly as possible and get the leanest possible
Qi4j out the door. Many advanced features that are planned had to
wait. We simply wanted the base platform to be available first.”,
says Niclas on the topic.

So what is really New?

“Everything”, says Niclas. “For Qi4j Core, the most important change
is the introduction of functional paradigm in the internal runtime.
This creates cleaner code, and we’ll be able to leverage JDK8 very
effectively when it will be available.
The second big thing is to reduce the Qi4j Core and increase the
Extensions concept to more areas than persistence and indexing. We
have now added metrics and value serialization, others to come.”

And what is Next?

“Our main focus will be developper productivity. We have things such
as TimeSeries, Event Sourcing support in Core, easier Assembly of
Application Stacks in sight for future releases.We aim at constantly
enriching the whole SDK (libraries, extensions, samples and tools)
and its documentation. Another objective is to grow the core
community through more open participation.”, says Paul. “Yes, there
is much visionary work ahead.”, adds Niclas.

Find more information at http://qi4j.org and http://qi4j.org/java/2.0/

The Qi4j Community is a set of loosely coupled developers working
hard to create the most exciting domain oriented application
framework for the Java platform. Qi4j is licensed under the very
liberal Apache License 2.0.