`
thinkingdo
  • 浏览: 14669 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Dorado7与Extjs的比较

阅读更多

Dorado7Extjs的比较

<!--[endif]-->

Dorado7Extjs都是开源的Web展现层开发技术。表面上看似乎是相似度很高的两款产品,然而事实上他们之间存在很大的差别。究竟这两款产品各自适用于哪些场景呢?本文将从以下几个方面出发来对Dorado7与和Extjs做些比较。

产品功能设计方面的比较

众所周知,Extjs是一款优秀的前端Javascript库,拥有了一整套精美的界面控件。而Dorado7能做的并不仅限于此,对Web应用的开发者而言,Dorado7能够提供一个更加完备的生态系统。

要使用Extjs开发Web应用,开发者往往需要做很多前期的框架性工作。首先我们能想到的问题就是前端与后端如何进行数据交换,从Extjs提供的示例来看这似乎并不困难。然而对于真正的应用开发过程而言,这仅仅是一个开始,要让一个框架从可用变得好用、易用还有很长的路要走。

Dorado7的全称是Dorado展现中间件,从命名就可以看出Dorado7中有的并不只是Javascript,除了界面控件还包含大量的服务端Java实现,里面涵盖了展现层开发过程中所需要用到的大部分封装。所以,Dorado7提供的并不仅仅是控件,而是一种新的展现层的开发模式。

如果说Extjsdojo等带来的是一种大量依赖Javascript的开发模式,那么GWTJSF等就是另外一个极端,他们提倡尽可能的利用Server端的技术来掩盖对Javascript的需求,这么做带来的弊端就是大大增加了前后端之间的通讯次数。而Dorado7带来的则是介于两者之间的、集两者优点一种模式,Dorado希望在利用一些服务端技术降低界面开发复杂性的同时仍能充分发挥Javascript所具有的灵活性。要实现这种开发模式,必须依赖于大量的后端实现,就像GWTJSF一样。

 

所以,Extjs和Dorado7其实并不是一个层面上的两个产品,一个是只包含Javascript的控件库,而Dorado7则是一种包含控件库的展现层开发框架。Extjs和Dorado7就好比咖啡豆和咖啡原液,咖啡豆固然可以泡成咖啡,但是大部分人并不知道该如何下手,手艺若是不精反倒会搞砸。

使用门槛和开发效率的比较

Extjs很强大,然而要把Extjs用好却并不是一件很简单的事,使用Extjs要求较高的Javascript技能。对于一个稍具规模的团队而言,通常只有少数几个人能够熟练的掌握Extjs的开发,这并不利于Extjs在大型项目团队中的推广。尽管Extjs推出已有相当长的时间,并且在业界享有相当高的声誉,但是事实上我们却很少在企业应用中看到Extjs的身影,Extjs更多仍只是掌握Geek们手中的*护手钩,更常被用在工具类产品中。

另外,ExtjsAPI虽然十分强大且灵活,但是利用Extjs开发出的页面的,其主要部分都是Javascript,大量的Javascript并不利于阅读和修改,因此Extjs对于项目的后期维护并不能带来正面的帮助。

Dorado7的设计初衷与Extjs不尽相同,Dorado7主要为MISWeb应用的开发设计,因此在降低使用门槛方面投入了很多的精力。这里列举Dorado7中比较有代表性的两个特性来说明这个问题。

基于XML文件的界面开发模式

Dorado7在其默认的开发模式中抛弃了JSP,转而使用XML作为定义前端界面的主要形式。同时Dorado7还有专用的IDE(Eclipse Plugin形式)用以辅助这些XML的定义。这样设计的好处是可以大幅的降低产品的学习难度,同时提高应用的开发效率,降低后期维护的成本。近年来的很多展现层产品都采用了类似的模式并且获得了不错的反馈,例如SilverLightXUL

另外,您也不必担心XML的引入会降低Dorado7的灵活性。Dorado7的设计原则是利用XML配置文件快速的完成70%页面定义,然后通过用户事件、监听器等完成剩余的30%的客制化。这一设计理念始终存在于Dorado产品的中,在早期的Dorado5版本中就已经得到了很好的用户反馈。

以数据模型为核心的开发模式

由于MISWeb应用中绝大部分逻辑都是在处理结构化的数据,因此Dorado7特别强调以数据模型为核心的开发模式。即Dorado7把界面中的数据提取出来变成一种独立的模型对象,同时把展现控件设计成可与数据模型进行绑定的数据敏感控件,使它们接受数据模型对象的管理。通过这种方式,我们把大部分的前端逻辑都提取并集中到了数据模型中。

例如当我们希望看到编辑框的值被自动设置为某数值的界面效果时,Dorado开发人员要做的并不是通过编辑框的API去修改编辑框的值,而是直接修改编辑框关联的数据模型中的属性值,然后数据模型会自动的更新编辑框中的显示。

这种设计可以带来诸多好处。首先,开发人员在普通的开发过程中接触到的API数量大幅减少,上手更快。其次,较为集中的页面逻辑代码有利于提高开发和维护效率。另外,开发人员也可以在开发过程中更加聚焦于业务逻辑本身的实现,不必频繁为琐碎的界面效果和API用法分散思维。

如果说Extjs是护手钩,那么Dorado7就是剑。
护手钩,练成后威力巨大,但难于练成,练习过程中多发自伤,属于奇门兵器。
剑,初学即能上手,练到深处,出神入化。

界面效果的比较

由于ExtjsDorado7并不是同一级别的产品,所以前面的比较都变成了“有”和“无”的比较。接下来我们单独来看看两者中功能重合度较高的部分——界面控件。

单说展现效果,Extjs或许是目前业界做的得最好的。而Dorado7的展现效果十分接近Extjs的水准。看到这里或许您会有一个疑问,为什么Dorado7的前端不直接使用Extjs而是要另起炉灶?答案一小部分是因为ExtjsLicense,更重要的原因是Dorado7对前端的设计思路有着与Extjs不同的理解。

评价一套界面控件并不能只看展现效果,更要看它的整体设计。如前文所说,Dorado7特别强调以数据为核心的开发模式,又提出了独创的“立体数据模型”的概念。因此Dorado7从一开始就将这种特性融入到了控件的设计中。而对于已经成熟的产品如Extjsdojo等,是很难在后期自然融入这些设计理念的。

 

综上所说,在前端控件方面,目前Extjs在控件表现力方面略微胜出Dorado7,在实现数据绑定方面则是Dorado7更加方便和自然,而这正是MISWeb应用所需要的。放眼未来,在控件表现力方面,相信Dorado7可以借助其Addon扩展机制迅速的弥补与Extjs之间的微小差距。

 

 


 

分享到:
评论

相关推荐

    Dorado7/9开发环境 (解压即用Eclipse+dorado插件)支持dorado7和dorado9

    标题中的"Dorado7/9开发环境 (解压即用Eclipse+dorado插件)支持dorado7和dorado9"表明这是一个专为Dorado7和Dorado9开发设计的集成开发环境(IDE)。这个环境基于Eclipse,一个广泛使用的开源Java IDE,它已经被扩展...

    dorado7-eclipse研发工具

    【 dorado7-eclipse研发工具 】是一款专为 dorado7 前端框架开发设计的集成环境,尤其适用于那些需要进行国有企业和银行等传统项目的后期维护工作。Dorado7 是一个基于Java的企业级Web应用开发框架,它提供了一整套...

    dorado7-ide-0.7.2.zip

    《Dorado7 IDE 0.7.2:前端开发的新选择》 在当前的软件开发领域,前端框架的发展日新月异,其中Dorado7以其独特的特性和强大的功能,逐渐吸引了众多开发者的关注。而“dorado7-ide-0.7.2.zip”这个压缩包,正是为...

    dorado7离线中文文档.7z

    【标题】"dorado7离线中文文档.7z" 提供的是 Dorado7 开发的重要参考资料,它是一份详尽的 Dorado7.5 官方离线文档,适用于那些在开发过程中需要离线查阅 Dorado 框架相关知识的开发者。Dorado 是一个功能强大的富...

    Dorado7插件,Eclipse+dorado7插件合集下载地址,百度网盘永久有效地址

    内含Dorado7插件,Eclipse+dorado7插件合集下载地址,百度网盘永久有效地址。

    dorado7插件包 最新2012.01-30

    Dorado7是一款强大的企业级应用开发和展示层框架,它主要由一系列插件和功能组成,为用户提供高效、灵活的用户界面设计与数据管理能力。这个"2012.01-30"版本的插件包包含了该时间段内Dorado7的最新更新和改进,旨在...

    dorado dorado7 实战 标准课程 初级中级 示例代码

    《Dorado7实战:从初级到中级的探索与实践》 Dorado7是一款高效、灵活的企业级服务开发框架,主要用于构建复杂的企业应用。本实战课程旨在帮助初学者和有一定基础的开发者深入理解Dorado7的核心概念和技术,通过...

    dorado7链接数据库文件

    提供的XML配置文件主要是关于dorado7如何与Oracle数据库进行连接的配置。该配置文件遵循Spring框架的配置规则,包含了多个`&lt;bean&gt;`元素,用于定义不同的对象实例及其配置属性。 #### 2. 数据源配置 数据源是连接...

    dorado7项目环境-jar包

    Dorado7的前端部分主要负责展示和交互,它的特点是与后端逻辑紧密结合,通过Ajax技术实现实时的数据交换。在开发过程中,理解并熟练使用Dorado7的组件API和事件处理机制至关重要,这将直接影响到应用的性能和用户...

    dorado7 API中文(看评论酌情下载)

    Dorado7 API是一套基于RESTful架构的接口,它允许开发者通过HTTP/HTTPS协议与Dorado7系统进行交互。这种设计使得API易于理解和使用,同时支持跨平台的访问,无论是在Windows、Linux还是其他操作系统上,都可以轻松...

    dorado 7 前端页面js动态创建控件 demo代码

    在Dorado 7中,前端页面的开发常常涉及到JavaScript动态创建控件的场景。Dorado是一个功能强大的企业级UI框架,它提供了丰富的组件库和强大的数据绑定能力,使得开发者能够构建出交互性强、用户体验良好的Web应用。...

    Dorado 7插件包下载和安装图解(亲测可用)

    资源中提供了,下载地址和Dorado 7插件安装方法,可以安装在MyEclipse,Eclipse中任意版本,注意选择你IDE内嵌的Eclipse版本

    dorado7.zipjar

    【 dorado7.zipjar 】是一个与 Dorado 相关的压缩文件,它包含了 `dorado7` 这个特定版本或模块的资源。Dorado 是一个高度可扩展且功能丰富的Java企业级应用开发框架,它专注于提升用户体验,提供数据可视化、业务...

    Dorado7入门

    8. **事务与安全**:学习如何在Dorado7中配置和管理事务,以及实现安全控制。 9. **部署与调试**:熟悉Dorado7的部署流程,学会使用其提供的调试工具。 10. **最佳实践**:学习社区推荐的最佳实践,以提高开发效率...

    dorado7 bdf按钮图片快捷

    【 dorado7 与 BDF 按钮图片快捷使用详解】 在 IT 领域,尤其是企业级应用开发中,Dorado7 是一个广泛使用的轻量级前端框架,它为构建用户界面提供了丰富的组件和功能。BDF,全称为 Business Data Form,是 Dorado7...

    Dorado7demo

    本实例旨在帮助学习Dorado7的同学深入理解其核心特性和实际应用,通过JDBC调用、结合Spring与Hibernate的开发方式,全面展现Dorado7的强大功能。 一、Dorado7基础知识 Dorado7的核心理念是“业务驱动”,它以模型...

    Dorado7.x 基础培训详解

    本教程适合初次接触Dorado7 的人学习,通过本教程可以初步了解Dorado7 的设计诉求以及实现原理,并借此掌握Dorado7 中的基本概念和基本术语,例如立体数DataPath, DataType, DataProvider,DataResolver 等。...

    Dorado7.x快速入门详解

    ### Dorado7.x快速入门详解 ...总之,Dorado7.x快速入门详解不仅涵盖了从环境配置到基础功能使用的方方面面,还深入探讨了高级特性与技巧,为开发者提供了一条从新手到熟练掌握Dorado开发的清晰路径。

    Dorado7实现部门以及部门下员工信息增删改

    在这个场景中,我们讨论的是如何利用Dorado7实现部门及部门下员工信息的增删改功能,同时与MySQL数据库进行交互。 首先,我们需要理解数据库的基础架构。Mysql是一个广泛使用的开源关系型数据库管理系统(RDBMS),...

    Dorado7研发文档

    根据提供的"Dorado7研发文档"的信息,我们可以提炼出多个关键知识点。这些知识点涵盖了从项目的基础概念到具体的开发技巧,以及研发手册中所涉及的技术细节。接下来将逐一进行详细阐述。 ### 一、词汇表(V) ####...

Global site tag (gtag.js) - Google Analytics