我已经在 GWT 应用程序上工作了一年,但我们从未觉得需要使用任何这些框架或工具。
所以我觉得我们可能错过了。
我们以“代码背后”的方式来做。
这是一个关于我们如何构建代码的简单示例:
MyPanel.ui.xml:
<label ui:field="label"/>
<g:TextBox ui:field="box"/>
<g:Button ui:field="button"/>
MyPanel.java:
@UiField
LabelElement label;
@UiField
TextBox box;
@UiField
Button button;
MyBean myBean;
Messages messages = GWT.create(Messages.class);
MyServiceAsync myServiceAsync = GWT.create(MyService.class);
...
protected void i18n() {
label.setInnerText(messages.label());
button.setText(messages.button());
}
...
@UiHandler("box")
void box_onValueChange(ValueChangeEvent<String> event) {
myBean.setText(event.getValue());
}
@UiHandler("button")
void button_onClick(ClickEvent event) {
myServiceAsync.sendData(myBean, new AsyncCallback<MyResponse>() {
@Override
public void onSuccess(ReponseDispoBean result) {
Window.alert(result.message());
}
@Override
public void onFailure(Throwable caught) {
Window.alert(caught.getMessage());
}
});
}
为了在面板(页面的一部分,每个都在自己的类中)之间进行通信,我们使用小部件或应用程序的事件总线来发送自定义事件。
为了导航,我们使用地点/标记器/活动和历史映射器
对于单元和功能测试,我们使用gwt-test-utils
就是这样。所以我想知道:这些工具有什么帮助?有什么令人信服的理由来使用它们?
谢谢