RIAMeeting

Flex 4 (Gumbo)计划中的新特性

08月 29th, 2008

个别翻译可能不太准确,欢迎指正:

1.       设计支持

a)         改进MXML语言,以支持更多所需要的特性,让它更容易描述用户体验导向的界面,比如状态和状态之间的变化(MXML2009)

b)         增加一种文档格式,用于更好的组织FlashPlayer中的显示内容,并更方便的描述图形元件,包括皮肤(FXG)

c)         使用更简单的工具制作组件和皮肤

d)         改善现有的体验导向的特性,比如状态,特效和布局

 

目标应用:

l  所有基于Flex3的应用

l  简单的事件驱动的网站

l  选择器/简单的项目浏览器

l  中等复杂程度的RIA应用界面/产品选择器

l  交互性的小插件

如何做到:

l  融合新的Gumbo特性到现有的组件结构

l  创建新的设计友好的组件

l  文件尺寸不会与Flex3出入太大

l  更小的尺寸和性能改进

 

2.       开发效率

a)         编译性能

b)         双向绑定(2-way binding)

c)         AIR的自动化支持

d)         CSS改进,增加多样式名称的支持,ID选择器

 

3.       框架改进

a)         flashplayer10中改善的文本渲染特性

b)         双向布局和文本支持

c)         新的视频组件

[翻译]开发AIR应用的10大误区

08月 21st, 2008

Adobe AIR在过去的数月间已经越来越被大家认可了,正是由于它应用的越来越广泛,许多新的基于AIR的应用不断出现。在这段时间里,我发现了以下的10个问题,很多开发人员在开发AIR的过程中都出现了这些问题。非常希望这个列表能帮助你在开发AIR应用的时候避免出现这些问题。

1.没有考虑平台的差异性

很多开发者工作在特定的平台下,比如Windows,他们想当然的开发只支持Windows的应用特性,而没有考虑到在Mac平台下用户怎么样去完成交互;同样Mac平台下的开发者也存在同样的问题。不理解这些概念,可导致应用程序给予用户极其糟糕的用户体验。

2.没有嵌入更新机制

在WEB移植到桌面的过程中一个很重要的改变就是更新的方式。不再是是否使用者“到你们这里来”获取您的应用程序,而是你应该传送你的应用给用户。事实上使用Adobe AIR Update Framework很容易做到这一点,但你如果没有考虑到这个机制,你的用户或许永远无法得到你的更新。

3.在应用发布后改变应用的ID

AIR应用通过如下的两个元素来确认一个应用:应用ID和发布者ID。这些元素是非常重要的,当你发布你的应用时。如果你改变了它们中的一个,那么用户可能无法更新他们的应用到最新版。甚至有可能让用户同时安装了旧版和新版。

4.没有支持离线方式

AIR是支持离线方式的,而如果你的应用没有考虑到这一点,那么你的用户在离线方式下的工作可能会很糟糕。

5.没有按照AIR的特性来思考

AIR API是非常强大的,但很多开发者还对这些不太了解,没有应用这些特性。比如,我听说有的开发者试图用文本文件加密数据而不是用EncryptedLocalStore功能,或者用文本存储数据而不是用SQLite数据库,尽管后者能提供更强大的功能和更好的支持。

6.使用自定义功能制作一个难用的界面

自定义界面(菜单栏,交互方式)可以改善用户的交互,但如果使用不当,或者有悖于标准的操作流程,用户将会感觉难以使用,如果用户不能轻易最大化,最小化,或打开一个应用程序窗口,那么他们使用你的应用的几率就非常小了。

7.没有使用install badge来部署你的应用

AIR Install Badge提供了无缝的方式来部署你的AIR应用,你还不知道它吗?那就太遗憾了。你可以在Adobe Labs找到它。

8.没有加密重要数据

在你通过互联网传输敏感数据的时候,是否将它加密了?记住互联网是不安全的,请慎重处理数据的传输。

9.没有保留本地系统的交互方式

在一个整体系统中,交互方式应该是统一的。比如在Windows下,Ctrl+C就是复制,而在Mac下面是Command+C。这些都是固有类型的行动,需要予以保留,使用户可以有一个惯性的经验在里面。否则只会造成混乱和下降的可用性。

10.没有考虑性能问题

开发桌面应用应该是非常好的体验。它打破了浏览器中许多制约你的因素。然而,你还是要考虑一些问题,例如内存和处理器利用率。这些问题变得更加复杂,当你开发了资源密集型的应用,如自定义导航和自定义窗口透明度。正如一个Web应用程序,每一个AIR应用,应测试系统异常以及系统资源的利用率。如果你正在使用Flex创造一个AIR应用,你可以使用Profiler来检视你的应用程序的资源利用情况。

原文地址:

http://www.adobe.com/devnet/air/articles/10_common_mistakes_air.html

[AS3]图片轮换展示代码

08月 21st, 2008

详细很多朋友看到过这种效果,图片的轮换展示,广告上很常用。效果如下图所示:

代码有点乱,没有封装,只是说明一下思路,感兴趣的朋友可以把结构调整的更好一点:

Actionscript:
  1. //var picString:String="picShowDemo.jpg|picShowDemo2.jpg|picShowDemo.jpg|picShowDemo2.jpg";
  2. //var urlString:String="1|2|3|4";
  3. var picString=stage.loaderInfo.parameters.picString;
  4. var urlString=stage.loaderInfo.parameters.urlString;
  5. var pics:Array=picString.split("|");
  6. var urls:Array=urlString.split("|");
  7. var currentPic:uint=0;
  8. /*repeat*/
  9. var myTimer:Timer = new Timer(3000,0);
  10. myTimer.start();
  11. myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
  12. var showTimer:Timer = new Timer(50,10);
  13. showTimer.addEventListener(TimerEvent.TIMER, timerHandler2);
  14. var targetY:uint=0;
  15. var slideTimer:Timer = new Timer(50,50);
  16. slideTimer.addEventListener(TimerEvent.TIMER, timerHandler3);
  17. /*create pic button*/
  18. for(var i:uint=0;i<pics.length;i++) {
  19. var b:pbt=new pbt();
  20. b.name="b"+i;
  21. b.t.text=String(i+1);
  22. b.y=i*45;
  23. b.addEventListener(MouseEvent.MOUSE_OVER,flipByMouse);
  24. b.mouseChildren=false;
  25. addChild(b);
  26. }
  27. /*Loader*/
  28. var l:Loader=new Loader();
  29. l.x=36;
  30. l.addEventListener(MouseEvent.CLICK,openURL);
  31. l.contentLoaderInfo.addEventListener(Event.COMPLETE,showPic);
  32. addChild(l);
  33. buttonMode=true;
  34. /*Flip*/
  35. flip(currentPic);
  36. function flip(num:uint):void {
  37. l.load(new URLRequest(pics[num]));
  38. loadding.visible=true;
  39. //slider.y=45*num;
  40. moveMcTo(45*num);
  41. }
  42. function flipByMouse(e:MouseEvent):void {
  43. var i:uint=e.target.name.split("b")[1];
  44. myTimer.stop();
  45. flip(i);
  46. }
  47. function showPic(e:Event):void {
  48. l.alpha=0;
  49. loadding.visible=false;
  50. showTimer.reset();
  51. showTimer.start();
  52. }
  53. function timerHandler(e:TimerEvent):void{
  54. currentPic++;
  55. if(currentPic==pics.length) {
  56. currentPic=0;
  57. }
  58. flip(currentPic);
  59. }
  60. function openURL(e:MouseEvent):void {
  61. navigateToURL(new URLRequest(urls[currentPic]));
  62. }
  63. function timerHandler2(e:TimerEvent):void{
  64. l.alpha+=0.1;
  65. }
  66. function moveMcTo(y:uint):void {
  67. targetY=y;
  68. slideTimer.reset();
  69. slideTimer.start();
  70. }
  71. function timerHandler3(e:TimerEvent):void{
  72. slider.y+=(targetY-slider.y)/2;
  73. }

Adobe和CCTV联合推出奥运视频网站

08月 14th, 2008

在上次的RIAMeeting聚会上,大家可能还记得7yue的演讲内容中有一小段,介绍了Adobe的FMS将与CCTV合作,为CCTV提供流媒体和数字版权保护。现在我们看到的这个CCTVOlympics估计就是了。

地址:http://www.cctvolympics.com/

不过感觉不爽的是CCTV趁机推广它的播放器,就是说你单纯使用Flash Player是看不了地。

BTW:发现这次奥运会很多网站都在推自己的播放器,QQ Live,搜狐,网易...加这次的CCTV,其实都是一个目的,占领桌面。这就让人更加感慨Adobe发展AIR方向的正确性了。

AS2中的MovieClipLoader

08月 12th, 2008

在as2中想监听下载进度的话最好使用MovieClipLoader

具体用法:

Actionscript:
  1. this.createEmptyMovieClip("image_mc", this.getNextHighestDepth());
  2. var mclListener:Object = new Object();
  3. mclListener.onLoadInit = function(target_mc:MovieClip) {
  4. target_mc._x = Stage.width/2-target_mc._width/2;
  5. target_mc._y = Stage.height/2-target_mc._height/2;
  6. };
  7. var image_mcl:MovieClipLoader = new MovieClipLoader();
  8. image_mcl.addListener(mclListener);
  9. image_mcl.loadClip("400.swf",image_mc);

Flex3的中文语言参考

08月 7th, 2008

其实就是AS3的语言参考中加入了Flex的类包的中文说明

点击下面的地址查看:

http://livedocs.adobe.com/flex/3_cn/langref/

RIAMeeting[上海]第一次会议

08月 5th, 2008

为大家带来一个好消息,RIAMeeting本月中旬将在上海举办一次开发者交流会议,在上海的朋友要睁大眼睛关注啦!

会议主题Flex/AIR的实践应用

1.Integrate C++ code with AIR/Flex

t1.jpg

2.Flex Menu in Windows style (e.g. the IE menu bar)

t2.jpg

演讲嘉宾:陈晓燕 (Adobe R&D)

会议时间:2008年8月15日

详细信息:

http://www.riameeting.cn/?p=97

Flash PK SilverLight

08月 3rd, 2008

感兴趣的朋友点击这里观看

了解到一点陈年往事:SilverLight的最初目的是应用于微软Live战略中的广告展示

以下是MVP讲的SilverLight的优势:

1.更好的离线应用(印象里SilverLight不具备离线功能,难道新版支持了?)

2.更好的用户体验

3.搜索引擎SEO

4.专业的开发平台(.NET平台)

5.高清视频和DRM(数字媒体保护)

我要说的是,这几个优势都是Adobe Flash Player已经具有的,或者将在下一个版本着重改善的。看来RIA领域的竞争要进入持续的白热化...

AIR配置文件详解

07月 24th, 2008
XML:
  1. <application xmlns="http://ns.adobe.com/air/application/1.0"></application>
  2. <!-- Adobe AIR 配置文件模板.
  3. 自定义参数用于安装,运行AIR程序.
  4. 详情参见 http://www.adobe.com/go/air_1.0_application_descriptor for complete documentation.
  5. xmlns - Adobe AIR 命名空间: http://ns.adobe.com/air/application/1.0
  6. minimumPatchLevel - 运行程序需要的最低 AIR runtime 版本号. 可选.
  7. -->
  8. <!-- 应用程序的ID标示字符串,必须 -->
  9. <id>MZDown</id>
  10. <!-- 程序的文件名称,必须 -->
  11. <filename>MZDown</filename>
  12. <!-- 显示在AIR安装过程中的程序名称,必须 -->
  13. <name>MZDown</name>
  14. <!-- 程序版本 (比如 "v1", "2.5", 或 "Alpha 1"). 必须 -->
  15. <version>v1</version>
  16. <!-- 描述,显示于AIR的安装过程中,可选 -->
  17. <description></description>
  18. <!-- 版权信息,可选 -->
  19. <copyright></copyright>
  20. <!-- 程序运行窗口设置,必须 -->
  21. <initialwindow>
  22. <!-- 应用程序的主文件,SWF或HTML格式的,必须 -->
  23. <!-- 注意: 在Flex Builder中, 这个参数是自动设置的 -->
  24. <content>MZDown.swf</content></initialwindow>
  25. <!-- 主窗口的标题,可选 -->
  26. <title></title>
  27. <!-- 使用系统主题的类型 (使用 "standard" 或 "none"). 可选. 默认是 standard. -->
  28. <systemchrome>none</systemchrome>
  29. <!-- 指示窗口是否是透明的. 只有当过systemChrome设置为false的时候才起作用. 可选. 默认是false. -->
  30. <transparent>true</transparent>
  31. <!-- 指示窗口是否自动显示. 可选. 默认是false. -->
  32. <visible>true</visible>
  33. <!-- 指示用户是否可以最小化窗口. 可选. 默认是true. -->
  34. <minimizable></minimizable>
  35. <!-- 指示用户是否可以最大化窗口. 可选. 默认是true.  -->
  36. <maximizable></maximizable>
  37. <!-- 指示用户是否可以更改窗口大小. 可选. 默认是true. -->
  38. <resizable></resizable>
  39. <!-- 窗口初始宽度,可选 -->
  40. <width>800</width>
  41. <!-- 窗口初始高度,可选 -->
  42. <height>600</height>
  43. <!-- 窗口初始X轴坐标,可选 -->
  44. <x></x>
  45. <!-- 窗口初始Y轴坐标,可选 -->
  46. <y></y>
  47. <!-- 窗口的最小尺寸, 请按照宽度/高度的格式编写, 比如"400 200". 可选 -->
  48. <minsize></minsize>
  49. <!-- 窗口的最大尺寸, 请按照宽度/高度的格式编写, 比如"800 600". 可选 -->
  50. <maxsize></maxsize>
  51. <!-- 标准的程序文件安装路径设置. 可选 -->
  52. <installfolder></installfolder>
  53. <!-- 操作系统程序/菜单中的路径设置. 可选 -->
  54. <programmenufolder></programmenufolder>
  55. <!-- 程序的图标设置. 可以自定义路径到AIR安装包中的PNG格式图片的位置. 可选 -->
  56. <icon>
  57. <image16x16></image16x16>
  58. <image32x32></image32x32>
  59. <image48x48></image48x48>
  60. <image128x128></image128x128>
  61. </icon>
  62. <!-- 用户手动更新 (true), 或由默认的 AIR 应用处理更新 (false).可选,默认是false. -->
  63. <customupdateui></customupdateui>
  64. <!-- 否允许用户通过点击浏览器中的链接来启动程序,可选,默认是false -->
  65. <allowbrowserinvocation></allowbrowserinvocation>
  66. <!-- 程序可注册的文件类型. 可选. -->
  67. <filetypes></filetypes>
  68. <!-- 定义文件类型. 可选. -->
  69. <filetype></filetype>
  70. <!-- 在系统中显示的文件类型名称. 必须. -->
  71. <name></name>
  72. <!-- 要注册的扩展名. 必须. -->
  73. <extension></extension>
  74. <!-- 文件类型的描述. 可选. -->
  75. <description></description>
  76. <!-- MIME 类型. 可选. -->
  77. <contenttype></contenttype>
  78. <!-- 这个文件类型的图标显示. 可选. -->
  79. <icon>
  80. <image16x16></image16x16>
  81. <image32x32></image32x32>
  82. <image48x48></image48x48>
  83. <image128x128></image128x128>
  84. </icon>

RIAMeeting第七次会议

07月 21st, 2008

火热七月,非一般的七月,有7yue做嘉宾的RIAMeeting第七次会议将在7月召开。

这次的会议的主题:
Flash视频技术与应用

时间:
2008年7月26日

地点:

北京市建国门外大街1号国贸中心西楼309-10室(Adobe系统软件(北京)有限公司)

会议日程:

13:30–14:00 签到时间

14:00-15:00 1 Dynamic Media & Flash Media Server   主讲:马鉴 7yue

15:00–16:00 Open Source Project Red5  主讲:Bill lee

16:00–17:00 分组讨论

本次报名将采用系统报名的方式,请到这里报名。


Clicki | 秒针系统 | HealthCare 863