Why NUI?

In java world, there are many template engine, such as Velocity, FreeMarker, and JavaServerPage. So why we need a new Template such as NUI? In one word, they are "raw" template, and what we need is just a clear, easy template.
The "raw" template is more powerful, and more complicated. As opposition, NUI is a property oriented template engine, it's realy clear and easy to use.

Property Oriented

Take a look at login UI below.
User Login
User Name:
Password:
In MVC framework, this UI maybe associates with a User object as following:

public class User
{
	private String userName ;
	private String password ;

	// Omit Getter & Setter code.
}
The textbox of userName is the "Editor" of property userName, and password textbox is the "Editor" of property password. And what about the labels("User Name" & "Password")? They are the "Title" of property userName and property password.
Reconsider this UI in property oriented approach, we got following pseudo code:
	for each property of Object user
	{
		out ("A table row") ;
		out ("A td include title of property") ;
		out ("A td include editor of property") ;
	}
Is't clear?
The meta data of property define in config file. It provides individul render style for each property. Developer can change them at one place, and effect on every place.

Next