Dorado7与Extjs的比较

Dorado7与Extjs的比较

<!--[endif]-->

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

产品功能设计方面的比较

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

界面效果的比较

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

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

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

 

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

 

 


 

Dojo与ExtJs的比较 Dojo 适用场景:企业应用和产品开发。 Dojo是一个强大的面向对象JavaScript框架。主要由三大模块组成:Core、Dijit、DojoX。Core提供 Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。Dijit是一个可更换皮肤,基于模板的WEB UI控件库。DojoX包括一些创新/新颖的代码和控件:DateGrid,charts,离线应用,跨浏览器矢量绘图等。dojo以前就是以组件全面而出名,不只是UI组件很全,其他非UI组件也很全(比如map之类的),甚至有一些3D啊之类的组件,在以前HTML不支持 canvas的时候,Dojo就有这样的组件了。 立即下载

相关推荐

10xGenomics Loupe Browser实战指南:从数据导入到细胞注释全流程解析

本文提供了10xGenomics Loupe Browser的实战指南,详细解析了从数据导入到细胞注释的全流程。作为一款强大的可视化工具,Loupe Browser能帮助研究者直观探索单细胞测序数据,通过交互式操作进行细胞选择、差异基因分析和细胞类型注释,是单细胞数据分析入门和结果验证的高效平台。

blue42的博客 453

ExtJS,JQuery,Dojo的小比较

这几个都是JS库里几个有名帮派,以前用过Dojo,现在用ExtJS,JQuery没有真用过,只是看了下官网上的文档。 ExtJS: 首先是那个API docoment做得特别好,已经实现的组件几乎无所不包,把例子改改几天就可以出来个像模像样的界面。 ExtJS的编程理念有点类似Swing或类似的东东,就是摒弃html自身的那些布局(通过renderTo之类的用法也可以指定到html文件的d...

zhiming1164的专栏 293

基于FFT的阵列方向图快速计算公式推导

因为自己毕设涉及到阵列方向图综合相关知识,最近阅读了关于方向图综合的相关文献,就其中关于使用FFT计算阵列方向图的方法进行了公式推导。 简介: 自从1965年Colley-Tukey发表快速傅里叶变换[1]论文以来,FFT在许多科学技术领域获得了广泛和成功的应用。在阵列信号处理与雷达信号处理领域,随着科技的发展,对于电尺寸较大的相控阵天线,使用公式按照级数求和计算天线阵列方向图的方法效率甚低,...

qq_38151438的博客 4290

JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景

随着web2.0的彪悍发展,以及浏览器端所承载的工作越来越大(在不是很影响性能的情况下,开发者都习惯把能用浏览器做的事儿都让浏览器做,以减轻服务器的压力和带宽费用等)。所以Javascript已经成为了web开发最最基本的要求之一了。 而在现实的敏捷开发中,我们通常会选择一个JS框架来取代繁琐的Native Javascript的编写。你会发现这样会节省很多的时间,写的代码也很清晰便捷。(当然

xianshengsun的博客 5016

中国石油招标投标网 — 中标候选人爬虫技术分析

复制真实浏览器的 TLS 握手参数(密码套件顺序、TLS 扩展、ALPN 等),绕过基于 JA3/JA3S 指纹的服务端检测。所有 API 请求体使用 RSA-1024 公钥加密,响应体使用私钥解密,HTTP body 全程为密文。库使用 urllib3 的默认 TLS 握手参数,与真实浏览器差异明显,易被 JA3 指纹检测工具识别。密钥隐藏在 CSS 文件中,这是一种隐蔽分发技术,防止简单的密钥抓取。切换次数越多,等待时间越长,最大 60 秒,避免被代理 API 限流。为空,也返回包含基础信息的空行。

猫敷雪 285

构建栅格地图matlab代码

1 使用MATLAB实现地图栅格化 效果图如下所示 图1 ...

qq_59747472的博客 4518

Ext JS6框架各库文件的区别

ext.js: 压缩文件。基础框架,动态装载扩展类。 ext-all.js: 压缩文件。整个框架。 ext-all-debug.js: 未压缩文件。整个框架 ext-debug.js: 未压缩文件。 基础框架,动态装载扩展类。 ext-all-rtl-debug.js: 未压缩文件。包含整个框架和对right-to-left的支持。 ext-all-rtl-sa

科华在线 3903

2.STM32F407ZGT6 学习笔记-移植 FreeRTOS

1. 在工程下建议FreeRTOS文件夹 2. 在FreeRTOS文件夹下建立 src 和 port 文件夹 (src用于存放freertos源码,port文件夹存放内存和接口相关的文件) 3. 复制freertos/source文件夹下所有c文件复制到刚刚建立的freertos/src目录下 4. 复制FreeRTOSv9.0.0\FreeRTOS\Source\portablex下的MemMang和RVDS文件夹复制到刚刚建立的port问价夹下 5. 将FreeRTOSv9.0.0\FreeRTOS

Car12 1233

dorado7

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33982670的博客 140

把 ABAP 经验装进 GitHub Copilot 的按需大脑,Agent Skills 如何改变 ABAP 开发

2026 年 8 月,SAP Community 上出现了一次很有代表性的 ABAP 实验。开发者把标准 Flight Model 里的复制成自己的测试类,删除原有 ABAP Unit Test,再让 GitHub Copilot Agent 为方法重新生成测试代码。真正有意思的地方并不是 Copilot 会不会写,而是开发者给 Copilot 准备了两个专门的 Agent Skills,一个负责 ABAP Unit Test 的通用规则,一个负责 ABAP Test Double Framework。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 155

SAP SmartForms字体 :从OTF缓存溢出到完美解决

精准诊断:遇到错误,首先区分是图片过大还是字体嵌入导致。删除图片测试是最快的判别方法。字体上传规范始终从SE73入口上传用于表单打印的字体。强烈建议应用SAP Note 1301018,确保上传时勾选“不替换其他字体”,避免系统自动替换引发的意外问题。如需为同一字体族上传粗体、斜体等变体,请在SE73初始屏幕上勾选对应的属性框(如BOLD),然后分别上传对应的字体文件(如上传过程中,系统会提示输入RTF控制序列信息,这是确保打印预览正常显示的关键步骤,必须正确填写。方案选型快速止血:采用方案一(

Pegasus666的博客 294

dorado7第一次使用感受

今天第一次玩dorado,说一下使用的感受 1、首先是优点: 首先是它的学习文档非常丰富,视频,PDF,PPT,实例,社区一应俱全 界面风格已经帮我们做完,无需担心界面美观的问题 与后台交互非常方便,只需要注解和写java业务方法即可 编码风格类似ExtJs,使用json较多,但是底层是jquery 2、其次是不足(新手情况下): 编辑器方面:没有...

weixin_33721427的博客 437

LeRobot 入门教程(十三)集成自定义的机器人、相机等硬件

本文详细介绍了如何将自定义机器人集成到LeRobot生态系统的完整流程。主要内容包括:1)硬件准备与通信接口选择;2)继承Robot基类实现标准接口;3)定义观察特征和动作特征;4)处理设备连接/断开逻辑;5)支持校准与配置;6)实现核心传感器读取和动作发送功能;7)可选遥操作器集成;8)遵循4项规范打包自定义设备(命名前缀、类名对应、文件结构、模块暴露);9)提供了完整实现示例。通过该方案,开发者可让自定义机器人兼容LeRobot的数据采集、控制管道和策略训练等全套工具链。

2506_90492529的博客 1902

jquery UI 系统界面

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33894992的博客 111

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文本框宽度调整

今天修改项目的bug,用户提出文本框要固定大小,不能根据他输入的内容而变长。经过学习,得到下面三个知识点:1.TextField控件的grow、growMax、growMin属性。grow设定为是否根据文本框的内容来更改,根据用户提出的要求,当然是不更改啦。所以设为false,然后失败(因为当给文本框setValue很长时,它会变得很长,就是用户提出的bug).2.一个组件要让它的autoWi

3339

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Linux Shell 通配符全解析:展开机制、rm 避坑与 ACL 反掩码

Linux 命令行里的通配符并不是由 ls、rm 等命令解释,而是 Shell 在路径名展开阶段完成 glob 匹配,再把文件名列表传给程序。理解这一层,就能解释 rm * 与 rm "*"、find -name '*.log' 是否需要引号,以及无匹配时 nullglob、failglob 的行为差异。掌握展开顺序、* ? [] {} 边界和引号规则,能减少批量删除、日志清理、中文文件名与空格文件名处理中的误操作;在大目录下配合 find -print0 与 xargs -0 还能规避 ARG_MAX 限

weixin_34126557的博客 952

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ExtJS与JQuery对比

首先分别介绍一下ExtJS和JQuery,然后进行对比分析 一、什么是ExtJS? 1、ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlo

chenmoquan的专栏 1万+

几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比

<!--google_ad_client = "pub-7058131363132249";/* 468x15, 创建于 08-6-3 */google_ad_slot = "4187223796";google_ad_width = 468;google_ad_height = 15;//--> <script type="text/javascript"src=

Tisty的兵工厂--新Blog:http://www.UbuntuSky.cn 3264

dojo 与ext 优缺点

        dojo是开源的,也就是不收费,任何人都有使用、修改权,ext则需要向开发者付费,当然我是说用于商业目的,开始学习dojo和ext时,对比二者自然发现了很多问题。      dojo更多需要我们编写的是html元素的属性,大多数的js字dojo框架中已经写好了,而我们要做的只是为这些要使用dojo里js代码的元素属性取好名如dojoType=“dojo.widget.xxx

jackieuni2011的专栏 3037

Dojo到底还有没有人用呢

哎。`DOJO`研究了一段时间了,但是问了周围的同事以及其他互联网公司的同事,都说没用`DOJO`。个人觉得如果是做后台应用的界面端的话,`DOJO`是个不错的选择,严格的面向对象,组件又多也很规范。但是目前大家宁愿选择jquery ui、easyui等等。搞不懂?? 搞得我都不想继续看`DOJO`了。

Sam_Deep_Thinking 4949

extjs中的flex_flex-extjs-dojo比较

1.Flex:优点:1)FLEX可以完全基于可视化拖曳,丰富组件,以及傻瓜式的自定扩展,可以让你对UI高枕无忧.2)FLEX有基于Eclipse的插件以及FlashBuilder独立IDE,有Eclipse的使用经验这方面是得心应手的,调试编辑,跟JAVA几乎雷同,比EXT的JS要省心得多.3)用户体验,这是FLEX的强项了,可以设置大量的动画效果;4)跨平台,这也是FLEX的强项;5)获取后台数...

weixin_39632693的博客 206
上一篇: BDF框架
下一篇: BDF开发框架的搭建(摘)
thinkingdo
博客等级 码龄15年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值