No description or website provided.
CSS Xtend
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings
todomvc clean up of pom.xml, remove Void param from function types. Feb 3, 2015
.gitignore
.project
README.md
pom.xml

README.md

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.

Why GWT?

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.

Why Xtend?

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

Code Samples

List processing

// filter out todos that are done
todos = todos.filter[!done].toList

// mark all todos as completed
todos.forEach[done = true]

UI Builder

  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)
        ]
    ]
]