|
|
Restful widgetry
warp-widgets is a ridiculously simple, statically-typed development layer for rendering rich web pages from Guice applications.
It integrates tightly with Guice, HTML and HTTP making it easy for you to wrap and reuse GWT, DWR and other Javascript frameworks using annotation-driven widgets:
<body>
@ShowIf(true)
<p>Guice + Warp has the lowest code footprint around!</p>
...renders:
Guice + Warp has the lowest code footprint around!
Static typing
warp-widgets is statically-typed, just like Java:
<body>
${person.naem}This misspelling results in a template compile error:
....warp.widgets.TemplateCompileException: Could not compile template for..
1) unknown or unresolvable property: naem
15: <body>
16: ${person.naem}</li>
^
Total errors: 1Static guarantees
All templates are compiled on deploy so errors are caught immediately. warp-widgets also provides HTML-specific static guarantees. If you mistakenly linked to a non-existent page:
<a href="/peeople/joe">Joe's</a>
warp-widgets raises a compile warning this time:
2) no page registered at the linked URI: /peeople/joe
21:
22: <a href="/peeople/joe">Joe's</a>
^ Of course, it is smart enough to skip relative and absolute URLs. warp-widgets is your friend. Get started on the wiki. =)
warp-widgets is currently in alpha development.
Other warp modules
warp-persist: Persistence & Transactions, Query abstraction for Google Guice apps.
warp-servlet: Servlets, Filters, web scopes and injector integration for Google Guice webapps.
