Ext 2.02 API新增功能
为联合Adobe, Ext2.02当中重要的一项便是针对AIR1.0中应用程序的沙箱(Application Suadbox)提供运行的支持。另外,作为范本的AIR版的Simple Tasks(简易任务)已重写以体现AIR原生功能还有一部分Ext制定组件是可以在AIR之外使用。
AIR APIs
首先,一些会用到的API我们先讲讲:
原生Window NativeWindow
Ext.air包其中一项最有用的功能。此API可创建、管理Windows,例如侦听事件发挥了标准的Ext观察者和Windows自动状态管理的作用。
var win = new Ext.air.NativeWindow({ id: winId, file: 'task.html', width:500, height:350, resizable: true });
Ext.sql.*
在AIR早期的beta版本中,数据库访问的方式为异步访问。随着beta3中可使用同步方式访问,Ext.data.Record亦相应提供升级的支持。Simple Tasks演示了怎么在SQLite数据库中持久Ext.data.Record的实例,整合的过程并不困难。
tx.data.ListStore = Ext.extend(Ext.data.Store, { constructor: function(){ // superclass call tx.data.ListStore.superclass.constructor.call(this, { sortInfo:{field: 'listName', direction: "ASC"}, reader: new Ext.data.JsonReader({ id: 'listId', fields: tx.data.List }) }); this.conn = tx.data.conn; // Ext.sql.Proxy for managing Sqlite persistence this.proxy = new Ext.sql.Proxy(tx.data.conn, 'list', 'listId', this); }, ...
原生的拖放和剪贴板
Simple Tasks支持拖动任意的文本拖动到Grid,自动转回为新任务(Task)。而且也可以从的系统的剪贴板粘贴新建任务,不过,其中一项最COOL的功能就是允许直接从OUTLOOK拖动任务到SimpleTask。
最小化系统状态功能
第一版的SimpleTask发布后,ExtJS内部这里需求最大的就是最小化window系统状态栏的功能。我们将自动控制系统托盘(System Tray)的功能加入到Ext.air.NativeWindow这个类中。这样,通过设置一下配置项就可最小化到系统托盘。
var win = new Ext.air.NativeWindow({ id: 'mainWindow', instance: window.nativeWindow, // System tray config minimizeToTray: true, trayIcon: 'ext-air/resources/icons/extlogo16.png', trayTip: 'Simple Tasks', trayMenu : [{ text: 'Open Simple Tasks', handler: function(){ win.activate(); } }, '-', { text: 'Exit', handler: function(){ air.NativeApplication.nativeApplication.exit(); } }] });
音效
AIR支持播放音效,Ext.air.Sound的用法甚至更简单了。
Ext.air.Sound.play('beep.mp3');
Ext制定的组件
如上文述,整个SimpleTask的程序包含了几个示范的EXT自定义组件。其中一部分是为了复用而专门设计的,未来发布的版本或许会成为标准的组件或示例。
ListTree
ListTree与 ComboBox或SelectBox相类似,不同在于出现的是一块Ext TreePanel面板。比起普通的垂直列表更能清晰显示各层次的列表。
伴随着这个组件另外一个酷的功能是制定的选区模型“ActivationModel”。顾名思义,它以两种形式出现(activation活动选区和记录选区selection),在活动选区下,组件支持完整的键盘控制、用键盘展开/闭合, 与标准树选区模型不同,此选区属于动作本身。
自定义Gird列
截屏图片可第一时间解释清楚。
Siwthc按钮
有一种类似radio按钮(单选按钮)的组件好像在桌面的应用程序上经常看得到。这儿就叫作“Switch”按钮,以便不会与标准HTML的radio按钮出现混淆。它的作用是:提供一组的按钮,同时“被按下”的只能是一个。
总结
无论是AIR本身的功能还是EXT的扩展,这些都可以在Simple Tasks v2的程序源码中找到真正应用的地方。如果你正在使用着Ext,那么我推荐浏览这些源码。
-完整的源码可以在Ext 2.02的发布版本中的air/samples/tasks找到。
-Adobe AIR 1.0 下载
-Simple Tasks v2 面向AIR的版本 下载
-有关Simple Tasks首个版本可查阅上次的博文。
作者:Jack Slocum
评论
air 就是flex吧?
除了flex,air还支持ajax,API对flex还是ajax都是平等的,当面 类库的实现主要以AS3为主;
@ayeah
jQuery 1.5正式版将这个夏天的时候发布,解决一系列基础性的建设后,创建复杂的UI就相对容易多了
谢谢;那这个还是值得用的;
如果jQuery 1.5果然解决了这些问题的话,看了一大圈,还是决定用它了。
air 就是flex吧?
除了flex,air还支持ajax,API对flex或是ajax都是平等的,不过类库的实现主要以AS3为主;
@ayeah
jQuery 1.5正式版将这个夏天的时候发布,解决一系列基础性的建设后,创建复杂的UI就相对容易多了
怪不得ext在这里这么火,原来javaeye本来就是用ext的
我用jquery的,只能希望jquery 1.5能强大点了。。。
它和air的这种合作背后有没有金钱的作用呢?
还是真的是 jack很看好air?
不过不管怎么说 从 adobe最近的一些列行动上看
air战胜 siverlight的可能性很大很大啊
(不过也有人说两者没有直接竞争关系 可以共存 这个我就不理解了
air 就是flex吧?
siverlight 貌似很彪悍;
要是选择 该怎么选呢?
不知道哪里有ext和air结合的文档?
看来以后ext发展会越来越好
它和air的这种合作背后有没有金钱的作用呢?
还是真的是 jack很看好air?
不过不管怎么说 从 adobe最近的一些列行动上看
air战胜 siverlight的可能性很大很大啊
(不过也有人说两者没有直接竞争关系 可以共存 这个我就不理解了
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 55574 次
- 来自: Canton

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
发布Ext中文文档:在线版 ...
supercrsky 写道ext 算不上ajax 确实如此 相信选择 Ext ...
-- by 南宫小骏 -
发布Ext中文文档:在线版 ...
supercrsky 写道ext 算不上ajax 老兄 不是吧,你的意思“超a ...
-- by sp42 -
发布Ext中文文档:在线版 ...
ext 算不上ajax
-- by supercrsky -
发布Ext中文文档:在线版 ...
呵呵 俺是生在武汉 活在重庆
-- by 南宫小骏 -
发布Ext中文文档:在线版 ...
离线版 以后要更新怎么办呢?
-- by wucc1986






评论排行榜