耗時半年,Eoapi 終於正式釋出 API 工具的外掛廣場

2022-06-02 18:00:23
 
這是我們的第一篇月報,每個月和每個來之不易的開發者分享產品故事以及產品進展。
在 5.20 這個極具中國特色的「節日」裡,Eoapi 釋出了 1.0.0 版,三個程式設計師掉了半年頭髮堆出了第一個正式版本。
 
把 Eoapi 介紹給大家的過程中,我們遇到的最多問題是:
你和 Postman 有什麼區別?
Postman 出現的時間,是八年前,幾乎是同型別 API 工具的祖師爺。
毋庸置疑它是一款優秀的產品,在那個使用 Curl、瀏覽器、抓包工具偵錯 API 的年代,這款支援通過介面對 API 發起測試的工具令人眼前一亮。
 
那我們為什麼還要做 Eoapi 呢?
 
  1. 商業工具不夠開放
商業工具不夠開放,除非官方支援,否則很難和其他平臺打通。
理想中的使用者每天都在使用我們的產品解決任何問題,而實際上使用者每天會和各種不同的工具打交道,並沒有足夠多的時間專注在使用你的產品。
 
△ by Jonathan Holt @ Dribbble
 
所以足夠簡單,同時打磨核心功能,定義好產品的邊界很重要。
我們不想做一個 All in one 的工具,如果沒法滿足使用者的所有需求,那就足夠開放讓使用者選擇按照他們喜歡的方式使用各個產品。
沒有什麼能比程式碼開源更開放了!
 
所以從去年 11 月開始,我們開始立項、組團隊開始做 Eoapi
截圖是我們的第一個使用者,我在調研時問他:你期待的 API 工具是什麼樣子?
 
他回答:希望各個工具不要做資料孤島,能連通多個產品
 
需要開發者自己寫工具連通
 
 
如果說程式碼開源是我們開放的第一步,那第二步就是加入外掛系統了。
如果只是程式碼開源,想要拓展功能仍然比較困難,我知道很多團隊會選擇在原始碼的基礎上二次開發,但當選擇二次開發的那一刻起,可能就和後續的官方更新 say goodbye 了,對使用者和官方來說都是一種損失,而外掛系統就是解決這個問題的一個很好的方案。
外掛系統讓開發者群體——一群極具創造力的人以更簡單的方式參與共建,擴充套件功能、複用功能、碰撞更多可能。
 
  1. 團隊需要本地部署
商業產品資料一般放在雲端,考慮到安全性,國內大多數公司會將 API 託管在自己的伺服器,有資源的大公司造輪子,沒資源的小團隊使用開源工具改造改造。
Eoapi 可以單機使用,資料儲存到本地,也支援在自己的伺服器遠端資料來源,你完全可以把資料掌握在自己手裡。
 
  1. 更流暢的共同作業
Postman 功能比較垂直,單點功能設計很棒,但實際用於團隊共同作業時功能操作邏輯不夠連貫,也不夠貼合國人開發共同作業場景。
國外的需求更偏向個體效率,而國內的需求更偏向於管理效率。如何在滿足個體效率的同時貼合國內的管理效率,這是 Eoapi 想要找到的平衡。
我們不會說 Eoapi 是一款針對中國開發者研發的產品,我們的使用者是所有開發者,不分國界。
 
我心目中真正好的 API 工具,遠不止偵錯,可以讓開發者:
  • 更快地開發更規範、更穩定的 API
  • 在工具上記錄的 API 資料發揮更大的價值
  • 共同作業更加地順暢

我們更新了什麼?

劃重點:
  • Eoapi 上線外掛廣場
  • Eoapi 支援系統設定
  • 官方檔案加入開發者檔案
  • 開發者命令列工具 @eoapi/cli 上線
  • 支援 M1 核心 Mac 安裝包
 
本月產品更新的主題是:一個外掛的一生。
外掛的【開發】->【偵錯】->【上傳】->【上架】->【安裝】->【使用】

外掛系統

  1. 外掛廣場

我們可以通過外掛廣場在應用中搜尋、管理外掛,目前有官方提供的兩個外掛:
  • 匯出 Swagger OpenAPI 格式外掛
  • 將 Eoapi 介面資料同步到 Eolink

 

 
 
可以通過反饋聯絡外掛開發者建議需求、反饋缺陷
 
 
  1. 開發者檔案

開發者檔案是開發者體驗必不可少的一環,
Eoapi 檔案準則:說人話、目的清晰、用詞準確、圖文並貌、最好有範例
ps:如果發現檔案有誤或者有改進建議,檔案最下方可以提 Issue 或 Pull request 貢獻此檔案~
 
  1. 外掛程式碼範例

倉庫地址:https://github.com/eolinker/eoapi-extensions
程式碼範例是瞭解一個外掛檔案結構最快速的方式,目前支援生成的功能模板:
  • 匯出外掛
  • 將 API 資料一鍵更新到其他平臺

 

  1. 開發者命令列工具

倉庫地址:https://github.com/eolinker/eoapi-cli
我們可以通過命令列快速生成一個外掛模板。
理論上來說,實現一個匯出外掛只需要:
  • 設定一個入口檔案
  • 實現 API 資料轉換的函數
除去函數實現時間,從設定到上傳外掛只需要 5 分鐘。
 

 

API 概況

可以在概況頁
  • 匯出 API 資料
  • 將 API 推播到其他平臺:需要安裝相關的外掛
後續計劃和各大平臺合作,因為產品起步期沒有流量(弱弱地),合作推進會比較困難,所以先選擇了 Eolink SaaS 產品進行合作,可以直接將 Eoapi 的介面同步到 Eolink 的某個專案。
相信隨著使用者數增加以及官方的努力,通過 API 資料打通的工具/平臺會越來越多。
目前已知場景:
  • 低程式碼平臺:從 API 檔案得到返回值格式,繫結低程式碼元件的欄位
  • API 閘道器:從 API 檔案資料快速生成閘道器路由,減少手動錄入的成本
  • API 監控平臺
  • Mock 平臺,例如 Mock Lab
  • 雲服務匯流排 ESB、CSB
如果有其他場景,歡迎反饋,我們會及時響應(下面有微信群,當然上 github 提 Issue 更好~)
 
 

系統設定

通過系統設定做一些個人的個性化設定,以及填寫外掛的所需的設定項。
 
 

其他

# 號代表相應的 issue、pull request 編號
  • 外掛廣場不需要 Node 支援 #36
  • 測試歷史時間顯示為空&&測試頁卷軸錯誤 #22
  • 拖動分組、API 無響應 #32
  • 刪除 API 顯示失敗 #27
  • MacOS 系統 M1 核心支援

 

功能預告

6 月圍繞共同作業功能、國際化實現功能拓展。
  • 匯入外掛核心支援 —— 匯入 Swagger、Postman、Eolink 等平臺資料
  • Mock —— 前端使用 Mock 協助聯調
  • 遠端資料來源 —— 資料來源部署在自己的伺服器,多人共同作業
  • 多語言支援 —— 國際化支援

 

如果你對我們的開源專案感興趣,可以來這裡:

Github: