2022 年 7 月 3 日,星期日 ·5分鐘閱讀

加入 Postman

在過去的幾週裡,您可能已經看到 Postman 大力投資 JSON Schema 的未來,聘請了一些頂級貢獻者,讓他們有機會全職投入於改善 JSON Schema 規範和工具生態系統。我很高興地宣布,我是該團隊的下一個成員。

JSON Schema 一直是一小群志願者在業餘時間無償工作的成果。感謝 Postman,我們現在有一個四人團隊,擁有財務支持和創意自由,可以專注於過去沒有時間投入的專案和目標。我很興奮看到這個團隊在未來幾年能取得什麼成就。

當 Postman 去年聘請 Ben Hutton 全職從事 JSON Schema 工作時,我們社群內有些人擔心 Postman 可能會試圖以某種方式擁有或影響 JSON Schema 的發展,就像我們今天經常看到某些大公司對網路標準產生不當影響一樣。幸運的是,Postman 並非如此,而且如果情況如此,我們這些在過去一個月加入的人都不會加入。Postman 只是讓我們有可能投入更多時間和精力去做我們多年來一直在做的事情。

背景

我大約在 2013 年發現 JSON Schema,當時 draft-04 是新發布的。我當時在設計 API,並且正在深入研究 REST 和超媒體。我發現了 JSON Hyper-Schema,它獨特的超媒體處理方法讓我能夠以不顯眼的方式將超媒體引入 API,並表達其他方法無法實現的關係。但是,最大的優勢是,使用名為 Jsonary 的 JSON Hyper-Schema 實作以及一些基本的手動工具,我可以以互動的方式設計 API。在我們投入建構任何東西之前,我可以透過點擊連結和填寫表格來嘗試工作流程。這是 API 優先的設計,早於它被命名。

大約在 2015 年左右,我開始參與規格討論,並透過 StackOverflow 支援社群,在那裡我是 JSON Schema 問題的歷史最高回答者。有一段時間,我忙於其他必要的義務來支付帳單,無法像我希望的那樣投入其中。但是,幾年前,我設法轉型為兼職諮詢,目標是在必要時從事工作來支付帳單,並盡可能花時間在我喜歡的事情上,例如從事 JSON Schema 的工作。

在那段時間裡,我決定開發一個 JSON Hyper-Schema 實作。我原本希望使用現有的驗證程式庫,並在其之上建構一個 JSON Hyper-Schema 用戶端,但沒有任何東西具備這種能力。我最終編寫了自己的驗證實作,這成為首批 2019-09 實作之一。此實作的目標是提供一組用於建立 JSON Schema 相關程式庫的工具。驗證實作僅是一個範例,說明您可以透過這些工具建立什麼。最終,我會回到實際實作 JSON Hyper-Schema 用戶端的工作。

目標

現在我可以全職專注於 JSON Schema,我有很多目標。以下是我目前的三個首要目標,但誰知道風向會如何改變,優先順序會隨著時間推移而轉變。

我的首要任務是向 IANA 註冊 application/schema+json 媒體類型。它已在許多應用程式中使用了多年,現在是時候正式承認和定義它了。這是一個獨特的挑戰,因為 JSON Schema 多年來一直在不斷發展,並且未來還會繼續發展。無論我們最終得到什麼,都需要包含過去和未來的 JSON Schema。

另一個目標是完成 Understanding JSON Schema 文件更新。由於 JSON Schema 社群沒有資金,並且只能在業餘時間做出貢獻,因此像文件之類的事情通常沒有得到應有的關注。去年,我開始努力更新文件,以涵蓋兩個最新的(!)草案,這些草案尚未記錄。我已經完成大部分工作,但是還有一些東西,例如動態參考和詞彙系統,在我必須接諮詢工作來賺錢之前,我沒有時間完成。

正如我之前所說,我是 JSON Hyper-Schema 的忠實粉絲。由於資源不足和缺乏採用,我們已暫停 JSON Hyper-Schema 規範的工作。現在,我可以全職從事 JSON Schema 的工作,我希望讓 JSON Hyper-Schema(或類似的東西)回歸。這是一項大工程,最重要的是需要開發工具,以便人們可以看到它的強大之處。

個人

由於這是一篇介紹文,我想我應該也包含一些個人瑣事。我住在加利福尼亞州的聖路易斯奧比斯波。當我不在鍵盤前時,您可能會發現我在山中遠足和/或露營、攀岩或指導體操。這篇文章的封面圖片是我在南加州鮑爾迪山頂上做手倒立的照片。