确实有这种感觉。
我弄的这个框架完成一部分了,我大约有70%的时间都花在前台js上边了。
“画图工具”这东西比较简化开发,我现在还只是“手写代码”阶段,比如要定义一个可翻页的列表,要写成:
var oList=buildList(targetElement,command);
将DOM对象targetElement包装为一个可翻页的列表。这个对象其实是一个模板。
command则是XMLHttpRequest请求的代码。
然后对oList操作,如oList.first()就是翻到第一页。当然这个包装好的列表上游这些必要的功能按钮能执行这些简单功能。其他扩展功能可写在模板里,这就要根据情况自己写了。
要定义一个对话框,就var d_test=buildDialog(targetElement,title,ok,cancel),将目标div或其他任何元素包装成一个对话框,并有确认/取消按钮。d_test.popup(source)方法会弹出此对话框。会有一个从source到d_test的动画过渡效果(参考EXT框架)。
要把一个默认的秃按钮美化,就buildButton(targetElement,width,height,class)等等。
数据库方面ORM我也没用,直接用SQL语句操作数据库,并没有“数据对象”的代码上的实现,只是返回的json数据是组织成对象形式的。也就是说,Ajax传输的是个抽象的“对象”,但后台的java代码都没有生成任何数据对象。
现在也是这样感觉,“必须”由后台来完成的功能并不多,而且大都简单,并没有控制前台界面那样复杂和发挥空间大(跳转或单窗口操作)。
有的应用适合“单窗口”的。如电子病历、订单系统、电子邮箱等。而bbs,博客适合页面跳转的,以支持历史纪录、收藏和返回按钮。