成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flash:涅磐與重生

開發(fā) 前端
Silverlight成不了Flash的競爭對手,主要原因是商業(yè)層面的原因。HTML 5還是初生嬰兒,需要進一步觀察。這些在本文后半部具體分析,本文重心還是Flash。

10月3號,F(xiàn)lash Player 11 和 AIR 3.0正式提供下載,一片安靜。最近這兩年來,關于Flash的新聞一向是以負面為主,先是 Silverlight 的挑戰(zhàn),然后是 iphone和ipad的不支持及HTML 5的良好預期,F(xiàn)lash 看似風雨飄搖,明滅不定。實則不然。我個人觀點:Silverlight成不了Flash的競爭對手,主要原因是商業(yè)層面的原因。HTML 5還是初生嬰兒,需要進一步觀察。這些在本文后半部具體分析,本文重心還是Flash。

51CTO推薦專題:HTML 5 VS Flash 誰是海賊王?

 

下面先詳細闡述:

(1)什么是Flash平臺

(2)Flash平臺的兩次涅磐與重生

(3)Flash平臺的商業(yè)策略及這種策略的優(yōu)勢和劣勢

我個人只有3年的Flash開發(fā)經(jīng)驗和2個月的HTML 5開發(fā)經(jīng)驗,受經(jīng)驗所限,本文若有事實錯誤還請指正。

(1)什么是Flash平臺

什么是Flash平臺?這個問題絕大多數(shù)人、甚至絕大多數(shù)程序員都不知道,因為Flash一直游離在主流開發(fā)人群之外,大家對它的印象:最開始是網(wǎng)絡動畫和網(wǎng)絡廣告,后來是網(wǎng)絡視頻,接著是現(xiàn)在的網(wǎng)頁游戲。

下面用一句話來介紹什么是Flash平臺:

Flash平臺是與.Net和Java類似的運行時平臺,有虛擬機、有GC、有比較成熟的快速開發(fā)語言、有比較成熟的IDE。它們之間的不同是:

◆ Java是從Server端起家的

◆ Net是從桌面起家的

◆ Flash是從Web起家的

Java 現(xiàn)在統(tǒng)治了Server端的快速開發(fā)。.Net 統(tǒng)治了Windows下的Web開發(fā)、是桌面快速開發(fā)(還未統(tǒng)治)的重要選擇。誰會統(tǒng)治Web和移動APP的快速開發(fā)?目前只有兩個選項——JS和Flash。雖然目前JS的呼聲比較高,但我覺得Flash的勝機更大,或者是兩者的寡頭壟斷,后面比較html5和flash時再詳細分析。

Flash有一個運行時,現(xiàn)在叫avm2,相比Java和.Net的大個頭來說,這個運行時很小,只有很少的功能,甚至連線程都沒有。Flash Player 10的安裝包為2M+,F(xiàn)lash Player 11的安裝包為3M+。Flash 的可執(zhí)行文件格式是swf,庫是swc,字節(jié)碼是abc(ActionScript Bytecode)。Flash的主流開發(fā)語言是actionscript 3.0,它是一種ECMAScript語言,我私下叫它javascript ++。actionscript 3.0 既有靜態(tài)語言的特性,又有動態(tài)語言的特性,什么屬性啊、事件啊、元數(shù)據(jù)啊等都有,是一門快速的開發(fā)語言。Flash的其它的開發(fā)語言有haXe,C,C++。順便說一句:haXe也能開發(fā)html5應用。

Web是Flash平臺的起家之地,以Flash Player為核心。在桌面上,F(xiàn)lash的解決方案是AIR(你可以把它看作WPF的類似物),在移動平臺上,F(xiàn)lash的解決方案也是AIR,在Android上,AIR是以虛擬機機制運行的,在ios上,是直接編譯成二進制執(zhí)行的。

也就是說,目前的Flash已經(jīng)從以前的Web平臺擴充到三個平臺:

◆ Web平臺

◆ Windows/Linux/Mac osx桌面平臺(這次AIR 3.0的發(fā)布,大幅度增強了桌面平臺的能力)

◆  移動平臺(Android,ios,黑莓)

Flash是目前唯一一個可以快速開發(fā),然后經(jīng)過簡單的修改(連UI都是公用的)就可以在上面幾個平臺上跑的技術。就我個人的體驗,actionscript 3.0的開發(fā)速度比java高得多,比C#要略低。

好吧,順便在這里說一句,為什么我說Silverlight和Flash看似一樣,卻是截然不同的。

雖然從技術上Flash能做到的,Silverlight是都可以做到,但是微軟是絕對不會放縱Silverlight跨這么多平臺的,因此在商業(yè)上是絕對做不到的。隨著AIR 2.7的出現(xiàn),以及微軟現(xiàn)在對win8、html5的態(tài)度,Silverlight已經(jīng)提前出局了。Silverlight將是windows上的開發(fā)利器,但,僅僅限于windows平臺。這種層面的戰(zhàn)爭是商業(yè)戰(zhàn)爭,而不是技術戰(zhàn)爭。Silverlight雖然是微軟自己搞得,但現(xiàn)在看起來是后媽養(yǎng)的。Flash雖然是買來的,但和Adobe的發(fā)展習習相關,就像親兒子一樣。

Adobe有一個開源項目叫Alchemy,可以用C/C++寫Flash程序,這一方面會繼續(xù)增強:

We released Alchemy on Labs over two years ago as an experimental prototype that allowed developers to leverage C/C++ code in Flash Player and AIR. We have not updated the original Alchemy prototype, and while we noted from the beginning that it should not be relied upon for production content, we’ve received persistent requests from developers asking for official support in the Flash runtimes.

We’ve been listening and have decided to invest in creating an improved version of Alchemy, which we plan to release as part of a paid production offering for commercial development. We intend to make non-commercial use free of charge.

The production release will offer significantly better performance and productivity over the Labs prototype. By re-architecting major portions of the technology, we aim to enable code execution approaching native performance, scalable support for large code bases, full debugging support, up to 75% reduction in code size, and seamless integration with ActionScript – all while reaching virtually every connected computer on the web.

出處:http://blogs.adobe.com/flashplayer/2011/09/updates-from-the-lab.html

如果這一個目標實現(xiàn)了,直接在Flash平臺上寫高性能程序不是奢望。

(2)Flash平臺的兩次涅磐與重生

Flash平臺經(jīng)過了兩次涅磐與重生。

第一次是2006年 Flash Player 9的發(fā)布。從Flash Player 8到 Flash Player 9的進步是質(zhì)的飛躍,在虛擬機層面由 avm1 變?yōu)?avm2,性能的大幅度提高及由 actionscript 2 演化到 actionscript 3,使得Flash 平臺具有了挑戰(zhàn)其它平臺的可能性。

第二次就是這次Flash Player 11 及 AIR 3的發(fā)布。Flash Player 11 有一個重大的特性就是硬件加速的 3D API。雖然Silverlight 5也提供了硬件加速3D API,但是Silverlight 蝸牛般的推進速度令人遺憾。

這里再強調(diào)一下,這種戰(zhàn)爭是商業(yè)戰(zhàn)爭。Silverlight為什么安裝率不高?我認為有兩大原因:

(a)強行推行Silverlight 存在一定的法律風險,這個不是主要原因;

(b)就算Silverlight占有率是99.5%,微軟也得不到什么好處,反而需要花費巨大的推廣費用,這個應該是最主要的原因。除非微軟能夠把每臺機器上的Flash 給卸載掉,那個時候才能從Silverlight獲得巨大利益。能做到這一點的,只有我們天朝的周大先生,微軟沒有這樣的人物,a8m也不會讓他這樣干。

再看看Flash Player的成績。Flash Player 10是2008年發(fā)布的,現(xiàn)在的占有率是99+%。我在前幾個項目時還要考慮Flash Player 9,現(xiàn)在根本不用考慮了。而如果Flash Player 11能延續(xù)這個速度,2-3年之后,幾乎每一個機器的瀏覽器上就有了硬件加速3D API,這比普及瀏覽器還快得多。3D Web應用,3D 網(wǎng)頁游戲的首選技術呼之欲出了。

AIR 3的意義比Flash Player 11的意義更大。

AIR 3可以調(diào)用native api了(之前,只能和可執(zhí)行文件通訊),這樣一來,在桌面開發(fā)就可以將界面和邏輯部分用AIR開發(fā),而性能攸關部分用c/c++開發(fā)。

AIR3 支持桌面和移動平臺。印象中,從AIR 2.6已經(jīng)支持移動平臺了,但是那個版本的性能表現(xiàn)很差勁。AIR 2.7表現(xiàn)還可以,這個是今年6月發(fā)布的,沒幾個月,目前用AIR開發(fā)的移動應用已經(jīng)10000+了。并且,市面上已經(jīng)有眾多的Flash游戲,這些游戲可以以很小的成本遷移到移動平臺上去。而游戲,是移動平臺上最主流的應用。

OO、快速開發(fā)、IDE、跨平臺、3D、native invoke,這些加起來,意味著什么呢?雖然移動平臺讓Flash Player 插件遭到了滑鐵盧,但是也給了Adobe一個崛起的契機,AIR3 就是吹響的號角。

(3)Flash平臺的商業(yè)策略及這種策略的優(yōu)勢和劣勢

總體來說,F(xiàn)lash的平臺策略是小運行時+類庫擴展和源生擴展。這個運行時的核心是UI。UI是開發(fā)中工作量非常大的部分,能夠簡化這一部分的開發(fā)是Flash的核心優(yōu)勢,而因為是小運行時,跨平臺的工作量不大。因此Flash可以輕輕松松隨隨便便的跨平臺,而.Net,Java這種重量級的選手跨平臺的代價就大多了。Silverlight也可以做這一點,但不會傻到真去做。

Flash平臺的三個核心優(yōu)勢:

(a)廣泛的安裝基礎(這個拜網(wǎng)絡動畫、視頻而賜)

(b)統(tǒng)一的UI模型(兩個層面:基于Sprite層面的和基于mxml/data bindding/style層面的)

(c)跨平臺(主流平臺都跨了——各大桌面操作系統(tǒng)、各大web瀏覽器(桌面)、各大移動應用平臺)

Flash平臺的劣勢也是在于小運行時,運行時不完美,缺乏一些能力,對于大型應用不適合,只適用于中小型應用,而這類應用,恰恰是移動應用和Web應用的主流。

Flash、Silverlight和html5的比較分析

上面說了,F(xiàn)lash有三個核心優(yōu)勢:安裝基礎、統(tǒng)一的UI模型和跨平臺。

對于Silverlight來說,.Net在技術上比Flash更為成熟,不過缺陷在于安裝基礎和跨平臺,這導致了Silverlight只能是Windows平臺上的移動應用和Web應用的可選方案。

對于html5,需要詳細的分析:

(1)安裝基礎:html5在移動平臺上的安裝基礎比較高,但是在桌面上的安裝基礎還很弱;

(2)UI模型:html + css + js 比較成熟,雖然瀏覽器兼容問題也客觀存在,但注意一下還是可以解決,js的話是個短板,它和C#,Java這種現(xiàn)代語言來說,生產(chǎn)力差距是明顯的,但如果要寫大型應用的話,可以用haXe這種萬能語言來補充;

(3)跨平臺:目前主要是跨移動平臺,桌面平臺的話,ie7,8的消滅還需要時日,對于中國來說,還得先干掉ie6。

html5最重要的優(yōu)勢是它不是私有技術,受各大廠商歡迎。它的最重要的缺點有兩個:

(1)性能:這個性能有兩個限制,第一個是由于是公開的技術,各種實現(xiàn)上的性能不一樣,js在不同平臺上性能差距10倍100倍是常事。移動平臺不支持Flash是因為Flash應用在移動瀏覽器上幾乎跑不動。這并不表示Flash平臺比html5 平臺性能低下,反而目前,根據(jù)我的項目經(jīng)驗,flash平臺的性能要遠遠高出html5平臺的性能,且是數(shù)量級的差異。同等的Flash 2D應用,如果用html5實現(xiàn)的話,在移動平臺上的性能簡直不忍目睹,即使是在桌面平臺上,IE9的Canvas有硬件加速,跑起來也還是顯得慢。當然,這些會隨著時間發(fā)展慢慢完善,但是,想想多瀏覽器,等每個廠商都完善是個漫長的過程。而對于私有技術來說,AIR 2.6在移動平臺上慢得像蝸牛,僅僅翻了個年,AIR 2.7在移動平臺上的性能就有了數(shù)量級的提升,這是私有技術的好處。第二個限制是js,js不是強類型的,這不利于大規(guī)模開發(fā)和高性能開發(fā),會成為瓶頸。對于前者,由于js非常靈活,我們可以通過haXe這類語言引入強類型,但高性能,卻是實打實的問題。

(2)解決方案:出于發(fā)展初期,各種解決方案欠缺。

因此,未來的RIA可能三分天下:

◆ 50K以下的和50K以上的用戶眾多的非計算密集性應用,html + js統(tǒng)治

◆ 50K-2M之間(Windows平臺)、50K+(其它平臺)Flash統(tǒng)治,并會在桌面和移動應用上有一塊不小的領地

◆ 2M之上的(Windows平臺),Silverlight統(tǒng)治

IT界,新的競爭者總是出現(xiàn)在意想不到的地方升起。

原文:http://www.cnblogs.com/xiaotie/archive/2011/10/05/2199234.html

【編輯推薦】

  1. Adobe Flash 11高調(diào)挑戰(zhàn)HTML 5
  2. 17個基于HTML 5和CSS3開發(fā)的優(yōu)秀應用程序
  3. HTML 5:最后的火種?
  4. 淺析HTML 5在移動應用開發(fā)中的使用
  5. 學習HTML 5的10個頂級資源
責任編輯:陳貽新 來源: xiaotie的博客
相關推薦

2011-07-01 10:29:15

2015-07-29 16:42:17

2009-12-31 17:35:45

2010年服務器市場

2015-04-14 11:08:47

寬帶

2010-07-27 10:54:22

Flex

2010-08-12 12:55:02

FlexFlash

2011-11-15 09:38:01

黑莓移動開發(fā)開發(fā)者

2009-10-12 16:20:15

2012-05-08 16:34:10

小米

2011-06-13 09:04:39

QT Flash 交互

2010-08-06 09:24:44

FlexFlash

2009-08-06 09:37:09

Silverlight

2013-01-31 17:23:20

RIM黑莓BB10

2009-03-19 09:01:53

Silverlight微軟Flash

2013-07-09 22:22:25

分布式電子商務

2012-09-10 09:47:42

云計算云應用云應用架構

2020-12-15 10:40:14

CentOSRockyLinux

2018-04-02 11:38:46

秦五一

2010-03-17 09:22:06

FlashSilverlight

2016-03-30 11:54:20

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品亚洲一区二区 | 日本a网站| 中文字幕 国产 | 成人自拍视频网站 | 久久午夜视频 | 一级做a爰片久久毛片免费看 | 激情婷婷成人 | 日韩中文字幕视频在线观看 | 久久高清 | 在线免费观看黄色 | 日韩欧美理论片 | 久久99精品久久久久久狂牛 | 视频在线日韩 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 成人午夜激情 | 久久精品男人的天堂 | 国产福利在线 | 久久综合狠狠综合久久综合88 | 国产精品久久久久久久久久免费看 | 国产精品久久久亚洲 | 中文字幕一区二区三区在线观看 | 亚洲精品欧美精品 | 涩涩操| 国产精华一区 | 国产精品免费一区二区三区四区 | 91精品国产综合久久久久 | 视频二区在线观看 | 午夜精品一区二区三区在线观看 | 美日韩视频 | 99精品欧美一区二区三区 | 国产精品久久久久久久久污网站 | 欧美日韩精品久久久免费观看 | 免费一区二区三区在线视频 | 精品久久久久久久久久久久久久 | 久草中文在线观看 | 久久亚洲国产精品 | 一区二区三区av | 毛片99| 成人av播放| 国产一区二区三区免费观看在线 | 日韩欧美中文字幕在线观看 |