Frontend
- HTML rendering (Freemarker)
- JSON rendering / parsing (Jackson)
- XML rendering / parsing (Jackson)
Stateful restful
- Client side session / Authentication (ninja-session)
- Flash scope (ninja-flash)
Core libraries
- Injection support (Guice)
- Multiple environment configuration (Ninja)
- i18n for templates / in controllers (Ninja)
- Lifecycle (Ninja)
- Mail sending (Ninja)
- Scheduler (Ninja)
- Object validation - JSR 303 (Hibernate-validation)
- Support library: (Google Guava)
- Logging (slf4j and logback)
Relational data persistence
- JPA (Hibernate)
- Database migrations (Flyway)
Cache layer
- Memcached
- EhCache
Testing support
- Mocked Tests (Mockito)
- NinjaTest (Ninja)
- NinjaDocTester (DocTester)
- NinjaFluentLeniumTest (FluentLenium)
Deployment to live
- Either as war in your favorite application container
- Or in standalone mode as self executing jar package with a bundled Jetty.
- In general synchronous programming style.
Ninja can easily be extended by modules. This page contains popular modules available for Ninja. Usually the linked pages contain a short description how to setup stuff:
Activity support - light-weight workflow and Business Process Management (BPM)
EBean RDBMS ORM support
Google AppEngine Support
Rythm templates
Mustache templates
Jade4Ninja (Jade) templates
Rocker templates
Hazelcast Cache Implementation
MongoDB/Morphia Integration