Joist is a web application development stack. It consists of two sub-projects joist.domain, an ORM with type-safe queries (no strings) and no runtime class generation (no CGLIB), and joist.web, a component-based web framework.
The goal is a simple, productive environment for enterprise-scale webapps.
Joist is tailored for projects that agree with its opinions:
Annotation processing (e.g. bindgen) works best in Eclipse running in a 1.6 JVM.
Just using a JDK5 JVM for running Eclipse itself with the JDK6 compiler option set is not enough–for APT to work, Eclipse needs its own JVM to have the JDK6-only annotation processing APIs.
This is difficult developers on Mac OSX because Eclipse’s SWT binaries are 32-bit but the Apple JDK6 is 64-bit. Mac OSX users will either have to find a 32-bit JDK6 to install or wait until the Eclipse 3.5 ships with 64-bit support. FWIW, the Eclipse 3.5 integration releases work well on win32.
The type-safe SQL DSL currently only handles a simple subset of SQL queries. It needs flushed out by more real-world usage.
Joist is hosted on github:
http://github.com/stephenh/joist
Joist is a new project and does not yet have an active community. If you’re interested in getting involved or just being kept in the loop, feel free to email stephen@exigencecorp.com.
Joist borrows ideas mainly from Rails (migrations, database-reflected-domain objects), Tapestry/Click (component-based pages), and JaQu (type-safe SQL queries).