临发布2.0前对ExtJS作者Jack Slocum的访谈

转载 2007年10月12日 10:06:00

临发布2.0前对ExtJS作者Jack Slocum的访谈

作者 Scott Delap译者 Frank Cheung 发布于 2007年10月11日 上午8时9分

社区
Java
主题
Web框架

在Ext下一个版本的预览文章发布近一个月之后,ExtJS团队最近发布了该框架的2.0 alpha版本 ,包含以下新功能:

  • 可编组和摘要的表格
  • 可滚动的Tabs
  • 固定布局
  • 包含列的Tree器件
  • Web桌面
  • 新API文档中心
  • 一些新演示

需要指出的是,ExtJS2.0的API已经被数个客户投入到产品开发的环境中,并已经是稳定的API。框架遵从LGPL3.0的协议,也提供商业和OEM的许可。2.0最终完成时间大约定在十月底。

InfoQ特约了ExtJS的作者Jack Slocum就这次发布进行了访谈:

解析一下ExtJS与JavaScript生态系统下JQuery、Dojo、Prototype、YUI等之间的关系。是不是打算构建一个多层的JavaScript的框架?还有,为什么我们需要结合以上的库,而不是单纯使用ExtJS(虽然可以单用)?

JQuery、Prototype和YUI都属于非常核心的JS库。虽然YUI,还有最近的JQuery,都给自己构建了一系列的UI器件(Widget),不过却没有一个真正的整合好的和完整的程序开发平台。哪怕是这些低层的核心库已经非常不错了,但当投入到真正的开发环境中,依然需要开发者做大量的工作去完善很多缺失之处。而Ext就是要填补这些缺口。主流开源框架中只有Dojo像Ext一样,尝试着提供整合的开发平台。相比Dojo这个出色的工具包,我们认为Ext能提供一个粘合度更高的应用程序框架。Ext的各个组件在设计之时就要求和其它Ext组件组合一起工作是无缝合作的。这种流畅的互通性,离不开一个紧密合作的团队,还必须时刻强调设计和开发这两方面目标上的统一,而这点是很多开源项目未能做到的。从构建每一个组件开始,我们始终都强调组件的外观、性能、互通性和可扩展性,而我们认为组件已经达到了这几点的要求。

Ext绝对可以单独使用。实际上,除了有特定的要求,推荐单独使用Ext,这样的话文件占位更小,支持和整合也更紧密。我们也支持与jQuery、YUI或Prototype整合使用,作为低层库的角色出现,以提供处理各种核心的服务,如DOM和事件处理,Ajax连接和动画特效。使用整合方式的一个原因是它们已具备了一些特定的器件而Ext并没有原生支持——像YUI的History控件便是一个典型的例子。这时,Ext需要依赖YUI这个库的底层来实现History控件,这样一来的话也可免去Ext自身底层库,从而减少了整个程序的内存占用。另一个使用整合方式的原因是,对于许多已在使用其他底层库的程序,你可能希望逐步加入Ext。总之,如果已经有了其他库,Ext可已利用它们。我们的宗旨是为用户提供各种可能性和性能上的优化。而事实是,只要实现了相对应的底层库接口,为任意一个框架添加上适配器是没有问题的——人们可以轻松地将Dojo、Moo、Ajax.NET,或其它JS库转变为Ext的底层。 

要支持这些不同种类的JS库,最困难的事情是什么?

最大的挑战也是最明显的,就是保持Ext与其它库的同步更新,并要保证能良好地配合工作。每当其中的一个库发布了新版,我们必须测试它们,看看有没有哪些变动会导致Ext出现问题。

要支持各种不同的Web浏览器,同样,遇到最大的问题是怎样的?

我们所面对的最大的问题,就是对修改和新增内容的测试和验证花去了大量的时间。不但要处理各浏览器以及版本上的差异,还要对付各浏览器不同文档类型声明(Doc types)之间差异。

可以让我们放心的是,我们直接在Ext中内建了很多工具,让它处理跨浏览器的问题。包括针对Box模型问题常规化的一个基类组件,特定平台的常量值和一些自适应的CSS样式类,这些样式类可解决浏览器怪癖(Browser Quirks)的问题而无须CSS Hacks。 正因为有了这样的内建支持,再加上核心框架是稳定和久经测试的,用户一般不需要过多考虑跨浏览器的问题,从而加快开发速度,并且大大减少应用所需的测试量。

如果有一种鞭策EXT 2.0前进的动力,你能形容下那是什么吗?

为开发者带来坚实和协调的基础平台。尽管1.x版本的EXT已经不错了,但是在某些方面仍有余地可以降低开发者的门槛,并减少代码量。特别在创建复杂程序的时候,我们希望API本身能应付此类较复杂的处理:例如组件的延时渲染、组件的生命周期等任务可以交给API控制,省下开发者手工操作的步骤。关于2.0的另外一个主要改进是一个更加健壮的基础平台,满足了定制组件(插件)、群组组件(容器)和组件初始化的要求。在布局和组件的一致性方面的新改进,意味着一旦你明白了怎么配置好一个EXT的组件,你便能够以相同的方式处理框架内全部其他的组件。最终为用户带来更快速更易用的开发,而没有牺牲EXT本身的体积和性能。

这次2.0的升级你认为最具创新是什么?  

应该说是容器的新架构。在1.x中,程序布局主要是围绕BorderLayout(针对布局)和BasicDialog(针对窗口和对话框)。虽然这两个组件表现不错也非常好用,。但是若想在其基础上复用代码,扩展新功能,就受到很多制肘。在2.0里,我们使用新容器和布局架构,增加了相当数量的布局管理器 (CardLayout、ColumnLayout、FormLayout、TableLayout等共九个),并重新整理了容器API,使得你能以相同的方式将组件加入到TabPanel、Window、Panel等等。总之,我们提供的不只是UI器件,还是一整套运行良好的框架,一个可帮助用户生成应用程序的基础。

你会如何比较用ExtJS和JavaScript与其它技术,如Silverlight和Flex来实现客户端应用?

从某种方面来说,Ext实际会是这些以浏览器插件为基础的新技术的一种补充。Flex和Silverlight都可以包含DHTML/Ajax。我们其中的一个Adobe AIR Simple Tasks演示正是Ext在这种环境下运行的一个好例子。从这个例子,可以看出在EXT的帮助下实现的高质量外观,原生AIR不花费大量时间来包装UI器件和定制CSS难以达到这种程度。

当然,原生的平台拥有一些原生的优势,当前JavaScript没有本地编译和合适工具的支持。JavaScript应用程序更简单的开发和部署模型也自有其存在的空间。Microsoft推出的《Sliverlight企业部署指南(Enterprise Sliverlight Deployment Guide)》,当中有SMS、活动目录(Active Directory)等等一大堆令人头痛的东西——这些都是JavaScript应用中绝不会见到的!另外,新近问世的移动平台(如iPhone)上的JavaScript/DHTML支持却有明显的改进(比插件支持更受欢迎)。看起来还是有很好的理由去选择JavaScript,而不是那些基于插件的技术。

可供选择的工具很多,最重要的是开发者应该针对手头的工作选择最适合的工具。有时候基于插件的技术才是最适合的,但我们很自信JavaScript技术还会在很长的一段时间里占据Web开发的一席之地,而Ext会在其中扮演重要的角色。

ExtJS下一步的计划是什么?

当前的重点是发布一个稳定和可靠的2.0。尽管首次发布的是一个Alpha的版本,但是由于2.0的代码库已经被不少开发者实践使用过,所以我们相信这是一个不错的开始。

查看英文原文:ExtJS Creator Jack Slocum Discusses Upcoming 2.0 Release


译者简介:Frank Cheung有多年Web前端开发经验,动态语言爱好者。负责EXT中文站(www.ajaxjs.com)JavaScript开源论坛Js堂(jstang.5d6d.com)的维护工作。专注Ajax和WebUI,从YUI-Ext起,翻译了不少EXT相关的资料(发布在Javaeye AJAX论坛、和自己的博客上www.ajaxjs.com/frank)。

标签
AJAX,
ExtJS
 

关于焦点小组(Focus Group)访谈法

焦点小组访谈法源于精神病医生所用的群体疗法。目前的焦点小组一般由8-12人组成,在一名主持人的引导下对某一主题或观念进行深入讨论。焦点小组调研的目的:在于了解和理解人们心中的想法及其原因。调研的关键是...
  • MagicQIT
  • MagicQIT
  • 2015年02月02日 13:55
  • 5665

Web前端面试指导(三十一):谈谈你对this的理解

题目点评 主要考察你对面向对象编程的理解,特别是对象的指向问题,如果连对象的指向都搞不清楚,很难说明你是一个优秀的前端开发人员,所以回答this的知识点是体现你的身价的时候到来了!如果能够回答好这个问...
  • lxcao
  • lxcao
  • 2016年10月07日 17:28
  • 4604

[ExtJS5学习笔记]第三十一节 sencha extjs 5使用cmd生成的工程部署到tomcat服务器

使用sencha cmd build app 生成的工程,我们期望只使用cmd打包好之后的那一个压缩后的js...
  • sushengmiyan
  • sushengmiyan
  • 2015年01月21日 00:27
  • 5150

【旧文重温】走近 ExtJs 之关于作者 Jack Slocum 的十个问题

October 10th, 2006 by Eric Miraglia http://www.yuiblog.com/blog/2006/10/10/ten-questions-slocum/ ...
  • zhangxin09
  • zhangxin09
  • 2012年10月20日 10:46
  • 3001

围绕Ext JS 2.0的IDE、插件和工具 by Jack Slocum

Ext 2.0的API包含许多的方法(函数)、属性和配置项,涵盖的面非常大,要全部列出几乎是不可能的。虽然API文档是童叟无欺精心打造的,但实际开发中,若果能够像其它语言Java和C#那样地支持Jav...
  • Eason_lanxum
  • Eason_lanxum
  • 2012年04月23日 16:39
  • 267

《代码本色:用编程模拟自然系统》作者Daniel Shiffman访谈问题有奖征集

Daniel Shiffman是纽约大学Tisch艺术学院助理艺术教授,“代码本色”便是其主讲课程之一。他在耶鲁大学获得了数学与哲学学士学位和交互通讯的硕士学位。多年来,他一直用Processing这...
  • mangocream
  • mangocream
  • 2015年01月03日 23:42
  • 420

《未来简史》作者访谈观点摘要

顺着赫拉利的观点,老羊说,开始时,AI的动机可能就是人的动机,但是很可能AI将超越人类的控制能力,而一发不可收拾。人类的那些的坏动机将会给人类带来恶果,也许是无法挽回的恶果。AI的走向,取决于我们的价...
  • yangkuiwu
  • yangkuiwu
  • 2017年06月18日 21:42
  • 386

JavaEE 快速开发框架 Wabacus 作者访谈 .

Wabacus是一个JavaEE快速开发框架,采用面向声明的开发模式,可以不用编程或极少编程即可实现复杂的数据展示、数据编辑、表单处理等功能,将JavaEE的开发效率提高5倍以上,代码减少60%以上。...
  • cuiyifang
  • cuiyifang
  • 2012年08月10日 10:58
  • 1106

《程序员》 -- 解读游戏设计的奥秘——《The Art of Game Design》作者Jesse Schell访谈

方便大家相互学习交流,本文转自程序员杂志  http://www.csdn.net/article/2013-08-14/2816573 ******************************...
  • xiaoting451292510
  • xiaoting451292510
  • 2013年09月11日 10:06
  • 24991

Openresty作者访谈

关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源软件的应用与发展...
  • aican_yu
  • aican_yu
  • 2012年07月11日 18:15
  • 3212
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:临发布2.0前对ExtJS作者Jack Slocum的访谈
举报原因:
原因补充:

(最多只允许输入30个字)