http://blog.csdn.net/david_lv/archive/2008/03/05/2

首先申明:我不是adobe僱傭的槍手,我也從不認識adobe的人。我只是一名被C/S和B/S長期困擾希望尋找一套解決方案的人。

昨天去參加了adobe AIR 發佈會

adobe是業界著名的客戶端展現工具和展現設計工具 提供商。

展現工具:PDF、FLASH。展現設計工具:photoshop、Dreamwaver、FLASH。

很多人都疑問AIR有什麼用。昨天在會場也有同學提出了這個問題。既然有了AJAX 純的JS的客戶端表現組件包,如最近剛獲得金牛獎的ZK組件包,那爲何要有AIR?

我給大家解釋解釋。大家都能看到現在的趨勢:互聯網軟件在向客戶端融合,客戶端在向互聯網融合。

互聯網企業發源於WEB世界,那麼它要延伸互聯網,必須要基於現在自己的優勢和根。JS技術,這種根植於網絡世界的技術就是最理想的選擇。使用慣了WEB應用軟件的用戶,對於本地安裝一個軟件,本地軟件那樣的操作習慣就感到很奇怪。

而對於習慣了使用本地軟件的用戶,現在開始有了互聯網跨出局域網的業務需求了,怎麼辦?一種辦法當然是給他們另外開發一套B/S企業管理軟件,但他們怎麼使用都不順手。

於是AIR產生。讓他們能滿足互聯網處理,又能像本地軟件一樣操作。

又有客官問了,聽過微軟也推出了一種客戶端跨互聯網處理的技術,叫WPF和WCF。微軟是客戶端的霸主,而且微軟的開發工具也是一流的,adobe既不熟悉開發工具這行當,也沒有客戶端優勢,微軟在OS層面做點手腳,就像當年給netscape下點藥做點限制一樣,AIR就沒前途了。

但是,但是。這個世界總有但是。

要知道,做企業管理軟件應用,很重要的就是數據安全。要把自己的數據和業務處理放到公網上,就有擔憂。但是企業發展必須跨互聯網,有需求啊。那怎麼辦?用微軟的?太不安全了。於是挑選了JAVA。但JAVA一直雄霸於服務器端,客戶端JAVA也沒有經驗啊。從早期的Applet,到Swing,都以失敗告終。不能讓JAVA的服務器端配合WPF的客戶端吧?於是AIR出場了。

adobe也很聰明,知道微軟這個長年想擴展到互聯網卻屢屢受挫的困獸,必然拼了老命也要推自己的WPF和WCF技術,這是微軟未來的命啊。想在這個霸主的肩膀上吃肉,是比登天難。於是祭出微軟最害怕的一招:開源、免費、基於開放技術標準、跨平臺。

adobe不擅長開發工具的開發,那就不開發。況且這個世界上除了微軟世界的visual studio工具外,微軟的對立陣營就有最開放的eclipse。eclipse已經不僅僅是一個JAVA的開發IDE,現在Ruby、PHP、C++、Python都在它上面有插件。於是adobe也把自己插在上面。跟着程序員大潮走,讓程序員使用自己最熟悉的IDE開發AIR。

adobe一直擅長客戶端表現,所以adobe也沒有必要提供一個從服務器到客戶端一整套技術方案。說白了,AIR就是一個和AJAX組件包一個層次的解決方案。主要用於客戶端表現。這點非常重要。許多同學沒有看清這一點,和DELPHI比,和JAVA比,和.net比。其實AIR就專注客戶端表現。你的業務層完全可以用PHP、JAVA、C#來寫。再說了,AIR技術,內在其實就是HTML+JAVAScript,只不過改進了一些,換了個名字,叫MXML和ActionScript。微軟的WPF技術,也是這兩個技術組成。大家都是一路子。

PDF抓住了PC時代,FLASH抓住了瀏覽器時代,AIR是要抓住瀏覽器和PC融合的時代。這也是adobe的命根,所以兩家公司都拼了命。微軟有其強大的現實客戶和研究開發中心和營銷手段,adobe則採用了最開放最聯盟來對抗,讓微軟一家公司之力來對抗全球開放的程序員。

WPF僅限於微軟平臺,雖然sliverlight號稱以後也要垮MAC和LINUX平臺。但我說的比較是AIR和WPF,而非FLEX和Sliverlight這兩種技術。

我對FLEX和Sliverlight這兩種技術一直心存懷疑。他們到底是給什麼用戶用的呢?習慣於瀏覽器的用戶?人家有AJAX組件包啊,優秀開源的N多,商業的也N多。習慣於本地運行軟件的用戶?人家有AIR和WPF這兩種技術啊。

FLEX和Sliverlight這兩種技術產生,我來解釋一下我自己的觀點。

adobe的AIR還沒有煉成。FLASH是adobe現在的優勢。要想走到目的地,FLASH必須是自己的跳板,於是FLEX必須作爲過渡。

而微軟呢?VISTA本來就是微軟最寄予希望的操作系統,原生的.net framework 3.0,而且全部用.net重寫,一流的面向service的操作系統,圓了當年微軟COM之夢。而且.net framework 3.0最主要的技術WPF、WCF,還有一個夫死胎中的WF,其實都是很有未來前瞻的技術,但由於技術難度太大,當然也由於太多人看透了微軟在互聯網戰略的陌生和遲疑和舊有EXE技術思想,所以都跑到了純正的互聯網公司,給VISTA形成了難產。微軟希望能無縫且毫無體驗差異的整合互聯網和本地。但是這個過程太漫長了。眼看着adobe利用FLASH做跳板,以佔領自己未來想佔領的位置,自己能不能到達目的地還不好說,於是在急匆匆中推出了sliverlight。其實微軟本來沒有sliverlight研究計劃,希望藉助VISTA一舉掀開未來大幕,但VISTA不爭氣,沒掀好,於是必須應急。

所以,奉勸開發慣了網站的程序員,繼續拿起你們的AJAX,因爲你們不理解人們爲什麼要用AIR。

對於開發慣了EXE的程序員,繼續使用AIR或WPF來開發你們的下一代產品,別想着用FLEX。習慣用微軟技術的就用WPF,習慣用非微軟技術的,就選擇AIR。就這麼簡單。

我給大家列了一個對比列表,大家可以理解這個新技術和過去技術的相似和關聯。

AIR runtime=.net framework=JVM

AIR=WPF=JAVA Application

FLEX=Sliverlight=JAVA Applet

至於Google Gears,是互聯網向桌面融合的產物,而我們今天討論的是桌面向互聯網融合。雖然Google Gears、JAVA JSF、Adobe AIR/FLEX、微軟WPF/Sliverlight都是RIA的解決方案。但都是各自從各自的優勢出發發展的技術方案

最後結尾總結關鍵幾句:

1 AIR是給習慣開發EXE程序員準備的非微軟技術的互聯網解決方案。習慣微軟技術的請離開,習慣網站的請離開

2 AIR工作在表現層。AIR只是一個客戶端表現,和AJAX是一樣的。都是HTML+JAVASCIRPT。不要奢望它能做各種業務處理和運算。你的業務可以包裝成webservice,也可以是PHP或JSP或asp.net頁面,調用方式可以是webservice,可以是httpservice,可以是remoting。這樣你的業務層就可以和表現層AIR交流數據了

3 AIR IDE只是HTML+AVACRIPT設計和調試工具,所以你也別奢望AIR IDE能象JAVA和C#的IDE環境那樣強大。你過去怎麼設計和調試HTML+JAVASCRIPT,那麼你現在仍然保持那種心態。

 4 AIR不是FLASH。他們是兩種不同的應用目的和技術發展方向。不要用FLASH開發企業管理軟件,也不要用AIR開發多媒體。雖然能,但不擅長(就如你拿C來開發WEB)。AIR不需要運行在瀏覽器中,不需要使用FLASH容器。AIR有自己的容器和運行環境。AIR和你的EXE是一樣的安裝和執行。

5AIR和WPF都處於不成熟期,可以作項目,但不要把寶押在他們上面做下一代產品線(預計下下版應該可以進行企業下一代產品線開發,一般都是軟件3個版本後才強壯穩定起來,按照競爭的激烈程度,這個第三個正式版本時間會在明年的上半年)。不過你也不要等待他們成熟後再做再研究,這樣的等待就如同2001年等待JAVA成熟一樣。現在JAVA是成熟了,但是你還有機會麼?

6不要懷疑AIR和WPF是不是未來。業界早有共識,這就是未來。不要在GOOGLE WEBOS和客戶端OS之間選擇來選擇去,如果你是網站開發人員,安心研究你的GOOGLE RIA技術。不要懷疑是跟微軟還是跟adobe。如果你一直在微軟的技術圈子中行走,那麼你安心用你的WPF好了,都是未來。

7有許多人問起來了SEO在AIR和FLEX上的缺陷。說slivelight支持SEO和搜索友好。我想說的一句是:開發企業管理軟件,怕的就是搜索,怕的就是企業數據被搜索引擎搜索到。不能搜索到纔好呢

8AIR爲過去的EXE程序員提供了自動版本檢測和自動升級的API,這是讓C/S程序員非常興奮的一件事。回想當年,客戶端版本不一致,出了不少怪異的事情。AIR也提供了離線後暫時保存數據到本地內嵌在AIR runtime中的sqlite(操作和平常SQL一樣),繼續操作軟件,連線後同步數據。OK

9 你如果沒有開發過MVC架構,沒有用過COM多層開發,那麼你不會明白業務層和表現層的分工和通訊的。你會一直想弄清楚怎麼在AIR中寫SQL語句或JAVA語句。你也一直會想在servlet中寫JAVASCRIPT和HTML代碼。你還處在漿糊代碼階段,建議給自己的代碼技術升升級。

想問我爲什麼關注AIR嗎?

因爲我一直戰鬥在行業管理軟件的開發上。我對於開發一套C/S,一套B/S,這樣極耗費開發成本開發時間和維護成本的開發方式煩透了,要讓兩者操作習慣和功能都保持一致,難。如果有了BUG,兩個產品是兩個開發團隊,BUG都出在不同的地方,分別修改。讓一個公司維護兩套人馬兩個產品,在中國大部分都是小軟件作坊的現狀下,哪個都做不好。不如做一個既是C/S又是B/S的軟件。

那是多麼美好的事情啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章