2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Sencha 发布移动 HTML5 图表库

  • 2011-08-15
  • 本文字数:2058 字

    阅读完需:约 7 分钟

近日,Sencha 发布了 Sencha Touch Charts :一套使用 HTML5 构建并针对移动设备优化过的富客户端、交互式的图表组件的 Beta 版。作为 Sencha Touch 的一部分,开发者可以使用该库构建针对 Apple iOS、Android 以及 BlackBerry 设备的交互式雷达、柱状、直线、堆叠以及饼状图。

Sencha Touch Charts 利用了移动设备上的硬件加速来优化性能,还支持自然手势,这一切简化了复杂数据集的显示。这些手势包括捏拉缩放、数据的点击放大以及轻拍展现等。

该库使用了 HTML5 的一些功能,如通过元素进行绘制和使用 CSS3 编写样式、能够在当今移动 Web 浏览器上发布富用户体验的应用。它构建在 Sencha Touch 之上,这是一个移动 Web 应用框架,目前可以免费用于评估目的。

在 Sencha Touch Charts 中,组件的定义及其交互是通过 JavaScript 实现的:

复制代码
var chartPanel = new Ext.chart.Panel({
title: 'Pie Chart',
fullscreen: true,
dockedItems: [...],
items: {
cls: 'pie1',
theme: 'Demo',
store: store1,
shadow: false,
animate: true,
insetPadding: 20,
legend: {
position: {
portrait: 'bottom',
landscape: 'left'
}
},
interactions: [
{
type: 'reset',
confirm: true
},
{
type: 'rotate'
},
{
type: 'iteminfo',
gesture: 'taphold',
listeners: {...}
},
{
type: 'piegrouping',
//snapWhileDragging: true,
onSelectionChange: function(me, items) {
...
}
}
],
series: [...]
}
});

样式是通过 SASS/SCSS 实现的,SASS/SCSS 会被编译为 CSS3:

复制代码
...
chart[cls=piecombo1] {
padding: 20;
series {
label {
display: rotate;
contrast: true;
font: 14px Arial;
}
}
}
...

在 Beta 版期间,有一些问题需要解决,同时还会有一些变化:

  • Radar Axis 目前在 BlackBerry 上无法显示属性
  • 在 iPad 上过度放大会导致一个显示问题
  • 交互的默认手势仍旧在审核当中,在正式版发布前可能会有一些变化
  • SASS 语法仍旧在审核当中,在正式版发布前可能会有一些变化
  • 其他

InfoQ 有幸联系到了 Sencha 的代表以深入了解关于该新产品的一些细节信息:

InfoQ:你提到为了改进性能,你需要在核心绘图系统中实现一个 HTML5 Canvas 引擎。能否向广大读者透露一些关于该引擎的一些技术方面的细节信息?

Sencha:在 HTML5 浏览器中有几种绘图技术可供选择,分别是 SVG 与 Canvas。我们之所以为移动设备选择 Canvas 是出于两个主要原因。首先,Honeycomb 之前的 Android 系统并不支持 SVG。这样,为了支持市场中成千上万的 Android 2.x 设备,我们就没法使用 SVG 了。其次,根据我们的测试,Canvas 在所有的移动设备(手机与平板电脑)上具有最佳的通用性能表现。

InfoQ:Sencha Touch Charts 与其他产品如 Sencha Touch 或 Ext JS 4 之间有何联系呢?

Sencha:Sencha Touch Charts 是免费 Sencha Touch 的一个付费附加组件。Sencha Touch 是我们的移动 HTML5 框架,而 Ext JS 则是我们的桌面框架。我们尚未宣布最终的定价——请大家拭目以待!

InfoQ:几年前,甚至连简单的桌面图表也很难实现出跨浏览器版本。你认为 HTML5 有哪些技术对于这个项目起到了至关重要的作用?

Sencha:一般来说,对于图表与数据可视化来说,最大的发展在于浏览器中绘图系统的巨大改进。传统上,浏览器擅长于文本与文档布局,但借助于 Canvas 与 SVG,浏览器现在可以实现之前需要借助于 Flash 或 Sliverlight 才能实现的一些功能。因为浏览器内嵌了这些能力,因此你可以使用他们取代插件了。

InfoQ:相比于桌面浏览器来说,在与移动浏览器如移动 WebKit 打交道的过程中,你遇到的最大挑战是什么呢?

Sencha:我们在与移动设备打交道的过程中所遇到的最大挑战与任何移动开发者一样,那就是性能。我们将性能划分为两个坐标轴:首先就是原生的计算机 /CPU 能量。我们付出了巨大的努力来确保不会加重 CPU 的负担,这样图表就能以最快的速度响应。其次就是内存。移动设备的 RAM 大小很有限,这样我们做了很多额外的工作来确保在设备现有内存的情况下能够让图表平顺地显示。

InfoQ:你们为何选择了 SASS 语法来编写样式而非 SCSS 语法或普通的 CSS3?

Sencha:SASS 与 SCSS 是一回事。SCSS 只不过是 SASS v3 中新语法的名字而已。之所以使用它而没有选择 CSS3 在于它向 CSS 中添加了很多类似于元编程的功能。比如说,你可以说按钮的颜色比背景色淡 20%,并使用变量与函数来驱动应用的全部样式——而不必手工编写全部样式。

InfoQ:能否谈谈跨浏览器的交互式图表组件?

Sencha:现在的 Touch Charts 可用于各种移动浏览器平台。你可以在众多不同的移动 OS 数据集上通过捏拉、摇动、点击等方式来查看数据。

InfoQ:Touch Charts 目前还是 Beta 版,何时打算发布首个正式版呢?

Sencha:首个正式版(v1)将于下个月发布。

感兴趣的读者可以在 InfoQ 上找到关于 Sencha Touch Mobile ExtJS 的更多信息!

查看英文原文: Mobile HTML5 Charts by Sencha

2011-08-15 09:083848
用户头像

发布了 88 篇内容, 共 273.6 次阅读, 收获喜欢 9 次。

关注

评论

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

2022年4月国产数据库大事记

墨天轮

数据库 opengauss TiDB 国产数据库 达梦

Q1手机银行运营报告:交易规模超150万亿,月活跃用户4.9亿

易观分析

手机银行

Apache Calcite SQL解析及语法扩展

不穿格子衬衫的程序员

数据库 sql 大数据 flink Apache Calcite

易观分析刘怡:技术投入聚焦降本增效,用技术赋能人提升企业能效

易观分析

人口变化 技术赋能

中小型企业团队的CRM系统最佳实践

低代码小观

低代码 CRM 客户关系管理 CRM系统 客户关系管理系统

OneFlow如何做静态图的算子对齐任务

OneFlow

人工智能 graph 自动测试 算子对齐

开源之夏 2022 重磅来袭!欢迎报名 RadonDB 社区项目!

RadonDB

数据库 开源 RadonDB 开源之夏

LAXCUS分布式操作系统:云盘的使用

LAXCUS分布式操作系统

云盘 分布式存储 分布式软件系统

认清大脑中的一对塑料姐妹花,科学解锁情绪密码

图灵教育

效率 职场 脑科学

量子计算是人工智能的未来吗?

海拥(haiyong.site)

人工智能 量子计算 5月月更

易周金融观点 央行设立科技创新再贷款;多家银行下调大额存单利率

易观分析

金融 银行

博睿数据获得分布式系统稳定性实验室成员单位证书 亮相全球信息系统稳定性峰会

博睿数据

惨遭面试官吊打高并发系统设计,回来学习2400小时后成功复仇

Java架构追梦

Java 后端开发 程序员面试

代码历史上最昂贵的 7 个错误

禅道项目管理

测试 代码

使用APICloud AVM框架实现App导航栏菜单

YonBuilder低代码开发平台

APP开发 APICloud avm.js

2022金蝶云苍穹峰会抢先看

金蝶云·苍穹

苍穹峰会 苍穹5.0 人力云

真可笑!拿着这份JVM学习笔记学了2个月,就想着出去跳槽涨10k

Java架构追梦

Java 程序员 后端开发

OceanBase 3.2.3 发版|HTAP引擎全面升级,TPC-H性能10倍提升!

OceanBase 数据库

oceanbase

Tech Talk 宣传 | 如何高效、极简构造无服务器 Web 应用

亚马逊云科技 (Amazon Web Services)

Web

Git 安装及配置

Emperor_LawD

git 基础 5月月更

Alibaba最新出版的JDK源码剖析手册(究极奥义版)开源

Java架构追梦

jdk java面试 后端开发

Linux多线程-概念及控制

可口也可樂

c++ Linux 后端

想要成为一名真正的软件工程师吗?加入非凸,一起升级!

非凸科技

招聘 社招 校招 软件开发工程师

淘宝京东优惠券返利机器人

江苏京酷电子商务有限公司

淘宝电商 群聊机器人 返利 采集京东

InfoQ AI开发者召集令!快来助力中国AI产业发展,参与抽奖!

InfoQ写作社区官方

AI 热门活动 白玉兰开源

攻克编译器技术(2)

刘旭东

源代码 编译器原理 5月月更

上市商业银行手机银行场景建设专题分析

易观分析

商业银行 手机银行

为 GPU 而来,焱融科技推出新一代全闪分布式文件存储产品

焱融科技

人工智能 云计算 高性能 文件存储 高计算

谁在从API经济里分得一杯羹!

Liam

Postman API API Explorer平台 API boy 开放api

Spring data JPA实践和原理浅析

领创集团Advance Intelligence Group

工作原理 java Spring JPA

不仅仅是自动化,DevOps 测试工具推荐

飞算JavaAI开发助手

Sencha发布移动HTML5图表库_JavaScript_Dio Synodinos_InfoQ精选文章