透析Google Wave擴展開發(fā)
不久前舉行的Google在開發(fā)者大會上,Google展示了其新一代溝通和協(xié)作平臺Google Wave。無可否認GoogleWave已激發(fā)了無數(shù)網(wǎng)絡工程師、社交媒體狂愛好者和無處不在的網(wǎng)絡用戶們的想象力。混合了電子郵件、即時聊天、維基百科、網(wǎng)絡社交等功能的GoogleWave已經(jīng)產(chǎn)生了一種難以置信的反響力。(關于Google Wave的詳細情況可以參考51CTO.com之前的報道:逐步揭開Google Wave的神秘面紗和探秘Google Wave技術架構)
目前人們的焦點集中在GoogleWave的特點上,這個新平臺還沒有得到應有的重視。GoogleWave的擴展允許任何開發(fā)者在這個新興工具上添加他們自己的小工具或機器人程序。但擴展到底指的是什么?為什么人們要這么做?怎樣進行操作呢?
感謝開發(fā)者山姆·加蒙(SamGammon)和尼克·休姆(NickHume)幫助人們了解了大部分問題的答案。下面來了解一下“GoogleWave”擴展的從開始到結束的創(chuàng)建過程,以及“GoogleWave擴展的定義,重要性的原因,怎樣建立,不遠的未來你能期待見到的”等諸多問題。
“Google Wave”擴展到底是什么?
正如火狐插件是對火狐瀏覽器在某些方面的改進和提高一樣,“GoogleWave”擴展在平臺中添加了新的功能,簡單的說,就是第三方應用程序。一旦“GoogleWave”正式發(fā)布,任何人都能建立自己的擴展。
另外還有一些重要的差別。第一,“GoogleWave”擴展有兩個類型:小工具和機器人。小工具是在GoogleWave內(nèi)部運行的程序,很像Facebook或iGoogle的相關程序。它們都是在有裝飾的交談中獨立運行的程序。機器人是“GoogleWave”的自動參與者,就像人一樣活動,能夠在GoogleWave內(nèi)說話、和任何人進行交流。另外,它們能執(zhí)行任務,比如從外部資源中搜索信息,對程序中的關鍵字和操作做出反應。
兩者都提供了一系列的可能性,只有當開發(fā)者能夠適應這個平臺并設計出新的擴展程序,同時谷歌能為程序員們發(fā)布出新的應用程序接口時,GoogleWave才會成長。
為什么拓展如此重要?
新的系統(tǒng)不僅為開發(fā)者開啟了一個更大、更新、具有無限潛力的平臺,也是谷歌展示其特色的一種方式:他們沒有時間來建構自己,那就讓公眾以更快地速度接納。下面列舉了幾條雙方都能得到的好處:
對于谷歌而言,“GoogleWave”的策略似乎是使主流以更快速度,更廣范圍地被接納。這是平臺開放源代碼、可無限延展的原因,也將讓GoogleWave更快地適應人們的需要。人們更是可以將GoogleWave程序裝在自己的服務器上,在防火墻內(nèi)運行。Twitter能實現(xiàn)巨大發(fā)展的部分原因,是第三方應用程序引起了反響并吸引了大眾的注意力。如果預測準確的話,擴展也能為谷歌帶來同樣的效應。
對于開發(fā)者而言,擴展在GoogleWave中內(nèi)容豐富,功能強大。它能夠成為你的Twitter,你的Facebook,你的電子游戲,所有功能集于一身。不難想象,企業(yè)家們將為人們制造出可付費的小工具和機器人,并期望以此打敗Twitter??梢灶A見,將來這個新的應用程序一定會迅速發(fā)展。
建立擴展的概況
開發(fā)者山姆·加蒙和尼克·休姆已經(jīng)做好了兩個擴展程序:Growlie和Campy。Growlie程序經(jīng)由Growl(一種蘋果操作系統(tǒng)Mac OSX的全球通知系統(tǒng))告知了大家GoogleWave的新動作;Campy程序利用基地營(Basecamp)項目管理軟件使你的GoogleWave與信息線路保持同步。開發(fā)者山姆準確地解釋了你應該怎樣建立自己的“谷GoogleWave”擴展。
在例子中,我們以Growlie程序為例來展示創(chuàng)建“GoogleWave”擴展的一些必要步驟。要注意,這個解釋幾乎沒有技術成分,但是對于非開發(fā)者來說還是有點復雜。如果你對此不感興趣,可以直接跳到下一內(nèi)容——GoogleWave程序的未來。
1.提供一個谷歌應用引擎應用程序(GoogleAppEngine):谷歌應用引擎(GoogleAppEngine)是谷歌發(fā)展和管理網(wǎng)絡程序的平臺。作為合法權利,所有的擴展程序都必須由應用引擎進行管理。首先,你必須在谷歌系統(tǒng)中創(chuàng)立一個應用程序。在此處選擇你要創(chuàng)建的應用程序的語言:Python語言或者Java語言。
2.下載Google Wave應用程序編程接口軟件包(WaveAPIPackage)。應用程序編程接口(API)允許第三方開發(fā)者從平臺中獲取信息、協(xié)議等更多權限。在這一步要下載允許創(chuàng)建“GoogleWave”擴展的軟件包。
3.建立配置文件:所有應用引擎應用程序都有一個配置文件來幫助你明確具體程序的注冊應用ID,等等。比如Python的配置文件是app.yaml;Java的配置文件是appengine-web.xml。這是技術問題,有興趣可查閱appengine-web.xml和app.yaml.
4.進入應用程序編程接口庫(Wave APILibrary):下載了GoogleWave應用程序編程接口軟件包,就能夠進入Google Wave的程序庫。
5.以機器人程序為例,注冊處理器:簡單的說,你需要激活你的“GoogleWave”擴展,確認其能夠正確處理來自谷歌的操作。在此過程中WAVELET_SELF_ADDED”和“BLIP_SUBMITTED”是Growlie的處理器。
6.設定功能:這是使機器人按照你的要求進行工作的步驟。以Growlie程序為例,開發(fā)者山姆設定了標志更新郵件的功能,在系統(tǒng)中給Growl發(fā)送消息告知。
盡管GoogleWave的小工具程序有一些不同之處,但步驟大致相同。最重要的是“GoogleWave”擴展必須在谷歌應用引擎(GoogleAppEngine)上運行,必須應用Wave應用程序編程接口軟件包(WaveAPIPackage)。
下一步是什么?
谷歌想要使GoogleWave成為無處不在的網(wǎng)絡用戶們的主要交流平臺,因此他們的目標就是被接納。理想地說,Wave能夠結束類似電子郵件一類的程序而被廣泛應用——要實現(xiàn)它是件困難的事——擴展程序就是這次計劃的核心。
希望谷歌能夠為開發(fā)者提供更多激勵措施來建立這個平臺,希望更多程序員都來參與。因為GoogleWave的開放源代碼能夠向任何方向發(fā)展。一年后,我們能夠看到Wave的項目管理版本。桌面應用程序、GoogleWave電子游戲、蘋果應用程序都是我們未來的目標。
我們還無法想象GoogleWave所能夠?qū)崿F(xiàn)的未來,因為GoogleWave和我們見過的其他交流平臺都如此不同。未來的幾個月,擴展可能會有戲劇般的變化。無疑,我們將會見證無法想象的創(chuàng)新之舉。
【編輯推薦】