GWT Xtend TodoMVC
This implementation of the TodoMVC app uses GWT and Xtend. It has a backend running on the Google App Engine that is used to load and store your todos.
Try the app at http://1-dot-todomvc.appspot.com.
GWT allows you to use Java and all your tools and infrastructure for the client and for the server side. Using its widget library you can also abstract a bit from the DOM and browsers differences.
For the client side you frequently have to specify callbacks. Those can be pretty verbose in Java. Xtend has a very noise-less syntax for the same thing to specify. Additionally, a lot of boiler plate code can be saved by using Xtends cool new 'Active Annotations'.
// filter out todos that are done todos = todos.filter[!done].toList // mark all todos as completed todos.forEach[done = true]
flowPanel [ styleName = 'view' checkBox = checkBox [ styleName = 'toggle' onClick [ todo.done = !todo.done updateView updateTodo.apply(todo) ] ] label = label [ onDoubleClick [ editMode ] ] button [ styleName = 'destroy' onClick [ deleteTodo.apply(todo) ] ] ]