下一代的B/S开发框架--Echo 教程(9)

类别:Java 点击:0 评论:0 推荐:
下一代的B/S开发框架--Echo 教程(9) 优点/缺点

这个话题本来放倒本教程的开头, 但是我想让各位从前面的的例子中做出自己的评价, 看看我们的结论是否一致:

优点: 用OO的方法开发B/S程序, 完全面向对象编程. 无需HTML和脚本知识, 由框架生成标准的HTML和脚本, 客户端仅仅需要浏览器, 无需额外插件. 服务器端控件提供状态管理 基于事件的编程方式. 可以利用模板沿用HTML界面. 基于窗口的状态管理, 而不是基于页面的状态管理
asp.net的状态管理基于页面. Echo的窗口管理基于Frame, 因此有如下好处: 打开/隐藏/关闭其它窗口 后台提交 页面根据需要刷新 修改其它窗口的控件后, 内容马上更新. 利用设计模式, 可以很好的统一风格. 方便后期页面修改 有大量的模板可用. 并且可以自行开发控件. 控件的积累/重用 模块化开发 适合编写复杂输入, 有多个子窗口的页面. 基于Servlet的机制, 可以和现有的框架(JSP,Struts,Coocoon)组合使用, 取长补短.
支持IE,Opera,Netscape,Mozilla. 缺点: 资源开销大, 不适合高负载场合 对浏览器版本有要求 自行开发控件有一定的难度 还没有成熟的数据绑定支持 缺乏可视化的开发工具 入口固定, 不能直接链接到内部. (很象桌面程序) 版本不稳定 Tips: 利用设计模式实现网页的MVC. 页面上有大量相似元件时, 可以把它写成控件, 直接使用. EchoPoint使用前要先注册: echopoint.ui.Installer.register(); 窗口的缺省属性是不自动关闭. window.setDefaultCloseOperation(Window.DISPOSE_ON_CLOSE); 调试时错误在IDE中不打印. 修改代码EchoServlet. Resin在类发生变动后会马上Reload, 适合UI调试 通过Maillist向Echo提出改进建议. 向EchoPoint推荐你的控件. 做出代码修正请向作者提交, 它是LGPL的.  

回头看看服务器端控件技术, 它在无状态的HTTP基础上模拟了有状态的连接, 实现了状态维护和事件处理. 代价是更大的资源消耗, 把开发人员的痛苦转嫁给了服务器. 它是傻瓜型的, 屏蔽的互联网的个性, 让没有B/S知识的人也能开发, 用桌面程序的写法来写B/S程序. 一些原来很复杂的桌面程序, 现在我们可以轻松搬到浏览器上来实现, 甚至代码移植都很轻松. 而客户端无需任何额外插件. ASP.net已经采用了. SAP即将推出的WEB DYNPRO技术也采用了类似的机制. 把它用在门户网站上可能不大合适, 用在OA, ERP之类项目上应该是明智之举.

感谢nextapp公司为我们提供了Open Source的Echo. 希望大家在享用的同时也能做些有帮助的事, 下面是我能想到的两个两件:

做个图形化的设计工具. 做个基于schema的动态界面生成/静态代码生成+数据绑定/验证的程序.

原来在教程6里面计划了一个午餐订饭的例子, 被我写的过于复杂, 因此砍掉. 有兴趣的朋友可以到这里下载: 里面用到了本教程里面提到的一些雕虫小技, 仅供参考.

本文地址:http://com.8s8s.com/it/it17926.htm