ActiveWeb is a Java web framework inspired by Ruby on Rails. It is optimized to be sustainable, productive, and familiar for Java developers.
- Convention over configuration: zero configuration is required to develop ActiveWeb applications, and some conventions are overridable.
- Highest degree of developer productivity: ActiveWeb allows developers to build real Java web projects without the need for the typical compile/package/deploy/start cycle. A container is started once, and development can continue. ActiveWeb will recompile controllers and reload them into a running container on the fly.
- Adherence to Java standards: ActiveWeb binds to core Java standards: JDBC and Servlets.
- First-rate built-in testing capabilities: ActiveWeb provides the ability to test every discrete business function, including data generated by business logic, the content and structure of generated HTML/JSON/XML/XYZ, and complex user scenarios, all without having to start a container. ActiveWeb is perfect for true TDD/BDD, and it promotes writing specifications (tests) before coding implementations.
- Full stack web development platform: unlike many other Java frameworks, such as JSF, Struts, Wicket, etc., which usually solve only one problem, ActiveWeb is a full stack development framework for the Web. It provides all features that are integrated together. This allows to start Java web projects very fast. Integrated dependency injection - ActiveWeb integrates Google Guice as a dependency injection container.
- ActiveWeb uses ActiveJDBC as ORM layer. This is a lightweight integration, and both frameworks work very well together. However, developers still have the option of using a different ORM package if desired.
- Built-in support for Unobtrusive JavaScript: this allows for the development of dynamic Ajax applications without having to write repetitive JavaScript code. Unobtrusive JavaScript does not clutter HTML pages as generated JavaScript would.
Watch a quick video on Youtube that demonstrates ActiveWeb's ability to add code to the application dynamically, at run time:
https://www.youtube.com/watch?v=YX1TAtuSqQE
All documentation is placed here: http://javalite.io
Special thanks to folks are IntelliJ for granting a license to this project