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

简介: October 10th, 2006 by Eric Miraglia http://www.yuiblog.com/blog/2006/10/10/ten-questions-slocum/ 这是去年10月份(2006.

October 10th, 2006 by Eric Miraglia

http://www.yuiblog.com/blog/2006/10/10/ten-questions-slocum/

这是去年10月份(2006.10)的文章,不经不觉,YAHOO-ext / ExtJS 已经走过一年多的时间,让我们在 2.0 正式版临发布之前,重温一下 Jack Slocum 其人其事以及为什么要开发 ExtJS 的最初端倪……

Q:您好,请问您是如何进入前端工程(Front-End engineering)这一行,为我们讲讲您的经历? What is your background in front-end engineering?

Jack Slocum:好的。从1995年起,我便接触 WEB 开发,那时我主要做的是建公司网站,后来我也参与了一些较有璩头的网站,如compare.net (现在的shopping.msn.com)、 howardstern.com drlaura.com

I have been doing web development since 1995. Most of my experience has been in building corporate web applications. I have also been involved in some high profile public sites such as compare.net (now shopping.msn.com), howardstern.com  and drlaura.com.

Q:什么使得你选择 YAHOO! UI 来做扩展?What led you down the path of extending YUI?

Jack Slocum:有四到五年的时间我只用在 IE 上做开发。但随着 Firefox 等浏览器日渐流行,迫切我们需要一个能够方便出来跨浏览器的一个方案。YUI 正好可以帮到我轻松地过渡此类问题。伴随开发的不断深入和了解,我发现有几种办法可以让我改进、或者说扩展原有 YUI 的功能。今年的八月份我建立了关于 YUI 的 博客开始了 YAHOO-ext 的开发。

For 4 or 5 years most of the front-end development I was doing was IE-only. As FireFox and other browsers starting gaining popularity, the need for a cross-browser solution arose. This is where YUI stepped in and made the transition easy for me.  As I did more development, I saw various ways I thought I could improve upon and/or extend the YUI base functionality. In August of this year, I started my YUI related blog and subsequently began working on the YUI Extensions library. 

Q:项目 yui-ext 的真正目标是什么? What are the core goals of the YAHOO.ext project?

Jack Slocum:为改进整个 YUI 可用性创建一个对象可复用的库和小器件(widgets)并且使得 YUI 不需要其它库的帮忙。

To create a library of reusable objects and widgets that improve the overall usability of YUI and make it possible to use YUI without the need for other libraries.

Q:目前你写了那些组件?What components have you written so far?
(译注,这是去年06年 10月份的文章,组件当时到现在的情况可能有较大的变化。请参阅相关已更新的讯息)
Jack Slocum:A Grid component that supports various data sources, paging, inline editing and various selection models.
A flexible SplitBar component.
A basic TabPanel component.
A basic Toolbar component.
An extended Animation library built on top of YAHOO.util.Anim that supports automatic animation sequencing and synchronization.
A variety of utility classes that make every day development with YUI a little easier:
Element: Simplifies working with DOM elements. It also supports performing YUI animations automatically when setting an element’s properties.
DomHelper: Highly optimized DOM creation and in-browser templates utility.
EventManager: Takes YAHOO.util.Event one step further and provides normalized browser event objects.
UpdateManager: Ajax helper to manage DOM element updates.


Q:Grid 组件已经吸引了很多人的注意力。这个组件统计过有下载多少次吗?到目前为止,yui-ext 被下载过多少?The Grid component has generated a lot of attention in the blogosphere.  How many downloads have you logged of that component?  How many downloads have there been to-date of YAHOO.ext in total?

Jack Slocum:遗憾的是,我这两个礼拜才统计的,将近超过5000次下载了。

Unfortunately I didn’t start tracking downloads until recently, but in the past 2 weeks there have been over 5000 downloads.

Q:文档和 Grid、其它扩展的支持,准备得怎么样?What is your current approach to documenting and supporting the Grid and the other Extensions?

Jack Slocum:正如 YUI 小组的观点一样,我认为文档是非常重要的一环。所有组件都已经归档和附有若干的范例,而且对于每个组件,我博客至少有一篇贴子是用浅显的英文来说明每个组件是如何使用。

Like the YUI team, I believe documentation is very important. All of the components are well-documented and there are generally multiple examples and at least one post on my blog describing how to use each component in plain English.

Q. The Ajaxified phpBB interface is slick and has been the subject of a lot of discussion.  How hard is it for a site owner to implement your interface on an existing bulletin board?

Jack Slocum:The phpBB interface was intended to be a small project I was doing on the side for my site. Somehow it hitthe front page of Ajaxian, and now everyone wants a copy. It’s only about 20% completed and I have no timeline for when it will be done.


Q:上个礼拜,你发布了 DOM Helper,一个可以让开发者注入 DOM 的工具,比起其它库的工具性能要高。未来新版的主要功能是什么? Last week you releaseda DOM helper utility that allows developers to do DOM injection with much better performance than in comparable utilities in other libraries.  What are the core features of this new utility?

Jack Slocum:
DomHelper 和模版类提供了提取 DOM 元素的跨浏览器方案。有别于其它传统 API 只是提供简洁、友好的方式,DomHelper 类还提供了如 HTML 片断和模版的高效插入方法。与 Scriptaculous Builder 、Mochikit 之间的实时测试。 

The DomHelper and Template classes provide a cross browser abstraction of creating DOM elements. Unlike the traditional approach of only providing a cleaner and more developer-friendly DOM API, the DomHelper classes also transparently provide more optimized insertion methods such as HTML fragments and template building.  The live benchmarks verse Scriptaculous Builder and Mochikit areavailable here  and clearly show the performance benefits of using DomHelper.

Q:你 Wordpress 评论系统可以允许读者在不同的段落上发表评论,这一点,网友们很感兴趣,想知道你什么时候公开这个插件。Bloggers reacted enthusiastically this week to yourWordPress comments system that allows readers to comment on individual paragraphs of a blog entry.  Any idea when this plugin will be released publicly?  What other WordPress plugins might we expect down the road? 

Jack Slocum:真正做这个评论系统的原因是能够让人们在教程中,或者是范例中,针对性地根据某一段代码、或者是话题,提出他们的问题或 POST 他们的想法。我不确定这能否做成 WordPress 的插件,因为我手工地修改过 WordPress 的核心程序。

The real reason for creating the comments system was to allow people to ask questions or post comments about specific code blocks or topics in my tutorial and example blog posts. It also serves as a good example of using YUI in a real world application. I’m not sure if it could be made into a traditional  WordPress plug-in since I had to modify some of the core WordPress functionality (that is not available to plug-ins) to make it work.

Q:你下一个开发 RoadMap 是?What’s next on your development roadmap? 

Jack Slocum:下一个版本中将有"Resizable 组件" 可以使某个元素可缩可放;还有一个表单库,弄成一个带有实时数据验证、数据绑定、普通桌面式的用户体验,还有一些 idea 如任务栏(像 windows explorer)。Grid 也会改进 columns 和渲染的问题。 

The next release will include a “Resizable” component which can be applied to any element to allow that element to be resizable by the user. I have also begun working on a Forms library that will make it possible to create rich forms with real-time data validation, data-binding and a desktop-like user experience. Some other ideas include a TaskPanel (like in Windows Explorer) and there are still quite a few features to implement in the Grid, like fixed columns and column reordering.

Q:你期待中 YUI 是怎么样子的? What are you hoping to see next from the YUI project?

Jack Slocum:肯定是……不需要重复开发 Grid 组件了:-)。而我最想要的组件是 History Utility。对比过那么多 AJAX 的项目,YUI 是有它独特的魅力散发着,也会越来越好的。

Definitely not a Grid component. :-)  I am looking forward to the History Utility. I think that’s something overlooked in many Ajax projects and having a YUI solution would be great.

Q:有其它开发者一起开发 yui-ext 吗? Are other developers getting involved in YAHOO.ext?

Jack Slocum:现在已经有不少朋友在帮我忙,他们替我解决了不少的问题(如 Safari 上面的)。我很乐意收到用这个库朋友们的反馈和建议。目前是我一个人在做,当然有大家的帮助会更好。

There have been a few people who have helped me a great deal with fixing various issues (especially on Safari), and I’ve been lucky to receive a lot of feedback and ideas from people using the library. Currently I am the only one working on core development, but I can definitely use some help.

Q:开发者如何参与项目的实践? How can developers get involved if they want to participate? 

Jack Slocum:最好是来论坛多讨论 http://www.jackslocum.com/forum/,你也可以直接发邮件到我的邮箱。

The best way is by posting in the Development Discussion forum athttp://www.jackslocum.com/forum/. You can also e-mail me directly at jack dot slocum at yahoo dot com.

目录
相关文章
|
9月前
|
人工智能 自然语言处理 程序员
在通义灵码里用上DeepSeek-V3 和 DeepSeek-R1 满血版671B模型
除了 AI 程序员的重磅上线外,近期通义灵码能力再升级全新上线模型选择功能,目前已经支持 Qwen2.5、DeepSeek-V3 和 R1系列模型,用户可以在 VSCode 和 JetBrains 里搜索并下载最新通义灵码插件,在输入框里选择模型,即可轻松切换模型。
4753 15
|
消息中间件 Java 大数据
"深入理解Kafka单线程Consumer:核心参数配置、Java实现与实战指南"
【8月更文挑战第10天】在大数据领域,Apache Kafka以高吞吐和可扩展性成为主流数据流处理平台。Kafka的单线程Consumer因其实现简单且易于管理而在多种场景中受到欢迎。本文解析单线程Consumer的工作机制,强调其在错误处理和状态管理方面的优势,并通过详细参数说明及示例代码展示如何有效地使用KafkaConsumer类。了解这些内容将帮助开发者优化实时数据处理系统的性能与可靠性。
336 7
|
XML JSON Java
Spring Boot添加消息转换器HttpMessageConverter
spring boot添加消息转换器HttpMessageConverter
3331 0
Spring Boot添加消息转换器HttpMessageConverter
|
安全 Java 编译器
是时候来唠一唠synchronized关键字了,Java多线程的必问考点!
本文简要介绍了Java中的`synchronized`关键字,它是用于保证多线程环境下的同步,解决原子性、可见性和顺序性问题。从JDK1.6开始,synchronized进行了优化,性能得到提升,现在仍可在项目中使用。synchronized有三种用法:修饰实例方法、静态方法和代码块。文章还讨论了synchronized修饰代码块的锁对象、静态与非静态方法调用的互斥性,以及构造方法不能被同步修饰。此外,通过反汇编展示了`synchronized`在方法和代码块上的底层实现,涉及ObjectMonitor和monitorenter/monitorexit指令。
1504 0
|
设计模式 安全 Java
深入理解Spring Boot AOP:CGLIB代理与JDK动态代理的完全指南
深入理解Spring Boot AOP:CGLIB代理与JDK动态代理的完全指南
3606 1
|
存储 安全 Java
日期时间之争:Date与LocalDateTime的决胜局
日期时间之争:Date与LocalDateTime的决胜局
4146 0
|
Java
java: 警告: 源发行版 11 需要目标发行版 11”错误解决(解决方案整合)
java: 警告: 源发行版 11 需要目标发行版 11”错误解决(解决方案整合)
3609 0
|
存储 Oracle 关系型数据库
高性能 MySQL(四):多版本并发控制(MVCC)
MVCC(Multiversion Concurrency Control)即多版本并发控制,它是数据库系统常用的一种并发控制,用于提升事务内数据的并发性。可以认为 MVCC 是行锁的一个变种,在很多种情况下避免了加锁操作,因此开销更低。 MVCC 的实现,是通过保存数据在某个时间点的**快照**来实现的。也就是说,每个事务读到的数据都是一个历史快照,不管这个事务执行多长时间,事务内看到的数据总是一致的。
505 0
|
前端开发
【内网穿透】使用Ngrok免费内网穿透
使用前后端分离搭建项目的时候,前端人员需要对接接口进行调试但是部署上服太麻烦怎么办?快来试试内网穿透吧,今天教大家使用Ngrok进行免费的内网穿透
7253 4
【内网穿透】使用Ngrok免费内网穿透
|
XML Java 数据格式
SpringBoot配置文件 | 多环境配置 | 读取配置的4种方式
SpringBoot配置文件 | 多环境配置 | 读取配置的4种方式