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

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有