API專案中官方客戶端不再是可有可無的

寒凝雪發表於2017-07-03

在API專案中,有官方支援的客戶端才能給API社群傳達積極的資訊。

沒有官方支援客戶的API就像是沒有方向盤的汽車。可能是輛好車,但是卻哪兒也去不了。

當然可以做一個方向盤,但這會是一項耗時的工作而且還會有風險。整合“方向盤”這件事情製造商當然比你更在行了。

雖然承認這一點有點尷尬,但我也曾經是不願替自己的API專案開發官方客戶端的。我們會說:“我們不能所有事情都支援。手上積壓的無需學習一門全新語言的工作就已經夠多了。”雖然這樣的心態不算壞,但卻有點誤導人。

最重要的是,API不僅僅只是關乎程式碼了,還與社群有關。開發者之所以“團結在自己喜愛的API周圍”,是因為開發API的公司尊重他們的價值,並且跟社群一起讓API變得更好。

如果在Java API客戶端上認真嘗試,並且把它開源出來讓更聰明的人改進它的話,那就不會給其他Java開發者造成傷害。

沒有官方支援客戶端的API就像無源之水,會讓API變得很糟糕。預期你的消費者從零開始整合你的API,你所傳達出來的訊息是,你的API並不是組織優先要考慮的。官方開源的API客戶端表明你的API有更高水平的支援,同時也鼓勵你和消費者之間進行開放協作和討論。

PHP,COBOL,Ruby還是C#?

不幸的是,我們都知道光“有”官方API客戶端並沒有實質性的作用。有很多事情需要考慮和籌謀,最重要的是該支援多少種語言。

確切的回答要取決於API本身和組織的能力,但最常見的三種要支援的語言是Ruby、PHP和Node.js(儘管Go、Python和Java也非常流行)。

你還應該隨時掌握社群的動態。儘管第三方客戶端未必需要得到“官方支援”,但無疑可以得到你的組織打上“官方推薦”的標籤。這是跟社群互動的一種很好的方式,而且並不需要你承擔太多東西。

開源你的API客戶端

因為你要用若干不同語言開發多個開源專案,所以知道每一種語言開發和部署的最佳實踐至關重要。

比方說,雖然在開發和維護PHP庫方面你可能是位大師,但你可能還得重溫一下RubyGems或者Node Package Manager這樣的服務。開源API專案意味著遵循最佳實踐不是可有可無的,因為你是把自己面向社群大部分人開放,要接受他們挑剔的目光。很多情況下,這是很有價值的事情,但如果只是半成品就拿出來說Python庫做好了,這樣是蒙不了人的。

開源你的API客戶端是一件很值得讚歎的事,但你永遠都應該確保社群遵循一定的規則。GitHub對執行貢獻者指南上有出色的支援,還有一個出色的內建問題跟蹤器,但是你的成功之路是無法自動化的。

你的API專案至少應該有一個README檔案,裡面應該概括了有關的每一條重要資訊。考慮以下問題:

如何進行單元測試?

是不是在利用持續整合/持續交付工具,如果是,貢獻者如何才能利用這些工具?

專案的授權模式是什麼樣的?

這些都是很重要的事情,如果處理得好,就可以把一個開源專案引向成功。這一成就反過來也會導致你的官方API客戶端的成功。

最後,你的官方API客戶端的開發和管理應該是有趣的、能打造社群體驗的。儘管這類努力增加了你的團隊對API的投入,但你們的付出在消費者和貢獻者眼裡是有目共睹的。

本文轉自d1net(轉載)


相關文章