日前,著名社交網(wǎng)站Facebook在其開發(fā)者網(wǎng)站上宣布不再為其官方Java客戶端庫(kù)提供支持,并稱此舉是為了改進(jìn)整個(gè)Facebook平臺(tái)的體驗(yàn)。新聞中稱:
……我們決定不再為我們的官方Java客戶端庫(kù)提供支持,而是依賴現(xiàn)有社區(qū)驅(qū)動(dòng)的庫(kù)來(lái)填補(bǔ)這個(gè)空缺。盡管我們理解這可能會(huì)影響某些開發(fā)人員,但是我們覺得將工作重點(diǎn)放在我之前提到的創(chuàng)新列表上更重要,而不是在開發(fā)者社區(qū)已經(jīng)構(gòu)建了幾個(gè)非官方版本的情況下再去維護(hù)一個(gè)多余的客戶端庫(kù)。
本周四的發(fā)布之后,任何一個(gè)開發(fā)者頁(yè)面不再提供官方Java客戶端庫(kù)的下載。……
對(duì)于Java開發(fā)人員,F(xiàn)acebook建議使用開源替代品,并給出它們的鏈接。
Facebook的此舉無(wú)疑傷了Java開發(fā)人員的心。不少開發(fā)人員認(rèn)為這是一種短視的行為,對(duì)整個(gè)生態(tài)系統(tǒng)會(huì)產(chǎn)生負(fù)面影響。有趣的是,由于微軟對(duì)Facebook進(jìn)行了投資,還有開發(fā)者半開玩笑地認(rèn)為這是另一個(gè)“微軟陰謀”。
著名Java站點(diǎn)JavaLobby發(fā)布了題目為“Facebook放棄Java支持--夢(mèng)幻估價(jià)再失10億美元(Facebook Drops Java Support - Loses Another $1B of Fantasy Valuation)”的文章。文章認(rèn)為:
……這似乎與所說(shuō)的‘Facebook平臺(tái)正以異常快地速度發(fā)展’相矛盾。我個(gè)人認(rèn)為,真正推動(dòng)Facebook發(fā)展的是開發(fā)和維護(hù)更多的官方API,以允許開發(fā)人員使用他們選擇的語(yǔ)言開發(fā)新的應(yīng)用程序……
對(duì)于Facebook所說(shuō)的API維護(hù)負(fù)擔(dān),Jim Bethancourt評(píng)論說(shuō):
我真的希望看到Facebook采用Google的OpenSocial平臺(tái)。這會(huì)幫助Facebook擺脫一些維護(hù)的負(fù)擔(dān),同時(shí)無(wú)需自己維護(hù)API就可把他們自己開放給大量的開發(fā)人員。我不是一個(gè)Facebook或Google OpenSocial開發(fā)人員,但是我確實(shí)知道維護(hù)API不容易——那么為什么不在有免費(fèi)午餐時(shí)利用一下呢?
也有的Java開發(fā)者認(rèn)為不必大驚小怪,因?yàn)镕acebook的官方Java API實(shí)在不怎么樣。Daniel Kaplan評(píng)論說(shuō):
事實(shí)上,現(xiàn)在第三方Java Facebook API比官方的要好用已經(jīng)有一段時(shí)間了。那么,至少現(xiàn)在它還能保持。如果你看看官方API,你就能分辯出它的開發(fā)者并不是真的懂Java。他們把私有內(nèi)部類作為公共方法的參數(shù)。這意味著你不能調(diào)用這些方法,因?yàn)槟銦o(wú)法創(chuàng)建這些內(nèi)部類。
此外,還有人認(rèn)為Web客戶端的未來(lái)屬于Javascript,Java社區(qū)應(yīng)該擁抱一個(gè)Ajax前端。
或許,正是官方API的風(fēng)評(píng)不佳導(dǎo)致了Facebook決定不再為維護(hù)投入資源。但是,一個(gè)更能籠絡(luò)人心,或者說(shuō)是更成熟的做法,應(yīng)該是和開源社區(qū)進(jìn)行合作提供令開發(fā)人員感到滿意的API,進(jìn)而由臺(tái)前轉(zhuǎn)到幕后,而不是象這樣突然死亡。
經(jīng)歷過(guò)“Spring運(yùn)動(dòng)”的Java開發(fā)者也不必對(duì)缺乏官方支持感到耿耿于懷,因?yàn)樵谶@個(gè)開源時(shí)代,從來(lái)不缺乏比所謂官方支持更好的選擇。