类似Twitter之类的轻量级SNS的最大优势在于其强大的API支持和巨大无比的扩展空间。目前比较好的产品是twhirl,基于最新的Adobe AIR Beta3(如果是Beta2或者更早的版本,请卸载后安装新的Beta3)
之前,曾在《22 AS3 API》中介绍过相应的API,而今天发现Twitter的官方API中有详细的ActionScript3 Twitter库(当然,也包括AS2库),利用Flex Builder或者下一代Flash IDE可以直接开发AIR应用客户端。这时,产品的设计权完全在开发者的手中,产品竞争力更加草根化、民主化!这也是不提供API的SNS网站所望尘莫及的一点。
很久很久以前,就看到过Lee Brimelow的ActionScript3学习网站GotoAndLearn,与其他教学资源网站不同,GotoAndLearn是全程的视频资料。
我看得第一个视频教程是讲解Math类的用法,还是AS1、2时代的教程了。Lee清晰的发音和流畅的FLV画面让我这个非英语母语的人听起来也完全可以理解。当时,Lee只是用类似Flex的一个框架简单地搭建了一个教程列表。中途有一段时间更新并不算快,我看来,这种速度的更新可能最后就“无疾而终”了。但Lee今天在Twitter上的一则消息让我又振作起来。
GotoAndLearn已经焕然一新,所有的FLV视频都提供下载!现在,大量AS3视频教程的跟进让我觉得这个网站真的是每一个Flash Deveoper都值得一看的资源宝地!
在这里看到的消息。翻译过来给大家看看,转载请保留:http://as3blog.com/news/air-beta3/
Adobe AIR是一套能够让开发者将他们已经熟知的HTML、AJAX、Flash和Flex技术融会贯通,并极大限度利用客户端资源的体系。
Beta3日前发布,以下是一些新的功能:
- Beta3发布的应用能设定为“开机自动运行”、“登录自动运行”(aw附:为考证是否仅针对Windows平台)
- Web Launcher可以在浏览器中判断您是否安装了某种AIR应用,并且直接激活您已经安装的AIR应用
- 支持H.264高清视频和高级音频编码(AAC)
- 全屏硬件加速
- Flash内容可以集成进入基于HTML的应用
- 支持AIR的在线自动更新(应该能协助Beta3用户顺利过渡到正式Release了)
- Thawte为AIR应用提供安全性认证。这个类似Yahoo的Widget引擎的功能使得我们可以放心地下载各种AIR应用
- 支持Mac OSX Lepard操作系统
其中有三项我个人非常喜欢,已经标为黑体。
此外,我在官方Wiki中发现,如果不出意外,Beta3的API将会和最终发行版(1.0)保持不变!
转载请注明出处:探索Flash播放器“运行缓慢”的原因及解决方案 - http://as3blog.com/resources/upload-causing-flashplayer-slowly/
最近在实现基于JavaScript和ActionScript的“批量文件上传系统”。感谢SWFUpload这样一个有趣的项目,从前到后ActionScript(AS2)、JavaScript和PHP都已经基本搞定。然而,当我把本地的PHP脚本移到服务器上之后,在上传大文件时,浏览器端的FlashPlayer总是弹出如下警告:
A script in this movie is causing Adobe Flash Player to run slowly. If it continues to run, your computer may become unresponsive. Do you want to abort the script?
大致意思是:“该Flash中有一段单帧脚本导致Flash播放器运行缓慢,如果继续,很可能会引发‘死机’现象”。其中,单帧脚本是指在Flash的一个关键帧中所处理的脚本。
Flash程序,也就是ActionScript,和C++、Java不同,ActionScript在2.0之前的入门门槛非常低,几乎小学生学几天都可以写一个上来溜溜(这并不是一件坏事)。这样一来,产生了不少效率低下的作品,甚至不少Flash动画含有潜在的死循环体(例如点击某个按钮后执行死循环)。虽然我们应该给初学者鼓励,但对于while(true)类似的死循环,则无疑严重破坏了用户体验,甚至会给用户造成不必要的损失。因此,对于编写不规范的ActionScript代码,采取这种措施是非常有必要的。
Adobe官方的解释是“几乎没有一个用户愿意为一个操作等待15秒以上的时间,他们(用户)会认为应用程序出了问题”。因此,Adobe非常“人性化地”在这个“由众多专家调查而得出的15秒”的时间段后给用户一个提示。同时,也给出了一些方法,例如,可以将循环“分摊”到不同的关键帧上。对于载入服务器端数据,如XML文件的案例,当被载入数据超过64k的时候,应将数据分开载入,并以不同的关键帧建立HTTP请求。这么做,比较类似我们在JavaScript中通过setInterval、setTimeout来解决。例如曾经写过一段JavaScript代码来改变整个页面链接的href属性,提供增加alexa排名的可能性。
很遗憾,Adobe忽略了一件事:文件上传。
FileReference和FileReferenceList两个类在Flash8的引入,无疑是Flash在Browser端应用极大的突破之一,曾经困扰Web开发者的Ajax文件上传和批量上传,尤其是对文件类型、大小的客户端检测,如今都能依靠FlashPlayer实现。而且,借助Flash8的External API,可以使ActionScript与JavaScript方便地通信,这样就可以让FlashPlayer在“幕后”完成一切的文件操作,而让DOM(HTML)来展现内容。
然而,恰恰是如此好的功能,却几乎每次都会受到上面提到的“脚本超时保护”的困扰。显然,Adobe官方的解决方案在这里就行不通了。
利用Google搜索,发现无数的人也在询问同样的问题。后来在这篇介绍用Flex实现的批量上传的文章后的评论里面,找到了一个叫做“Timothee Groleau”的哥们的“自问自答”,终于解开了迷团:FlashPlayer在触发并执行用户定义的脚本(就是你编写的ActionScript)时,会重置“脚本超时值”(上文提到的15秒)。这样,我们可在某一个“马甲MovieClip”上绑定一个onEnterFrame事件,让它不断地(逐帧)执行。最简单的做法就是:
_root.onEnterFrame=function(){return false}
原文地址请保留:
http://as3blog.com/resources/ecmascript4-overview-available/
ECMAScript的官方网站如此诠释EMCAScript脚本:“the language of the web” - 中文说,就是“互联网语言”。我们熟悉的JavaScript和ActionScript都是基于ECMAScript体系的脚本语言。
Adobe最新产品线(Flash CS3、Flex Builder、AIR)中也广泛地应用了基于ECMAScript第三版的ActionScript3作为基础语言。
如今,ECMAScript第4版已经初现端倪,在Moock处找到了这篇最新的《Overview PDF》(概要),其中“Features at a Glance”(显著特色功能)一下就吸引了我。关于语法校正(Verification)、性能优化(Speed Optimization)、新的迭代方式(for in和for each in)、自我定义(Soft-hosting)等等。
感兴趣的一定要去看看。
Firebug无疑是上天赐予每一个Web Developer最好的礼物。每一个AJAX、XHTML+CSS的项目几乎都要用Firebug从头跟到尾。而许多更加复杂的应用,需要利用Flash与JavaScript通信,甚至操纵DOM,则调试变得异常复杂。好在激活Firebug的Firefox窗体有一个叫做console的Object,它为JavaScript提供了一些列的函数支持,再利用Flash和JavaScript通信所用到的ExternalAPI,我们就可以直接让swf的输出显示在Firebug的console里面了。
感谢 Aaron Bassett 为我们完成了这样一个伟大的应用:
AS3版调试器(类):http://foobr.co.uk/flashBug/flashBug.AS3.as
AS2版调试器(算一个小SDK吧):http://foobr.co.uk/2007/02/debug_flash_with_firebug/
From: Danger
Orginal post: List of 22 ActionScript 3.0 API’s
Adobe APIs
corelib, mappr, flickr, youtube and more.
http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries
APE (Actionscript Physics Engine)
http://www.cove.org/ape/
as3awss3lib
ActionScript 3.0 library for interacting with Amazon S3
http://code.google.com/p/as3awss3lib/
as3soundeditorlib
Actionscript 3.0 library for sound editing
http://code.google.com/p/as3soundeditorlib/
as3ds
AS3 Data Structures For Game Developers
http://code.google.com/p/as3ds/
ASCOLLADA
http://code.google.com/p/ascollada/
As3Crypto
ActionScript 3 Cryptography Library
http://crypto.hurlant.com/
asinmotion
Animation Library for AS3
http://code.google.com/p/asinmotion/
Away3d
http://code.google.com/p/away3d/
ebay API
http://code.google.com/p/as3ebaylib/
facebook-as3
AS3 API to access Facebook’s Platform API
http://code.google.com/p/facebook-as3/
flest
Flest Framework for Adobe Flex and ActionScript3 Applications
http://code.google.com/p/flest/
FZip
Actionscript 3 class library to load standard ZIP archives and extract/decompress contained files.
http://codeazur.com.br/lab/fzip/
lastfm-as3
Actionscript 3.0 library to access the Last.fm web services
http://code.google.com/p/lastfm-as3/
MapQuest
http://company.mapquest.com/mqbs/4a.html
mecheye-as3-libraries
A set of ActionScript 3 Libraries, primarily for Flash game development.
http://code.google.com/p/mecheye-as3-libraries/
Papervision3D
http://code.google.com/p/papervision3d/
Salesforce Flex Toolkit
http://wiki.apexdevnet.com/index.php/Flex_Toolkit
Tweener
Full featured animation library
http://code.google.com/p/tweener/
Twitter AS3 API
http://twitter.com/blog/2006/10/twitter-api-for-flash-developers.html
uicomponents-as3
Lightweight AS3 UI component library
http://code.google.com/p/uicomponents-as3/
XIFF
XMPP client library
http://svn.igniterealtime.org/svn/repos/xiff/branches/xiff_as3_flexlib_beta1/
Yahoo AS3 APIs
http://developer.yahoo.com/flash/as3_api_libraries.html
Got any to add? Have you worked with any of these? Share your experience with others. Especially if you have run into any issues….
轻量的AS3 Tween类 - TweenLite
http://blog.greensock.com/tweenliteas3
特点:
- Minimize file size - 缩小文件尺寸
- Minimize the amount of code required to initiate a tween - 减少任务代码
- Tween multiple properties with a single call (including a MovieClip’s volume and color) - 多属性同一代码调用
- Maximize performance - 增强性能
- Build in the ability to call any function when a tween has completed and pass any number of parameters to that function - 完成时事件控制
- Build in the ability to call any function when a tween starts and pass any number of parameters to that function - 初始化事件控制
- Allow the user to set a delay before the tween takes effect (useful when looping through an array and you want to have tweens activate in a sequential way) - 启动时的延迟接口
今天抽空把PaperVision3D的相关文档看了一会儿,好奇地将那个Focus Demo发布成了AIR(下载)

查看原图:http://photo8.yupoo.com/20070703/010205_1981362520_farthagg.jpg
看来AIR、AS3、Papervision还需要进一步的优化,优化,优化……(我这里可是设置了stage.quality = “LOW”;的…)
首先,回味一下经典的武侠小说《倚天屠龙记》中第二十四章《太极初传柔克刚》中,张三丰传授一招”太极剑”给张无忌的情景。张三丰反复暗示让张无忌忘记招数。最终,张无忌以极快的速度领悟了”太极剑”的精髓,并击败了”八臂神剑”。
其实现实之中,也有很多场合需要我们去”忘记”。最近玩AIR开发的时候,就遇到这样的情况:也许是工作和生活的疲劳,导致我两个晚上研究AIR(Apollo)的进展非常缓慢。今天终于找到自己两个最大的疏忽:没有清晰地理解到MXML是什么;没有彻底认识到”AIR”的含义。总是被MXML所束缚,导致无法使用我擅长的FlashIDE环境直接进行轻量级开局。
下面我就结合对这两点疏忽的反思,简单介绍一下利用Flex Builder3开发并发布AIR程序的原理、思路。转载请保留链接:http://as3blog.com/as3/cs3-develop-air,作者:http://www.awflasher.com/blog/
1、MXML(Macromedia XML?)
MXML是Macromedia在2004年三月发布的一种描述界面的标记语言,基于XML标准。与微软的WPF技术体系不同的是,MXML必须在服务器端编译为swf,然后发布到客户端。客户端,或者我们叫做”Runtime”,可以执行这些swf,展现成界面、实现各种功能。我们常见的Runtime就是常说的Flashplayer。而最近非常红火的”Apollo”更名后的”AIR”,就是一种新的”Runtime”。微软的XAML(eXtensible Application Markup Language)很像MXML,也是一种描述应用界面、交互的基于XML的标记语言,但是它实在发到客户端再解释的(目前还不确定未来的具体实现)。
我个人认为,传统的Flash设计人员对于Flex的复杂性肯定是极难接受的,即便对于传统的Flash开发人员,也很难融入到基于XML的描述中进行一些轻量级的开发。而MXML的本意,则是去吸引那些VC、Java程序员。对于他们来说,MXML开发界面还是十分方便的。
另外还有一个误区就是,MXML就是应用程序。这是绝对错误的。MXML只是一种描述,最终运行,还是需要编译好的SWF+Runtime。对于传统的Flash开发人员,可以这么理解:MXML就好比FLA,FlexBuilder就好比FlashIDE把FLA变为SWF那样把MXML变为SWF。
2、AIR(Adobe Integrated Runtime)
AIR是Apollo Intergeted Runtime。AIR程序都是跑在AIR这个Runtime之上的。这就好比SWF文件在Flashplayer中运行一样。
AIR的组成和发布非常简单:一个描述应用的XML+一个根节点资源+一个打包工具。
在我们使用Flex Builder3简历AIR项目的时候,一般都会自动产生一个MXML和个XML。用Flex编译好的SWF,作为这个AIR的默认根节点,然后可以通过Flex Builder3 发布成为air安装包。然而这并不意味着我们只能用Flex开发AIR应用!我们只要有swf,并且把这个swf描述成为AIR应用的根节点资源,就可以利用Flex Builder3的打包工具发布我们的air安装包了!
下面是我利用Flash CS3开发AIR安装包的几个步骤的截图,我狠花了一番功夫准备的,相信看了这些图片,你会对Flex、MXML、Flash CS3、AIR等等这些概念有一个更加深入的理解!
先看最终效果吧:

开发步骤详细截图(共18张大图): More …