`

ExtJS Creator Jack Slocum Discusses Upcoming 2.0 Release

阅读更多

Posted by Scott Delap on Oct 03, 2007 01:38 PM

Community
Java
Topics
Web Frameworks
The ExtJS team recently released the alpha release of version 2.0. This comes roughly a month after a preview release of the framework. Among the new features:

 

  • Grouping and Summary of Tables
  • Scrolling Tabs
  • Anchor Layout
  • Tree Widget with Columns
  • Web Desktop
  • New API Documentation Center
  • New Samples

It is noted that the API of ExtJS 2.0 has stabilized and is being used by several clients in production environments. The framework is licensed under LGPL 3.0, commercial, and OEM licenses. The final version is being targeted for sometime near October 31st.

InfoQ caught up with ExtJS creator Jack Slocum to discuss the release:

Explain ExtJS in relation to the JavaScript ecosystem of JQuery, Dojo, Prototype, YUI, etc. Are we moving towards tiers of JavaScript frameworks? Furthermore why do we need ExtJS with JQuery, YUI, or Prototype. Why not just ExtJS (which is an option)?

 

jQuery, Prototype and YUI are primarily core JavaScript libraries. While YUI, and more recently, jQuery do have collections of widgets built to work with them, none offer a truly integrated and complete application development platform. While the core libraries are great, there are still many holes left for the developer to fill when it comes to application development, and Ext is here to help bridge that gap. Dojo is really the only other major open source framework attempting to provide an integrated application platform similar to Ext. While Dojo is a great toolkit, we feel that Ext offers a more cohesive framework for developing applications. The Ext components were designed to work with other Ext components so the process of using them together is seamless. That type of interoperability can only come when a close knit team is doing the design and development with the same goal in mind, which is something generally not found in open source projects. All of our components have been built from the ground up with presentation, performance, interoperability and extensibility in mind, and we think it shows.

Ext can definitely be used as a stand-alone framework. In fact, barring any other requirements, that is the preferred choice as it offers the smallest file footprint and tightest support and integration. However, we also offer the ability to integrate with jQuery, YUI or Prototype as the base library for core services like DOM and event handling, Ajax connectivity and animation. One reason one might opt for such integration is when they have a requirement to use an existing library-specific widget that Ext does not natively offer -- the YUI history control is a perfect example. To use that control YUI's base library would be required, so Ext can leverage that dependency instead of adding duplicate base functionality of its own, thus minimizing the overall application footprint. Another reason for this approach would be if one wanted to progressively add Ext into an existing application that was already based on another library. Again, if the alternate library is already available, Ext can use it. We are all about giving our developers options and optimizing for performance. In fact, anyone could add an adapter for other frameworks as well. By implementing our base library adapter interface, someone could easily leverage Dojo, Ajax.NET, Moo or any other JavaScript library as the base for Ext!

What is the most difficult thing about supporting the various JS libraries?

 

The most difficult challenge is probably the most obvious one: keeping the other libraries up-to-date and working nicely with Ext. As each new version of each library comes out, we also have to test them and see if any changes were introduced that might break things for Ext developers.

Similarly what is the biggest pain/issue with supporting the various web browsers?

 

The biggest issue for us is simply the amount of time it takes to test and verify changes and additions to the framework. It's not only different browsers and browser versions, but different doc types on each browser as well that must be supported.

One nice thing about Ext is that we've built many tools directly into the framework itself to handle cross-browser issues, including a base component class for normalizing box model issues transparently, as well as platform-specific constants and auto-applied CSS classes for working around browser quirks without using CSS hacks. Because this support is built right in, and because the core framework is stable and well-tested, the end developer can generally develop without too many cross-browser concerns, thereby speeding development and drastically reducing testing on the application end.

If you had to define the driving force of ExtJS 2.0 what would it be?

 

Developer productivity and a solid, consistent foundation to build on. Although the 1.x version of Ext was a great library to build on, there were certain areas identified that could be made easier and require less expertise and code by the developer. We want to tackle some of the more difficult problems when building a complex application, such as deferred rendering and component life-cycle and not require developers to handle it manually. The other major improvement for 2.0 in a more robust foundation in place for customizing components (plugins), grouping components (containers) and component initialization. The new consistency across layouts and components means that once you understand how to configure and work with one component in Ext, you will be able to work with any component in the framework in the same way. That leads to faster and easier development for the end user, while sacrificing nothing in terms of Ext's size or performance.

What is the most innovative feature of 2.0 in your opinion?

 

Probably the new container architecture. In 1.0, application layout was primarily focused around the BorderLayout (for layout) and the BasicDialog (for application dialogs and windows). While these components looked good and were extremely functional, they were limited when it came to reusing code to extend their built in functionality. Using the new container and layout architecture, for 2.0 we’ve added a quite a few additional layout managers (CardLayout, ColumnLayout, FormLayout, TableLayout and several others - 9 in all) and consolidated the container API so whether you are adding a component to a TabPanel, Window, Panel, etc the API is always the same. In the end, we aren't just offering widgets, we are offering an integrated framework that works well together and has the foundation in place to grow with our user’s applications.

How would you make the argument for using ExtJS and JavaScript for client applications over technologies such as Silverlight and Flex?

 

In some ways, Ext is actually complementary to the new plugin-based technologies. Both Flex and Silverlight support DHTML/Ajax development as part of what they can do, and our Adobe AIR Simple Tasks demo application is a perfect example of Ext working well under that exact scenario. In fact, in that example, Ext is providing a look-and-feel quality that you would not even be able to achieve in AIR natively without spending countless hours writing your own widget wrappers and custom CSS!

Of course the native platforms have some natural advantages that JavaScript does not currently have like native compilation and better tool support. However, there will likely always be a place for the simpler development and simpler deployment model of JavaScript-based applications. Anytime a plugin is required, it adds more complexity in terms of development, deployment and maintenance. Microsoft publishes an "Enterprise Sliverlight Deployment Guide" involving SMS, Active Directory and a host of other headaches -- something you'll never see for a JavaScript application! Also, with newer mobile platforms (e.g., the iPhone) coming out with vastly improved JavaScript/DHTML support (that is actually favored over plugin support), it seems that there are still some very good reasons why you might choose JavaScript over a plugin.

The bottom line is that there are many tools available, and developers should choose the best tool for the job at hand. Sometimes that might be a plugin-based technology, but we're confident that JavaScript-based technologies will maintain a place in the web development toolbox for some time yet, and Ext is well positioned to play a prominent role.

What is next for ExtJS?

 

The current focus in on having a solid and stable 2.0 release. Although the first release is an alpha, we already have a head start on that since the 2.0 codebase has been being used by quite a few developers for a couple months.
分享到:
评论

相关推荐

    EXTJS2.0.rar_extjs2.0

    ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。

    ExtJS2.0.rar_extjs2.0

    这个"ExtJS2.0.rar"压缩包包含了关于如何使用ExtJS 2.0的资源,特别是"ExtJS2.0实用简明教程.chm",这是一份详细的指导文档,可以帮助开发者快速掌握该框架的核心概念和技术。 ExtJS 2.0的主要特点包括: 1. **...

    ExtJS2.0实用简明教程.rar

    ExtJS2.0实用简明教程ExtJS2.0实用简明教程ExtJS2.0实用简明教程ExtJS2.0实用简明教程ExtJS2.0实用简明教程ExtJS2.0实用简明教程ExtJS2.0实用简明教程ExtJS2.0实用简明教程

    Ext2 核心 API 中文详解 ExtJS2.0实用简明教程 ExtJS2.0教程 ExtJS2.0实用简明教程(easyjf) ext中文API+ sample

    本教程主要聚焦于ExtJS 2.0版本的核心API,帮助开发者深入理解和运用这个框架。 **一、ExtJS基本概念** 1. **组件(Components)**: ExtJS的核心是其组件系统,包括按钮、表格、面板、窗口等,这些组件构建了整个...

    Extjs2.0 智能提示

    在ExtJS 2.0版本中,智能提示(Intelligent Hinting)是一项关键特性,它增强了开发人员的编码体验,提高了开发效率。智能提示功能提供了自动补全、代码提示以及类库方法和属性的快速参考,使得编写ExtJS代码更为...

    使用ExtJs的插件UploadDialog+struts2.0实现多文件上传

    在本文中,我们将深入探讨如何使用ExtJS的UploadDialog插件与Struts2.0框架相结合,实现一个功能完备的多文件上传功能。这是一项在Web应用开发中常见的需求,对于用户交互性和数据管理有着重要作用。 首先,让我们...

    EXTjs2.0 教程 包括《EXT2.0简明教程》和《ext基础教程》两份教材

    总之,EXTjs2.0教程为开发者提供了全面了解和掌握EXTjs2.0的途径,无论是新手还是有经验的开发者,都可以从中获益,提升前端开发技能。通过深入学习这两份教程,开发者可以有效地利用EXTjs构建出强大、美观且高效的...

    ExtJS2.0及API文档和实用开发指南

    在本资源包中,我们重点关注的是ExtJS的2.0版本及其相关的API文档和实用开发指南,这对于初学者理解并掌握这个框架至关重要。 首先,ExtJS 2.0是该框架的一个早期版本,虽然现在已经有了更新的版本,但每个版本都有...

    Extjs2.2和Extjs3.0中文API,ExtJs2.0中文PDF教程以及Extjs智能感知

    对于英语水平不强,但又想学习Ext的朋友会有所帮助,本人也在学习摸索中。另外给各位朋友一个建议,去看看dojochina的Ext视频教程,对于你入门很有帮助的,另谁知道dojochina的网站为什么关了?...

    ExtJS 2.0实用简明教程

    ExtJS 2.0实用简明教程ExtJS 2.0实用简明教程

    extJs2.0 中文手册

    由于无法直接查看图像内容,我将基于标题、描述和标签的内容,为您提供关于ExtJs2.0中文手册的知识点概述。 ExtJs是一个强大的JavaScript框架,用于创建富互联网应用(RIA)。它提供了一套丰富的组件和工具来构建...

    ExtJs2.0学习系列

    ExtJS是一种基于JavaScript的开源富客户端框架,特别适用于构建企业级的Web应用程序。...文档《ExtJs2.0学习系列.doc》应包含了关于这些主题的详细教程和示例,是学习ExtJS 2.0不可或缺的参考资料。

    ExtJS2.0简明教程

    ExtJS 是一个很不错的Ajax 框架,可以用来开发带有华丽外观的富客户端应用,ExtJS 是一个用javascript 编写,与后台技术无关的前端ajax 框架...本教程主要是针对ExtJS2.0 进行介绍,全部代码、截图等都是基于ExtJS2.0。

    extjs 2.0 教程加源码

    extjs 2.0 教程加源码 extjs 2.0 教程加源码

    ExtJS2.0实用简明教程

    最近我们在几个应用都使用到了ExtJS,对公司以前开发的一个OA系统也正在使用ExtJS2.0进行改造,使得整个系统在用户体验上有了非常大的变化。本教程记录了前段时间本人学习ExtJS的一些心得及小结,希望能帮助正在学习...

    深入浅出ExtJS随书源码--EXTJS2.0

    "深入浅出ExtJS随书源码--EXTJS2.0"是针对ExtJS 2.0版本的学习资源,通常与一本相关书籍配套,帮助读者通过实际代码加深对ExtJS的理解。 源码分析: 1. **组件系统**:ExtJS的核心是其组件模型,其中包括各种可...

    资料:包括extjs2.0源码

    EXTJS 2.0是Sencha公司开发的一款用于构建富客户端Web应用的JavaScript库,它在Web开发领域具有广泛的应用。EXTJS的核心特性包括组件化、数据绑定、强大的表格和图表功能、丰富的用户界面组件以及对Ajax技术的深度...

    Extjs源码例子和Extjs2.0文件(一本书上copy下来的)

    免积分共享一些Extjs一些代码例子,是从一本讲解Extjs的书的光盘上copy下来的,本人亲测可用

    ajax框架之extjs2.0

    ExtJS 2.0是一个基于JavaScript的开源AJAX框架,专为构建富互联网应用程序(RIA)而设计。它提供了一套完整的组件模型、数据绑定机制、丰富的用户界面控件和强大的API,使得开发者能够轻松创建功能强大且交互性强的...

Global site tag (gtag.js) - Google Analytics