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