What's new? | Help | Directory | Sign in
Google
                
Show all Featured Downloads:
warp-widgets-full-0.6a.zip
Join project
Project owners:
  dhanji
Project members:
t...@tomwilson.name

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: 1

Static 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.