AIR + Facebook = AirWaves (超涼薄荷無糖口香糖?)

In General, flex   June 22, 2007 - 11:25 am

民用版
玩家自建版本

Airwaves 有趣的地方在於他採用的技術,前端介面是用 AIR,因此從一開始就支援跨平台。

*Airwaves 使用 AIR, RED5, FMS, XMPP

在後端部份,他採用的是 FMS 與 Red5。

其實要做 IM 這種應用,大概能走的方向就幾個,先決條件就是有否支援 audio/video,如果是純文字的交談,那隨便一個 socket server 或像 FDS 這種昂貴的產品都可以勝任。

以 airwaves 開出來的規格來看,因為它要同時提供 text/audio/video 交談(這年頭誰不想?可以飛時幹麻在地上爬?),所以選擇立刻就少了許多,而 FMS, RED5 則是其中比較受歡迎的選擇。

有趣的是在 mike 的blog中他中說明了一些挑選的過程,我想這也是大部份有類似需求的人在評估技術時會遇到的問題,值得一看。

其中他提到 FMS 與 RED5 的主要差異性為:

*FMS – 優點
-採用熟悉的 AS 語法,上手較快
-容易安裝與使用
-Adobe 大廠品質保証(這點我持保留態度,因為過去也被 FCS 整過很多次,但感覺上,目前 FMS 的 A/V 品質確實是比 RED5 好)

*FMS – 缺點
-貴,貴,貴
-非 open source 因此將來惡搞的空間比較小

*Red5 – 優點
-免錢
-open source 可任意修改

*Red5 – 缺點
-要用 java 編程,不是每個人都熟(*1)
-社群太小,出問題時沒人求救
-設定太複雜(*2)

*1.其實 red5 也支援 javascript, ruby, groovy 等語言,但這方面的教學實在太少,而且 v0.6 後許多 api 又改掉了,到底還能不能支援也不知道,這方面 red5 到是繼承了大部份 open source project 都有的通病,文件資料與溝通皆不足,這點將來要是不改,另一牌 wowza server 大概就有機會起來。

*2. 作者的原文是這樣:
It’s not as automated as Flash Media Server… too much digging into XML config files.. which is a headache.
這真正是大部份 java 軟體的宿命,改不完的 config 到底是怎樣?

難怪有人說未來真正的潮流是等 JRuby 夠成熟穩定後,直接以它為基礎,接手 RED5 裏面的 AMF module, RTMP module 然後組裝出一個新的 Ruby On Media server才是王道啊~

至於通訊協定部份 mike 理所當然的採用了 XMPP (也就是所謂的 Jabber protocol ),這樣一來其實它也可以跟許多其它 im 相通,例如 gtalk 或 mac 上的 iChat.

*後話

雖然 airwaves 目前只是一個熱血玩家吃飽飯沒事自創的小玩具,但從這件事裏卻可以觀察到許多。

-AIR 做為一個跨平台的 runtime 有它許多先天與後天的好處,例如程式撰寫容易、style/skinnig 輕鬆、可輕易跨 browser 與 desktop 執行

-前陣子 Yahoo 也發表了使用 flex 製作的 Yahoo Messenger web 版,相信也是循者相同的脈絡而行

-就目前來看,AIR 與其它技術/週邊的相容性頗高,因此開發者有許多機會用它來做真正的商業應用,它不再只是一個櫥窗裏擺者好看的洋娃娃

這幾個星期因為種種原因,其實我們也在 survey 同樣的事情,只是因為客戶需求不同,我們還得同時研究 FDS 與其它 socket server 的可行方案,所以對這件事特別有感覺。

簡單來說,現階段每個方案都有不同的法,我個人最希望的則是 FMS 能完全免費,那就能一次解決所有問題(yeah right, 最後世界也會和平,路邊小貓小狗也都能各有所養快樂終老一生…)

by admin

4 Comments Add your own

  • 1. wangzy&hellip  |  June 22nd, 2007 at 2:15 pm

    兄弟Airwaves是facebook的client

  • 2. jeremy&hellip  |  June 22nd, 2007 at 2:37 pm

    哈哈,謝謝指正,一次看太多文章就全搞混了…

  • 3. fang&hellip  |  June 26th, 2007 at 1:03 am

    老兄好像对Java有种误解,其实Java比Ruby严谨,AS3几乎和Java一样了,为什么要等JRuby出来呢?真正的程序员做Red5编程会毫不犹豫选择Java.

    Red5的问题不是是否支持AS3和JRuby是否稳定,而是由于RTMP/AMF尚未公布,大多靠hack,因而不能100%兼容,而且Red5的视频播放和直播方面无论是稳定性还是性能上,仍然存在问题.

  • 4. jeremy&hellip  |  June 26th, 2007 at 7:12 am

    平台或技術的選擇,往往要考慮很多問題,不是只有單單程式語言一件事,這些我們在調查時都有想過了,文中最後提的 “每個方案都有不同的爛法” 針對 red5 講的就是它的 audio/video 品質不佳,con-current 連線數一多時也不穩定。

    至於希望 JRuby 整合 Red5 那又是另一種考量,很多細節很難在短短一篇文章中完整說明白。

    不過重點是,java有它好用的地方,實際上我們目前進行的專案中,大概2/3都是用 java,完全沒誤解它的意思啊…只是當考量到一個案子其它的需求時,選擇的條件就會有點不同。

留言回應

hidden

您的留言會先經過站長認証後才刊登在網站上。
your comments will be approved by Administrator before appearing on the page.

Trackback this post  |  Subscribe to the comments via RSS Feed

mobile phone