在觀察了一些Web App後(其實應該要稱成為 RIA .. Rich Internet Application)發現很多的RIA是使用Flash來做,以目前的技術來說要開發RIA還有兩個選擇; Silverlight 和 HTML5。
Adobe在CS5的package裡製作Flash有三個軟體可以選擇,Flash Builder, Flash Catalyst 與 Flash Professional。 其中Flash Builder的主要用途就是要讓使用者來開發RIA,Adobe推出這個開發工具可以讓開發者使用Actionscript呼叫Flash API並且撰寫程式在Flex framework來跑,做出來的App可以選擇在Browser來執行(Flash Player) 或是在Local端執行(Air runtime)。
這樣的作法把原本focus在多媒體製作的Adobe變成程式開發供應商了,使用者可以使用它來開發不只是RIA連Desktop 軟體也可以開發了。 最實際的例子就是Salesforce.com旗下的Force.com (提供 PaaS)與Adobe合作一起提供Adobe Flash Builder for Force.com 的Plugin,開發者可以在開啟Flash Builder的專案時可以直接選擇Force.com的template來進行開發。 我相信Microsoft 跟 Apple不會很樂意看到Adobe這樣的擴展下去。
而微軟的Silverlight在VS2008就開始support,現在連在Windows Phone 7 都只能使用Silverlight來當開發平台,所使用的開發語言為C# 與VB.net。 目前Silverlight 支援的平台除了自家的Windows OS, Windows Phone 7外,它也支援MAC OS 與Linux (使用Moonlight open source),今年7月也宣布支援 Symbian OS 來攻佔其他的Mobile devices,但是目前就是還沒支援iPhone, iPad 與Android。
就Google一貫的擁抱open source的信念而言,我想信他們的Android未來一定會支援Silverlight,在今年的Google IO 會他們也邀請Adobe CEO一起出席會議,除了Android OS 支援Flash之外,目前他的Chromium OS也一樣支援。 至於HTML 5目前Google的Chrom 也同樣支援,所以我看Google未來對Silverlight應該也會支援的。
至於Apple對Adobe的態度從Steve Jobs今年針對iPhone與iPad為何不支援Flash的說法也應該看的出端倪,Apple應該是會全力來支援HTML5的規格吧。
對開發者現在比較頭痛的問題是要開發RIA到底要使用Flash, Silverlight或是HTML5呢? 以suport platform的廣度來看,HTML 5應該會是未來的主流,但是在他成為主流之前Flash以及Silverlight也還有時間來迎頭趕上。 因為 HTML 5是一個規格制定,它的優點就是所有的平台以後必須支援它,而他的缺點就推動他不是一個單一的企業體,因為個別的企業體為了自己的利益一定會將自己的利益先考慮進去。 反觀Silverlight與Flash,Microsoft 與Adobe一定會盡全力的來推自己的技術規格當做第一考量。 不過Microsoft 的IE 9在support HTML 5的規格算做的不錯的,我就不曉得之後的策略為何?
通常出現了規格大戰就表示這個市場正火熱,可是這可就苦了RIA的開發者了,要開發RIA除了要加上detect 不同的browser (IE, Chrom, Firefox, Safari, Opera)的java script 來做個別版本的處理,現在還要考慮HTML5, Silverlight跟Flash的support。看來RIA的開發與測試廣度遠比desktop軟體來的困難的多。
CodeProject轉寄了一封電子信我,裡面有提到一篇部落格的文章 "HTML5, Flash and Silverlight. Which one is dead?",他是從技術與使用上的角度來分析,裡面有一點我倒是從來沒注意的問題,Flash的內容沒辦法被Google與其他的search engine來做index,也就是說使用search engine沒辦法找到用Flash來製作的內容,這點我倒從來沒注意到,不過這樣所牽扯的就不只是技術問題了,現在在網路上最害怕的就是使用者找不你的site,另外一點就無法被index也代表做網路廣告困難就多一點了。
還在持續觀察這個問題中....
沒有留言:
張貼留言