GVKun编程网logo

浅谈 Flash/Flex/HTML5 技术选型(flash html5 区别)

6

对于浅谈Flash/Flex/HTML5技术选型感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解flashhtml5区别,并且为您提供关于ACTIONSCRIPT,AS3,MXML,FLEX

对于浅谈 Flash/Flex/HTML5 技术选型感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解flash html5 区别,并且为您提供关于ACTIONSCRIPT,AS3,MXML,FLEX,FLEX BUILDER,FLASH BUILDER,FLASH,AIR,FLASH PLAYER之关系、CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系、Flash HTML5动画特效、flash 播放器转换 html5的宝贵知识。

本文目录一览:

浅谈 Flash/Flex/HTML5 技术选型(flash html5 区别)

浅谈 Flash/Flex/HTML5 技术选型(flash html5 区别)

在HTML5发布以前,RIA领域的技术解决方案一直相都是各展所长,并无争议。Adobe体系中,Flash做不了的事情,Flex可以做到;.Net系决策者在选用RIA解决方案时,Silverlight是不二之选。

曾经我对Flex的迷恋到了欲罢不能的地步,与我有相同想法的人亦不在少数,Flex也大有“一统江湖”的趋势。然而,随着HTML 5横空出世,Flex“易主”,Silverlight被“雪藏”,RIA领域的技术解决方案开始变得扑朔迷离。

HTML 5无疑是“明日之星”,苹果公司前CEO乔布斯对它赞赏有加,绝大多数智能手机浏览器均支持HTML 5,基于HTML 5的网站也如雨后春笋般出现。这些似乎预示着HTML 5时代来临,人们试图让决策者相信,Flash/Flex时代已经过去了,HTML 5才是RIA领域的最佳解决方案。然而,事实果真如此吗? 我曾经见过一个项目,原计划使用Flex做为前端解决方案,由于当时HTML 5“盛行”,最终决策者决定弃用Flex而转投HTML 5。 接下来会发生什么呢?

  • 由于HTML 5的浏览器兼容性问题,导致需求设计阶段的很多功能都需要推倒重做。
  • 在实现过程中,不仅要写HTML 5标签,还要写CSS与JavaScript,对于项目来说,增加了人员构成,项目的开发成本也随之增加。
  • HTML项目可以方便获取源码,因此需要增强保密性及安全性设计。
  • 在插件的编写、框架的选择上,其难度也要远远大于Flex。

从上述情况可见,HTML 5也存在劣势,并不完美。同样,我也可以列举出诸多例子来体现HTML 5的优势。那么,“真相”到底是什么?

真相只有一个:

HTML 5与Flex是两种截然不同的技术解决方案。HTML 5的出现让Flex更加专注某些方向和领域。所以,它们是互补的,而非替代。因此,“替代”一说并不准确。

虽然,上述例子只是小概率事件。但概率小,不代表不发生,不代表不典型。所以,在这里我想跟大家谈一下Flash、Flex、HTML 5的技术选型。

首先明确一个观点:技术选型没有既定的规律可循,它是由诸多因素决定的,例如:开发人员的技术知识结构是否胜任、项目的开发成本、开发人员构成、项目的开发周期、项目的属性等等。

但是,我们仍可以从这些技术的特点出发,辨别你的应用程序适合采用哪种方案!

Flash的特点:

  • 优势:

    • 借助时间线(Time Line)和Action Script 3.0可以方便地制作出任意效果动画。
    • 完备的开发工具。(Flash Pro CS系列开发工具)
    • 完备的工作流。(Adobe CS系列全线工具均可以导入到Flash并可二次编辑)
  • 劣势:

    • Flash Player不支持iOS。
    • Flash Player不支持Android 4.1+。(Android 4.0以下系统均可支持)

Flex的特点:

  • 优势:
    • 完备的、可以媲美C/S架构(桌面软件)的大量控件支持。
    • 与Flash及Adobe CS系列全线工具的完美结合。
    • 完整的企业化开发流程及工作流(代码的编写、编译、调试、发布等)
    • 多种框架可供选择,并支持高级特性,如:IoC、视图绑定、数据绑定实时更新等。
  • 劣势:
    • 生成的SWF过大。(虽有完善的“瘦身”方案,但仍比HTML方案大很多)
    • 效率问题。(在某些情景下,比HTML 5的效率要差一些)
    • 较差的图文混排支持。(无法媲美HTML 5的图文混排,这是Flash系的通病)
    • 储备人员相对HTML来说还是太少。

HTML 5的特点:

  • 优势:
    • 完备的技术人员储备。(前端开发人员的数量完全可以跟Java、.Net程序员媲美)
    • 借助HTML 5的诸多新特性,在某些层面完全可以取代Flash技术。(Flash属于Plug-in方式,而HTML则是浏览器原生支持)
    • 不逊色于Flex的大量控件。(Bootstrap、基于jQuery的控件比比皆是)
    • 真正意义上全平台支持。
    • 借助Node.js可以胜任后台(前/后台通吃);借助Coffee Script,可以媲美Ruby/Python的语法糖衣。
    • 比Flex拥有更大、更全面、更活跃的社区。
  • 劣势:
    • 作为企业开发,不具有媲美Flex的工作流及开发流程。
    • 作为游戏开发,在支持3D及运行效率方面,不如Flash Stage3D。
    • 编写HTML 5的应用程序,很大程度上还要编写CSS与JavaScript,对初学者来说,学习曲线较Flex高一些。
    • HTML 5依然存在浏览器兼容问题。(随着W3C与WHATWG的分裂,估计这种情况会被进一步加深)
    • 在大型HTML 5的项目中,Flex遇到的问题在HTML 5中依然存在(例如:效率问题),在此基础上还增加了浏览器兼容性、Ajax跨域通讯等新问题。

下面的表格,描述了这三者在一些关键点的比较:(图1)

下图使用区分法,来辨别应用程序的技术选项方案:(图2)

下面的表格从“项目属性”角度来比较这三者之间的优劣性:(图3)

总结:

  • Flash:
    • 适合强交互、强效果、少数据展示、少图文混排、偏展示/工具属性的应用程序。例如:Flash交互广告展示、页游(Flash Game)等。
  • Flex:
    • 适合较强交互、适当效果、多数据展示、少图文混排、偏工具属性的应用程序。例如:图片在线修改、企业内部系统、ERP系统、金融系统等。
  • HTML 5:
    • 适合较强交互、适当效果、多数据展示、多图文混排、偏应用属性的应用程序。例如:Google系网站、各种传统意义的网站、SNS系网站等。

via InfoQ

相关链接

    想通过手机客户端(支持 Android、iPhone 和 Windows Phone)访问开源中国:请点这里

    本站文章除注明转载外,均为本站原创或编译
    欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
    转载请注明:文章转载自: 开源中国社区 [ http://www.oschina.net]
    本文标题:浅谈 Flash/Flex/HTML5 技术选型
    本文地址: http://www.oschina.net/news/31896/html5-vs-flash-flex

    ACTIONSCRIPT,AS3,MXML,FLEX,FLEX BUILDER,FLASH BUILDER,FLASH,AIR,FLASH PLAYER之关系

    ACTIONSCRIPT,AS3,MXML,FLEX,FLEX BUILDER,FLASH BUILDER,FLASH,AIR,FLASH PLAYER之关系

    • 原文链接:http://zengrong.net/post/1295.htm

    ActionScript

    ActionScript通常简称为AS,它是Flash平台的语言。AS编写的程序,最终可以编译成SWF、SWC。SWF就是我们常说的Flash动画。但是现在SWF已经不仅仅是动画,而是RIA的载体。

    ActionScript有3个版本,分别是1.0版(AS1),2.0版(AS2)和3.0版(AS3)。只有Flash Player 9及以上播放器才支持AS3编译的SWF。这三个版本的差别非常大,现在最流行的版本是AS3。

    Flex与MXML

    因为在开发RIA的时候,需要很多常用的功能,例如控件(Button,ComboBox,List……)、布局(VGroup、VBox……)等等…… Adobe就开发了一套官方的框架集来实现这些功能,这套框架集就叫做Flex。

    为了方便程序员快速编写RIA程序界面,Adobe又实现了一种基于XML语法的语言MXML,这套语言很像HTML,可以与AS混用,MXML最终也是编译成SWF或SWC。 Flex框架就是使用AS3与MXML两种语言写成的。但说白了,MXML 外加实现了MXML语法,如果你有兴趣,也可以自己实现这些。 Flash和Flex,都是用AS编写,使用swf体现。

    Flash

    现在Adobe已经将Flash其定义为一个平台(Flash Plantform),包括了Flash IDE、Flash Builder、AIR、Flash Player以及更多。但我们一般讲Flash,有两个意思,一个是指Flash动画(也就是网页上扩展名为swf的动画),另一个就是Flash IDE。

    Flash(IDE)从4.0开始进入中国,前期一直在网页动画方面告诉发展,多被用来做网页小广告(让你cpu100%的罪魁祸首之一)和MV(showgood三国系列、小小系列、大学自习室……曾经风靡一时啊)。那时的“闪客”,主要是做动画,即使涉及到编程,也大多是用当时的AS1.0(后来Flash MX 2004升级为AS2.0)写一点stop、gotoAndplay之类的东东了。Flash(IDE)发展到8.0版本以后,才开始大量用于编程,当时比较流行的就是“Flash留言本”等等。相关历史我做了一张图来表示,括号里的数字是年份。

    FlashIDE发展史

    Flash Builder/Flex Builder

    AS发展到3.0之后,由于其语法和JAVA比较像,再加上增强的性能与强类型,可以完全脱离FLA文件,使用纯文本编码,受到了许多其他程序员(尤其是JAVA程序员)的青睐。由此得以高速发展,用AS开发程序的人也越来越多。AS在视频网站、游戏行业发展迅速。但是,Flash IDE虽然是一个很好的动画制作工具,却不是一个好的开发工具。于是,Adobe又发布了Flex Builder,一个基于Eclipse的IDE,并发布了Flex SDK,后来又开源了。

    有了免费的编译器,Flex得以快速发展。用Flex Builder也可以开发纯AS项目(即所有的文件都是as文件,不包含MXML,也不包含FLA)。一个真正的程序猿,应该更愿意使用这种方式吧?Flex Builder从4.0开始,被Adobe改名为Flash Builder。

    Flash Builder和Flash IDE不应该放在一起比较,它们不是一类软件。如果一定要比较一下的话,那么就是Flash IDE比较偏重于设计一点,用它做动画比较方便,当然也可以用它编写AS3程序。用Flash IDE编写的程序,会有一个FLA源文件,可能还包含多个as文件。Flash Builder偏重于程序,用它可以开发MXML(也就是Flex)项目。也可以用它编写纯AS项目。用Flash Builder编写的项目,都是纯文本文件(.as或者.mxml)。 对于程序流,当然偏爱Flash Builder,而设计流比较偏爱Flash IDE。

    当然,IDE并非只有Adobe官方的东西,Flash Develop就是个免费的IDE。如果你愿意,用记事本做编辑器也没什么不好(比如说zrong就正在尝试VIM),因为SDK和编译器都是免费的。

    Flash Player

    swf动画需要在网页上显示出来,就需要安装Flash Player。Flash Player的不同版本,其实与Flash IDE也有一定的对应关系(从上图也能看出来)。但到了AS3时代后,这个对应关系就不那么明显了。Flash Player 9是能支持AS3 的最低版本(其实前面还有一个Flash Player 8.5,只是没普及就升级到9了),后面的Flash Player 都能支持AS3了。关于Flash Player,我写过一篇有史以来关于Flash Player的最详细说明,看这个就很清楚了。

    AIR

    Flash Player 再强大,也是运行在浏览器中,受浏览器约束。为了摆脱浏览器,Adobe又出奇招,发布了AIR。AIR其实就是一个Runtime,你可以把它理解成JVM。有了AIR,就可以用AS3开发桌面软件,而且开发出的软件可跨平台运行(这和JAVA的一次编译,随处运行不是如出一辙么!)。目前国内的AIR应用主要集中在网站的客户端方面,例如新浪微博AIR客户端等。

    SWF SWC SWZ

    SWF
    swf是我们见到的最多的Flash平台文件了。是的,它就是Flash平台的最终表现形式。前面说到了,无论是Flex、Flash还是纯AS3,最终编译出来的文件都是swf格式,浏览器中的Flash Player插件和独立的Flash Player,也只能“打开”swf文件进行播放。前面说到的AIR,它的本质也就是运行时+swf而已。

    其实并非所有的swf都能直接播放的。swf有3种:

    1. 程序SWF(application swf):可以直接在flash player中运行的swf;
    2. 库SWF(library swf):swc文件中的library.swf;
    3. 模块SWF(module swf):Flex Module产生的swf文件。

    最终用户碰到的绝大多数都是“程序SWF”,而程序猿们碰到后面两种SWF的可能性就比较大。

    SWC

    SWC是一种库文件,通常用来发布非开源的类。程序猿们将源码编译成SWC文件,并发布api文档,我们就可以使用这些SWC提供的类库进行自己的开发。SWC并不是运行时共享的,而是在编译的时候直接加入了程序SWF中。最终的程序SWF可以脱离SWC运行。

    SWC本质就是一个zip文档,其中包含一个library.swf文件和一个用于描述的xml文件,你可以用zip管理器打开它查看。

    SWZ

    你可能会发现,从TLF出现以来,Flex SDK中多了一个flashx包,这个包中的功能,就是用SWZ实现的。SWZ是在运行时共享的库,你可以将其看作一个可以放在外部的SWC。而且SWZ的共享是平台级别的(Moudle SWF的共享是浏览器级别),存在于操作系统缓存中(Module SWF的存在浏览器缓存),只要下载过一次SWZ,你的操作系统中所有用到这些SWZ中的地方(无论是IE、FF、Chrome还是AIR)都不用重新下载。

    对于程序猿,这里的关于SWC和SWZ的信息肯定是不够的,所以建议看一下smithfox的swf swc swz RSLs ant,本文的这个部分也是参照它写成的。

    全文完


    关联文章

    1. [转]Flash Builder 4中构建纯ActionScript书写的AIR项目
    2. Flash Professional 载入资源文件方法考">[转]Flash/Flex Builder <-> Flash Professional 载入资源文件方法考
    3. Flex Builder 3 b3编译的swf文件为什么那么大?
    4. 《ActionScript 3.0 Cookbook》读书笔记1.2-关于trace()
    5. Flash Builder 4 For Linux

    CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系

    CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系

    CFI Flash, JEDEC Flash ,Parellel Flash,SPI Flash, Nand Flash,nor Flash的区别和联系

    简单说就是,Flash,按照内部访问接口不同,分为两种,
    一种是就像访问SDRAM一样,按照数据/地址总线直接访问的nor Flash,
    另一种是只有8位(X8)/16位(X16)或者更多(X32/…)位宽的总线,每次访问,都要将长地址分成几部分,
    一点点的分别传入才能访问的Nand Flash。
    Nand和nor的使用寿命,块擦除的速度,数据存储的出错几率等,都有很大区别。

    而其中的nor Flash,根据外部接口分,又有普通的接口和SPI接口。
    而普通接口的nor Flash,多数支持CFI接口,所以,一般也叫做CFI接口。
    CFI接口,相对于串口的SPI来说,也被称为parallel接口,并行接口;
    另外,CFI接口是JEDEC定义的,所以,有的又成CFI接口为JEDEC接口。
    所以,可以简单理解为:对于nor Flash来说,CFI接口=JEDEC接口=Parallel接口

    所以,可以简单理解为:对于nor Flash来说,CFI接口JEDEC接口Parallel接口
    关于CFI接口的详细信息去看:
    Flash Memory: NAND,EEPROM,NVRAM and others [ZT] 
    http://hi.baidu.com/serial_story/blog/item/95f14cf09e1b00a6a50f5260.html

    普通的parallel/CFI/JEDEC接口的的nor Flash的针脚比较多,芯片比较大,比如:

    而SPI是比较常见的接口,就不多说了。
    之所有会有SPI接口的,主要是相对CFI/Parallel的nor,可以减少针脚数目,
    减少芯片封装大小,采用了SPI后的nor Flash,针脚只有8个,例如:

    Flash HTML5动画特效

    Flash HTML5动画特效

    1、HTML5 Canvas火焰喷射动画效果

    还记得以前分享过的一款HTML5烟花动画HTML5 Canvas烟花特效,今天我们要来分享一款类似的HTML5动画效果,一款基于HTML5 Canvas火焰喷射动画。用鼠标拖动一条直线,直线长度表示火焰喷射的力度,另外,火焰在运动中还可以反射效果哦。

    html5-fire-ball-shooter

    2、HTML5 3D立方体旋转动画

    之前我们已经分享一款HTML5 3D正方体旋转动画,可以切换至正方体的任意一面。今天我们再来分享一款绚丽的HTML5 3D立方体旋转动画,这款立方体的色彩看上去非常艳丽,旋转起来的动画效果也十分流畅。是一款很不错的HTML5 3D动画效果。

    html5-3d-cube

    3、HTML5/CSS3实现大风车旋转动画

    这次我们要来分享一款很酷的HTML5动画,是一个可以旋转的大风车动画效果,回顾一下利用HTML5实现的旋转动画,我们可以看HTML5/CSS3实现3D旋转陀螺动画,它们的实现都是利用CSS3的transform:rotate属性,这款大风车动画的确比较厉害的。

    html5-css3-windmill

    4、HTML5小车动画 很酷的HTML5吉普车

    有几天没有分享HTML5动画了,之前很多HTML5动画都是利用CSS3的一些特性和Canvas特性来完成,比如这个HTML5/CSS3实现蝙蝠侠人物动画就利用CSS3的动画特性,HTML5 Canvas模拟衣服撕扯动画就利用了HTML5 Canvas特性。今天我们要分享一款利用HTML5/CSS3实现的吉普车动画,小车可以水平滚动,非常逼真。

    html5-css3-car-animation

    5、纯CSS3 3D图片翻转展示 图片3D阴影效果

    之前我们分享过一些HTML5图片3D效果,这篇文章分享10款效果惊艳的HTML5图片特效中我们可以看到很多3D的图片特效。今天我们再来分享一款利用纯CSS3实现的3D图片翻转展示特效,点击图片或者下方的翻页按钮即可选中相应的图片,并实现翻转展示效果。

    css3-3d-image-coverflow

    6、HTML5摆动的文字特效 类似柳枝摆动

    之前我们在html5tricks上分享过一些HTML5文字特效,像这款HTML5/CSS3 3D文字特效 文字外翻效果,像这款HTML5像素文字爆炸重组动画特效都非常有特色。今天我们来分享一款可以摆动的HTML5文字特效,文字垂直下垂,并可以在微风中微微摆动,就像春风中的柳枝一样。

    html5-swing-text

    7、HTML5/CSS3 3D木块旋转动画

    今天我们要来分享一款迷人的HTML5/CSS3 3D旋转动画,这款3D动画的主角是一根根小木条,每根小木条都会旋转,小木条之间的旋转有一定的间隔,这样就会有一种螺旋的视觉效果。另外,和之前分享的HTML5 3D动画一样,也是利用了CSS3的transform属性,点击这里可以查看更多HTML5 3D特效。

    css3-3d-spinning-planks

    在线演示 / 源码下载

    flash 播放器转换 html5

    flash 播放器转换 html5

    请问哪个好心的大大能帮我将 cmp4 播放格式转换为 html5 播放格式,请留 QQ ><"

    今天关于浅谈 Flash/Flex/HTML5 技术选型flash html5 区别的介绍到此结束,谢谢您的阅读,有关ACTIONSCRIPT,AS3,MXML,FLEX,FLEX BUILDER,FLASH BUILDER,FLASH,AIR,FLASH PLAYER之关系、CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系、Flash HTML5动画特效、flash 播放器转换 html5等更多相关知识的信息可以在本站进行查询。

    本文标签: