GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

Ext JS 4 即将正式发布,值得期待

2011 年 3 月 16 日

Ext JS 是一个针对 Web 的 UI 库。它是市场上的轻量级工具,它通过抽象,支持开发人员不必强制性地编写 HTML 的源代码,而且允许开发人员灵活的扩展组件库或者通过简单强大的插件架构创建真实的插件。Ext JS 解决了管理 HTML 和 CSS 的问题,提供了媲美桌面应用的 UI 外观。它支持开发人员在现有 HTML 网页中注入组件或者开发富企业级 RIA,其中一些应用于关键任务应用,如实时监控和网络基础设施的管理。

Ext JS 4 从推出第一个预览版之后,一直处于紧张的开发之中。昨天,其官方博客表示,Ext JS 4 的正式版预计将在一个月之后发布,这对 Web 开发社区特别是 RIA 开发人员来说无疑是个好消息。此刻,让我们回顾一下 Ext JS 4 在预览版中的优秀特性和功能。

最新的 Ext JS 4预览版 4 发布了一个新的元素——Grid 组件,该组件在 4.0 中完全重写,因此比 3.x 版本提供了更多功能,性能和灵活性大幅度提高,因此扩展更加容易。新版 Grid 组件的主要优点包括:

智能渲染在 Ext JS 3 中,Grid 组件为了运行良好,总是生成 Grid 功能所需的全部标记,在大多数情况下,过于繁重了。而在 Ext JS 4 中,默认的 Grid 只包含了轻量级的标记,在开发人员选择其他特性时,对应的标记才会渲染。这对于页面渲染速度和整体的 Grid 性能都是极大的提高。

标准布局

依靠更智能的渲染通道(pipeline),新 Grid 的许多部分都被划分成适当的 Component 并集成到标准的布局管理系统,而不是依赖定制的内部标记和 CSS。这样既统一了 Grid 的渲染过程,又维持了出色的像素 UI 体验。

数据视图(DateView)

Ext JS 4 中的 GridView 扩展了标准 DataView 类,不仅简化了内部代码,而且使新 Grid 易于定制。因为它扩展了 DataView,所以新 Grid 可以像其他视图一样利用选择模式,包括通过键盘导航做非连续选择。

功能支持

在 Ext JS 3 中,没有统一的策略来添加 Grid 的功能。许多功能作为插件添加,而另一些以子类的形式,这导致难以组合这些功能。Ext JS 4 包含了一个基础类 Ext.grid.Feature,可以此创建灵活的功能。底层的 Grid 模板可以被 Feature 类修改以配合视图生成的标记。

虚拟滚动

Ext JS 4 的 Grid 原生支持在渲染时缓存数据,提供数据的虚拟、按需加载的视图。Grid 现在可以轻松支持成百上千的记录,而无需分页,相比 Ext JS 3 来说是巨大的改进。

除此之外,Ext JS 4 在绘图方面也是一大亮点,其引入了全新的绘图引擎哇,不再依赖于 Flash,全部使用 JavaSCript,支持 DOM 方法访问。Ext JS 4 允许客户设计、开发非常炫目的图表,号称其他框架无法提供如此复杂的数据显示方法。感兴趣的读者可以浏览在线示例

ExtJS in Action 》的作者 Jesus Garcia 在接受 InfoQ 专访时表示,Ext JS 遵循的组件(Component)和容器(Container)模型是它比其他 Ajax 库更具特色的主要原因:

组件和容器模型(还有其他特点)使 Ext JS 在其他同类 Ajax 库中别具一格,因为它们使库的 UI 部分结构化。没有它,Ext JS 不会这么与众不同。 组件模型为框架引入了“组件生命周期”,为组件带来了一套定义良好和可靠的行为。它分为三个阶段,初始化(Initialization)、渲染(Render)和销毁(Destruction)。初始化指组件新实例的初始化时刻。渲染阶段指组件被渲染或者绘制到屏幕上的时候。最后,销毁阶段支持组件执行清理任务,如所有注入的 HTML 节点的删除和清除事件监听器。

容器模型支持组件通过父子关系模式来管理其他模型。通过容器模型,开发人员可以轻松地创建动态 UI——利用它的 add() 或者 remove() 来添加或者删除一个或几个子元素。为了管理子元素的视觉组织,容器使用了布局(Layout)。

Jesus 在数个大公司部署过基于 Ext JS 的应用,如万豪国际、洛克希德马丁、摩根大通和美国金融监管局,他以自己的实践经验告诉大家,Ext JS 适合的应用领域很广:

我通常使用 Ext JS 为许多客户开发应用。我最近一个任务是为客户开发界面管理成员信息。因为 Ext JS 功能齐全,所以我可以利用它开发各种应用,比如定制 UI 从 IBM 的 Tivoli Enterprise Console 和 HP Universal CMDB 中合并数据、为 EMC 的 Documentum 产品开发前端界面。我已经开发了几个应用来帮助公司制定考核内容。

开发人员可以充分利用 Ext JS 来开发 RIA 中所需的功能。这几年,我已经看到了各种各样的应用,大部分是基于业务的。

Ext JS 本身不是为移动 web 应用而定制的,但是它的兄弟 Sencha Touch 是。我已经看到并且实验了在 iPad 上运行有限功能的 Ext JS 应用。它不支持触摸功能,而且 UI 主题不是以移动为中心的。

感兴趣的读者朋友可以关注 Ext JS 4 的网站,或者下载预览版试用,InfoQ 也会继续报道有关 Ext JS 的最新进展。

2011 年 3 月 16 日 01:374088
用户头像

发布了 501 篇内容, 共 216.2 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

大数据分析与运营(二)

soho

揭秘苹果应用审核团队(史上最全版)

37手游iOS技术运营团队

ios apple Apple Developer iOS Developer 苹果退款

Crontab中文表达式解析

Java crontab

架构训练营作业5

梦寐凯旋

架构训练营

技术人员需要建立个人影响力么?

escray

极客时间 学习笔记 朱赟的技术管理课 六月日更

第五次作业

Geek_9cf7b5

架构实战营 模块五:课后作业

Ahu

架构实战营

Kubernetes手记(3)- 核心组件/附件

雪雷

k8s 六月日更

用实例带你了解 MySQL 全局锁

架构精进之路

MySQL 锁机制 6 月日更

区块链应用操作员国标出台 相关课程及教材正在编制中

CECBC区块链专委会

中小银行数字化转型的路径和建议

CECBC区块链专委会

设计微博系统中”微博评论“的高性能高可用计算架构

Vincent

架构训练营

网络攻防学习笔记 Day37

穿过生命散发芬芳

网络攻防 6月日更

记一次 go-micro 服务异常退出问题的根因分析

ccx

【Flutter 专题】111 图解关乎 SQL 数据库的二三事 (二) 之【小封装】

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6 月日更

架构训练营 - 模块五作业(评论微博)

冬天的树

微服务架构实施原理详解

xcbeyond

微服务 6月日更

公司如何做计划?

石云升

创业 职场经验 6月日更

架构实战营 - 模块5- 作业

莫问

【LeetCode】左旋转字符串Java题解

HQ数字卡

算法 LeetCode 6月日更

W1 linux操作系统基础

Kevin

运维 操作系统

阿里p7大牛私藏的JVM笔记,带你从零开始成为实战高手,限时分享

java专业爱好者

Java JVM

我不信有Java程序员没犯过这10个SQL错误

北游学Java

Java sql

架构实战营 - 模块 05 作业

架构实战营

区块链拓宽实验艺术边界 新技术如何重塑现代美学想象?

CECBC区块链专委会

# 架构实战营-作业5

大可

大数据分析与运营(一)

soho

微博评论高性能高可用计算架构设计

Hesher

架构 Architecture 架构实战营

【译】编写整洁 React 组件的简单小技巧

KooFE前端团队

前端 React 6 月日更 整洁代码

微博系统中”微博评论“的高性能高可用计算架构

唐江

架构实战营

☕【JVM技术探索】字符串常量池之G1回收期的驻留机制

李浩宇/Alex

Java JVM 字符串常量池 6月日更 6 月日更

Ext JS 4即将正式发布,值得期待-InfoQ