CSDN博客

img steeven

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

发表于2003/3/25 9:33:00  1693人阅读

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

优点/缺点

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

优点:

  1. 用OO的方法开发B/S程序, 完全面向对象编程.
  2. 无需HTML和脚本知识, 由框架生成标准的HTML和脚本, 客户端仅仅需要浏览器, 无需额外插件.
  3. 服务器端控件提供状态管理
  4. 基于事件的编程方式.
  5. 可以利用模板沿用HTML界面.
  6. 基于窗口的状态管理, 而不是基于页面的状态管理
    asp.net的状态管理基于页面. Echo的窗口管理基于Frame, 因此有如下好处:
    1. 打开/隐藏/关闭其它窗口
    2. 后台提交
    3. 页面根据需要刷新
    4. 修改其它窗口的控件后, 内容马上更新.
  7. 利用设计模式, 可以很好的统一风格. 方便后期页面修改
  8. 有大量的模板可用. 并且可以自行开发控件.
  9. 控件的积累/重用
  10. 模块化开发
  11. 适合编写复杂输入, 有多个子窗口的页面.
  12. 基于Servlet的机制, 可以和现有的框架(JSP,Struts,Coocoon)组合使用, 取长补短.
  13. 支持IE,Opera,Netscape,Mozilla.

缺点:

  1. 资源开销大, 不适合高负载场合
  2. 对浏览器版本有要求
  3. 自行开发控件有一定的难度
  4. 还没有成熟的数据绑定支持
  5. 缺乏可视化的开发工具
  6. 入口固定, 不能直接链接到内部. (很象桌面程序)
  7. 版本不稳定

Tips:

  1. 利用设计模式实现网页的MVC.
  2. 页面上有大量相似元件时, 可以把它写成控件, 直接使用.
  3. EchoPoint使用前要先注册: echopoint.ui.Installer.register();
  4. 窗口的缺省属性是不自动关闭. window.setDefaultCloseOperation(Window.DISPOSE_ON_CLOSE);
  5. 调试时错误在IDE中不打印. 修改代码EchoServlet.
  6. Resin在类发生变动后会马上Reload, 适合UI调试
  7. 通过Maillist向Echo提出改进建议.
  8. 向EchoPoint推荐你的控件.
  9. 做出代码修正请向作者提交, 它是LGPL的.

 

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

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

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

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

0 0

相关博文

我的热门文章

img
取 消
img