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