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