Flash平台

一,概述

Flash平台(Flash Platform)泛指Adobe公司主推的RIA平台的系列产品,包括Flash设计,Flash开发,Flash服务端等方面.

http://www.deepcast.net/wiki/flash%E5%B9%B3%E5%8F%B0?tab_details=view&image=flashplatform.gif&ns=&do=media

二,Flash设计

传统的Flash

三,Flash开发

Flash开发 Flex ColdFusion

FlashBuilder

编程语言:ActionScript

标记语言:MXML

Flex面向对象编程

四,Flash交互设计与服务端

FlashCatalyst

LiveCycleDS(LiveCycleDataServices)

BlazeDS(BlazeDataServices)

五,竞争

1 格式和插件

相对于Java, Acrobat Reader, QuickTime或Windows Media Player,Flash Player下载安装包更小,初始化更快.常用的调用代码如下:

<object data="movie.swf" type="application/x-shockwave-flash" width="500" height="500"> <param name="movie" value="movie.swf" /> </object>

矢量图的运用使得FLASH文件比位图或视频文件的体积更小下载更快,但是对于单独的文字效果或视音频内容来说,FLASH更加占用CPU资源. Flash Player不仅支持矢量图渲染,也支持视频,基于MP3的音频和位图.如Flash Player 8就支持两种视频编码: On2 Technologies VP6和Sorenson Spark, 支持JPEG, Progressive JPEG, PNG, and GIF. 下一个版本计划支持脚本的即时编译.

2 开放标准的替代品

W3C的SVG和SMIL标准是FLASH的最大竞争者.Adobe曾经开发Adobe SVG Viewer,在自己收购FLASH后就停止该项目了.

UIRA是集成F4L projectQflash project的作为Flash完全替代品的开源项目,目前因法律原因暂停.还有一些类似开源SWF创建软件项目,如:Ajax Animator(hosted version is ad-supported),KToonOpenOffice.org Draw,Pencil AnimationSalasaga, 和Synfig,这些软件都未完全支持FLASH尤其是Script.倒是swfc可在Linux下完全支持flash的script编译,但是它没有GUI界面,只有命令行.

3 第三方应用:

3.1 规格

为了应对类似Xara's Flare,Sharp's Extended Vector Animation formats等半开放格式的竞争,Macromedia在1998-10开放了Flash 3的规格格式.开发者们迅速开发了创建SWF的C类库.之后1999-2,MorphInk 99成为首个创建SWF文件的第三方应用.Macromedia还委托Middlesoft开发了一个创建SWF3-5的免费开发者工具包.Macromedia后来对Flash 6的文件规格作了限制性的公开,但该限制协议事实上基本无效.

2006-4,Flash 8 SWF的详细文件格式规格再次公开,当然在某些方面信息不够详细,如视频压缩格式(On2, Sorenson Spark, etc.),接受该公开资料的开发者被要求签约只能使用该资料于输出SWF文件,而禁止用于创建播放SWF的程序.Flash 9的规格文件在类似的协议下公开.

2008-5,Adobe启动了Open Screen Project。 这个计划本身,在于Adobe将免费无使用限制地公开关于SWF和FLV/F4V的具体规格。该项目旨在将富互联网体验推广到更多屏幕尺寸不同的设备上。Adobe将不再对移动设备开发者收取 Flash 和 AIR 协议费用,并且将向公众发布Flash的设备接口层的API规格,以及Flash Cast和AMF的协议内容。当然在某些方面资料依然不各完整如RTMP或Sorenson Spark.

但是,官方的Flash Player本身依然保持闭源。 无论如何,这些规格信息将极大的帮助如 GNASH 和 swfdec 等开源 Flash 项目。

3.2 播放

由于FLASH文件的开放限制,所以2008年后才有完全免费的第三方播放器.GnashSwfdec是两个开源SWF播放器,参见SWFOpener.

Scaleform GFx是一个商业性质的SWF播放器,硬件优化较好,常被用作游戏应用的中间件.用于 PC 和 console 3D games 的用户界面, HUDs, mini games,和视频播放.

3.3 创作

开源项目诸如UIRA等提供一个图形用户界面以创建SWF.而swfmillSWFTools,和MTASC直接把文本,AS脚本或XML文件编译成SWF.另外还可以通过使用Ming库(支持C, PHP, C++, Perl, Python, Ruby)在程序中生成SWF.haXe是一个开源的面向对象的编程语言,可以编译生成SWF.

2000到2002年间,许多共享软件开发者制作了FLASH创建工具并以US$50以下的价格出售.2003年后许多免费工具的出现淘汰了许多旧的收费工具,而能留存下来的旧工具如Toon Boom等价格提高到US$100以下.开源工具有:Screencam. 还有一些专注于输出指定类别内容SWF的软件.[[http://en.wikipedia.org/wiki/Anime_Studio|Anime Studio]]是一个2D的专业文本动画软件. [[http://www.playerdiy.com/|Moyea Web Player]]专注于创建自定义的基于网络的FLASH视频播放器.[[http://en.wikipedia.org/wiki/Express_Animator|Express Animator]]主要目标是专业动画家. [[http://en.wikipedia.org/wiki/Question_Writer|Question Writer]]以SWF来发布试题. 最早用于帮助无技术基础的用户创建基于FLASH的网站的在线工具之一是1998年的[[http://www.flashtogo.com/|FlashToGo]].而[[http://en.wikipedia.org/wiki/Wix.com|Wix.com]]和[[http://en.wikipedia.org/w/index.php?title=CirclePad&action=edit&redlink=1|CirclePad]]则有着更为灵活的定制与适应性. Adobe曾经也开发了一套矢量动画软件livemotion,也支持Flash格式,发行过两版,但是却打不开市场。 2003-1, Macromedia收购Presedia,该公司的FLASH创作工具可把PowerPoint展示自动转换为FLASH,之后Macromedia推出了新产品Breeze,另外,Apple的[[http://en.wikipedia.org/wiki/Keynote_(software)|Keynote]]V2也可创建互动的SWF展示.

六,Flex开源项目

Flex开源项目的发展: 如免费的AMFPHP,Yahoo AS2 Library, Google flex code.... 1), OpenLaszlo:一般被认为可能是FLEX替代品的是 [[OpenLaszlo]]和[[Ajax]] 技术。还可以参考一下早已是标准的[[SVG]]技术。 2), [[http://www.globfx.com/products/neoswiff/| NeoSwiff]]:从C#到SWF的编译器 3), [[http://www.mtasc.org/|MTASC]]:免费并开源的 AS 2 编译工具 4),[[ColdFusion]]: Macromedia 把一部份Flex 1.5的子集嵌入到了它的Coldfusion MX 7中间件平台中以供在Flash forms中使用。虽然可以使用这个平台来开发RIA,但是它原来的目的只是为了开发丰富的forms应用,所以这个功能并不为Macromedia 所支持。 5), [[Ajax]], Aflax 6), [[http://www.graniteds.org/|开源的Granite Data Services graniteds]] 7), [[http://osflash.org/red5|开源JAVA的Red5 : Open Source Flash Server]] 8), [[http://www.amf-php.org|AMFPHP]],[[http://maclema.com/assql/|Flash 直接连接MySQL的AS3驱动类]]

七,网页中的视频

Flash 6开始就能嵌入视频,文件格式为FLV或H.264.由于FLASH的普及而使得FLASH视频比较容易被采用,而HTML5里尚未平息对视频标准制定的争议. FLASH视频(.flv)实际上是一种容器格式,就是真实视频的包装容器而已.它从Flash Player8开始采用H.263编码.它也能使用VP6编码(由于FLASH PLAYER 8/9的流行而流行),音频采用MP3格式. 2007-8,Flash Player 9开始支持MP4、M4V、M4A、MOV、MP4V、3GP(MPEG-4 Part 17)和 3G2,支持 H.264(MPEG-4 Part 10)视频和高效率 AAC(HE-AAC,MPEG-4 Part 3) 音频编解码器支持, 开发人员可以在其应用程序中充分利用这些功能。Flash Player 支持一部分 MPEG-4 Part 12 (容器)和 Part 10 (H.264), 包括基线、主要和高端配置文件.

参见

[[http://software.solidot.org/article.pl?sid=11/11/17/022258&from=rss|Google Swiffy:将Flash导出成HTML5 |]] [[http://www.7yue.com/post/383.html|清晰的Flash平台中各产品定位图|]] [[http://www.wangtam.com/50226711/20_ae_flash_e_118776.php|20 余款 Flash 工具和资源]] [[http://betsylavolette.com/?p=544|Open-source Flash quiz maker|]] [[http://www.templatekit.com/tstore/product_info.php?products_id=205|XML Flash Quiz Template|]] [[http://www.scriptsbank.com/Detailed/2629.html|QuizShock|]] [[http://www.xflashboy.com/xblog/article.asp?id=13|Flash WEB 应用]] Flash 3D 应用目前是一个趋势,多半是使用以下几个引擎。 毫无疑问,Flash 10 (CS4) 也会支持一些 3D 特性. 只不过是软模拟,而非真正意义上的 3D. [[http://www.flashsandy.org/|http://www.flashsandy.org]] Sandy [[http://code.google.com/p/papervision3d|http://code.google.com/p/papervision3d]] Papervision 3D [[http://away3d.com/|http://away3d.com]] Away3D[[http://blog.alternativaplatform.com/en/|http://blog.alternativaplatform.com/en/]] Alternativa 3D [[http://www.cnblogs.com/ly4cn/archive/2006/09/13/503412.html|用Flex2开发2D游戏(先试试2D性能)|]] http://www.klstudio.com/ http://coenraets.com/index.jsp [[http://www.adobe.com/devnet/flashplayer/articles/flash_player_admin_guide.html|Adobe Flash Player Administration Guide,Flash Player 管理员向导解释各种配置技巧]]

官方的devnet继改版后,推出了一个面向RIA系统架构设计师的文章:Flex Interface Guide,官方称之为FIG,里面的文章会陆续更新,目前的几篇文章非常值得一读,即使你是用其他技术做UI的,也有些意见值得参考。Flex Interface Guide

新发布的PyAMF提高了Google App Engine的支持度|

Flexcoders - Flex 技术邮件列表|

ColdFusion Flex邮件列表| at House of Fusion.

CFlex - Flex开发者交流社区|

Flex Authority - Adobe Flex 开发者站点|

CFFLEX - Coldfusion/Flex 开发者站点|

Jesse Warden - Adobe Flex开发者Blog站点|

Renaun Erickson - Adobe Flex开发者Blog站点|

谈Flash Builder、Flash Catalyst与Flash Platform|

2009年我所期待的Flash Platform

FlashLite内容性能优化的相关标准文档performance.zip 458k