使用MiniUI需要注意:UI和数据是分离的。
传统的WEB开发,开发者经常将数据库操作、服务端业务、HTML标签写在一个页面内。
这样会造成开发的混乱,并且难以维护和升级。
使用MiniUI开发的时候,开发者通常会做两种页面:
1)数据页面:dataservice.jsp。(也可以是dataservice.aspx)
2)界面页面
数据页面用来提供json。它通过request获取提交的信息,进行逻辑判断后,进行相关服务端操作,通常是在数据库查询,或者增加、修改、删除数据。在最后,它把要返回的数据内容,做成一个JSON字符串,通过response返回。
以下给出一段伪代码:
- //查询条件
- string key = Request["key"];
- ......
- //数据库操作
- Hashtable result = new TestDB().SearchEmployees(key, pageIndex, pageSize, sortField, sortOrder);
- //序列化成JSON
- String json = PluSoft.Utils.JSON.Encode(result);
- //返回JSON
- Response.Write(json);
界面页面是最终用户看到、操作的页面,至关重要。
开发者此时可以不用理会数据服务,专心开发界面。比如一个CRUD操作的表格、复杂的表单、弹出面板等。
当界面呈现完成后,进行数据服务的交互处理。
通常,表格的查询、分页、排序功能占开发的大部分时间。
MiniUI的DataGrid极大的简化了这一环节:
- grid.setUrl("dataservice.jsp?method=GetEmployees");
- grid.load({key: "")}; //查询
- grid.gotoPage(0, 20); //分页
- grid.sortBy("price", "desc"); //排序
在其他数据操作场合,使用jQuery的ajax实现数据交互,比如实现一个删除记录的ajax方法:
- $.ajax({
- url: "dataservice.aspx?method=RemoveEmployees&id=" + row.id,
- success: function (text) {
- grid.reload();
- },
- error: function () {
- }
- });
这种开发模式带来的好处是:
1)专注。后台开发者专注于数据库、服务端、业务设计;前端开发可以专注界面细节。
2)复用。数据页面dataservice.jsp,可以被多个界面页面所调用,而只需要开发一次。
3)可控。使用firebug、httpwatch等工具,是界面传递的参数不对,还是后台获取的数据错误,一目了然。
4)上手迅速、低成本、高可靠性。可以让一个新手使用MiniUI开发界面,让有经验的人开发最重要的后台。
5)易维护、易升级。只需要修改界面,不需要修改后台代码,就可以让系统焕然一新。