Pure Java web framework
This project shall …
- Allow MVC and component style web development in pure Java
- No HTML, CSS, JSP, XML or properties files
- Provide libraries for pure Java representation of HTML and CSS
- Templating in Java (methods, inheritance, parametrization)
- Validation as part of the domain model classes
- Limit the use of annotations and reflection
- Use interfaces and immutable objects wherever possible
- Localization using L10n registry, lookup in Java
- Page navigation rules in pure Java
- Pluggable URL routing (with resource based approach as default)
- Transparent conversion of HTTP params to model objects
- By default each "webapp" runs in separate JVM using embedded HTTP engine
- Utilize a high performance HTTP engine like Undertow or Plankton
- Future: Deployable as WAR to standard web containers like Tomcat
- TBD: JavaScript / Ajax support
Projects I review for ideas:
Grab method name of MethodReference using proxies (for chained method handles that keep track of method path):
- http://benjiweber.co.uk/blog/2013/12/28/typesafe-database-interaction-with-java-8/
For RESTful approach and readable API (but not the JSP part):
- https://github.com/caelum/vraptor
For some ideas around HTML generation in pure Java (DSL):
- https://github.com/xmlet/HtmlFlow
- https://github.com/tipsy/j2html
- https://github.com/luiz/vraptor-html-dsl
- http://code.google.com/p/jatl/
- https://github.com/emicklei/rendersnake
- http://docs.oracle.com/javase/8/docs/api/javax/swing/text/html/package-summary.html
For some ideas around CSS representation in pure Java:
- https://github.com/corgrath/Java-CSS-Library
- https://code.google.com/p/phloc-css/
For how complex pure Java templating is in JSF:
- http://java.dzone.com/articles/creating-jsf-pages-pure-java