開源和開發者是一段開放的戀情,而閉源並不喜歡。對於那些不喜歡這種聲明的人,↓ 是波士頓諮詢集團的一組指標,應該會讓你開始熱身。

無論統計數據如何,如果您爲 Web 開發編寫代碼,您就會想知道 2023 年開源領域的最新和最偉大的東西。所以,不要再好奇了,直接深入瞭解您應該向老闆推銷的十種工具。

☝🏻 我制定這份清單時考慮的因素包括:

  • 受歡迎程度

  • 社區貢獻

  • 支持節奏

  • 發佈速度

  • 新功能開發

  • 安全

他們在這個榜單上的表現如何

  • ~16K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:3/5

  • 釋放速度:3/5

  • 支持節奏:5/5

在設計新應用程序時,開發通知層是一項常見任務。它通常從發送簡單的電子郵件開始,但隨着應用程序的增長,您可能會管理跨多個渠道的數百條通知。這可能是一個耗時且複雜的過程。這就是 Novu 的作用所在。Novu 是一個基礎設施開發平臺,可幫助開發人員構建和部署雲原生應用程序。它的目標是讓開發人員更容易在其產品和用戶之間建立有意義的交易溝通。

優點

  • 易於設置和集成

  • 爲所有消息提供商提供單一 API(電子郵件、短信、推送、聊天)

缺點

  • 沒有基於 ORM 的配置

  • 雲託管服務無定價計劃

Novu 提供易於使用的 API,並注重開發人員體驗。這意味着開發人員可以輕鬆地將通知集成到他們的應用程序中,而無需擔心底層基礎設施。

使用 Novu,您可以

  • 連接不同的提供商:使用內置的流行提供商集合 - Sendgrid、Mailgun、Twilio 等等。添加 API 密鑰,即可開始使用。

  • 設置多種通知渠道:Novu 支持多種通知方式,包括電子郵件、短信、推送通知等。這意味着您可以通過用戶喜歡的渠道聯繫他們,並確保您的消息能夠送達。

  • 使用動態模板:選擇渠道,使用 {<!-- -->{dynamic}} 語法添加內容,並自定義規則來控制通知的傳遞。

  • 跟蹤反饋:Novu 提供通知活動反饋,監控與其相關元數據相關的每條傳出消息。

閉源替代方案

  • 導遊

  • 魔法鈴

🔎 他們在這份榜單上的表現如何

  • ~24.7K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:4/5

  • 釋放速度:5/5

  • 支持節奏:5/5

Appsmith 是一個低代碼平臺,允許開發人員創建軟件應用程序而無需編寫大量代碼。它提供了一個可視化界面來構建和連接各種組件,例如表單、按鈕和數據源。這使開發人員能夠以最小的努力快速創建原型並構建功能性應用程序。

優點

  • 幾個預先構建的小部件只需幾分鐘即可構建任何內部工具界面。

  • 企業功能 — 高級 VCS、審計日誌、自定義品牌、SSO。

  • 幾種自託管部署選項。

缺點

  • 移動設備的響應式用戶界面(即將在其路線圖中推出)

使用 Appsmith,您可以獲得

  • 預建小部件:Appsmith 附帶一個預建小部件庫,您可以使用它們來構建應用程序。這些小部件包括按鈕、表格、表單和圖表,具有分頁、內聯編輯和事件等高級屬性。

  • 原生集成:Appsmith 提供 20 多種原生集成,讓您可以輕鬆連接到您喜歡的數據庫和工具。其中包括 Postgres、MongoDB 和 Airtable 等熱門選項,以及使用 RESTful API 或 GraphQL 插件連接到幾乎所有 API 的能力。

  • JavaScript 代碼支持。您可以在 Appsmith 的任何地方在 {<!-- -->{ }} 內使用 JavaScript。您可以將 Appsmith 中的每個實體引用爲 JavaScript 變量,並對其執行所有 JavaScript 函數和操作。

  • 使用 Git 進行版本控制:Appsmith 上的此功能允許多個開發人員在 git 分支中添加他們的工作,提出代碼審查的拉取請求,與 CI/CD 管道集成,並提供提交歷史記錄以便在出現問題時返回到以前的版本。

閉源替代方案

  • 重新裝備

  • 德羅納總部

  • 超級街區

🔎 他們在這份榜單上的表現如何

  • ~44K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:4/5

  • 釋放速度:5/5

  • 支持節奏:4/5

近年來,數據庫之間的競爭不斷演變。經過三十年的發展和改進,Postgres 以可靠性和高性能贏得了聲譽,成爲各種規模企業的熱門選擇。Oracle 已經損害了 MySQL 的開源性質,隨着雲存儲的日益普及,Postgres 已成爲領先的開源數據庫選項。Supabase 的崛起反映了開源選項挑戰專有選項的趨勢,Supabase 是基於 Postgres 的 Google Firebase 替代品。

優點

  • 具有 Instant REST 的完整 Postgres 數據庫

  • 它帶有電子郵件/社交身份驗證

缺點

  • 其 SDK 僅適用於 JS(對其他語言的支持仍處於測試階段)

  • 安全策略在實時方面受到限制

使用 Supabase,您可以

  • 設置數據庫:大多數應用程序的核心是存儲數據併爲用戶提供快速、便捷的訪問。爲了實現這一點,Supabase 依賴於開源關係數據庫 PostgreSQL。這項技術使 Supabase 能夠在您的應用程序中提供存儲、檢索和管理數據的無縫體驗。

  • 配置身份驗證:Supabase 可輕鬆集成所有主流社交應用,爲您提供驗證應用用戶身份的各種選項。但如果您更喜歡傳統的方法,Supabase 還支持電子郵件密碼驗證。

  • 編寫邊緣函數:有時,您需要異步執行某些任務或在應用程序的後端運行操作。Supabase 提供邊緣函數來處理這些類型的用例。部署邊緣函數很容易,Supabase 將它們分發到全球,以確保所有用戶都能獲得一致、快速的體驗。

  • 設置存儲:作爲管理員,Supabase 平臺允許您輕鬆地從瀏覽器管理文件。只需單擊幾下即可搜索、上傳、查看和刪除文件。Supabase 存儲與 PostgreSQL 無縫集成,並提供一個簡單的 JavaScript API 供您使用。

閉源替代方案

🔎 他們在這份榜單上的表現如何

  • ~8K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:4/5

  • 釋放速度:3/5

  • 支持節奏:4/5

Supertokens 是一個開源身份驗證平臺,它提供安全且可擴展的解決方案,用於管理 Web 和移動應用程序中的用戶身份驗證和授權。使用像 supertokens 這樣的庫進行身份驗證的主要好處之一是它可以爲開發人員節省大量時間和精力。開發人員無需從頭開始編寫整個身份驗證系統,而是可以使用 supertokens 提供的預先存在且經過全面測試的代碼。這可以減少身份驗證過程中出現錯誤和安全漏洞的可能性。此外,supertokens 的開源性質意味着開發人員可以訪問源代碼,這使他們能夠根據需要自定義和擴展庫以滿足其項目的特定需求。

優點

  • 模塊化架構使設置變得簡單。

  • 它提供了一個覆蓋功能,使您能夠完全自定義身份驗證以及前端和後端的流程。

缺點

  • 不支持許多流行語言,如 Java 和 Php,並且沒有爲流行前端框架(如 Angular 和 Vue)預先構建的 UI。

  • 缺乏 SCIM 配置、管理和組織支持等企業功能。

除了核心身份驗證功能外,SuperTokens 還提供了全面的端到端解決方案來管理用戶會話。藉助此解決方案,可以輕鬆實現高級功能,例如在多個設備之間同步會話數據或限制用戶可以登錄的設備數量。這些功能可以幫助您構建更安全、更實用的應用程序,而 SuperTokens 可以輕鬆實現這些功能。

SuperTokens 附帶,

  • 完全可定製的 Auth UI:Supertokens 集成時附帶預構建的 UI 組件,可輕鬆在您的應用程序中實現身份驗證。最好的部分是這些 UI 組件是完全可定製的,因此您可以定製它們以匹配您的應用程序的外觀和感覺。

  • 會話管理:它提供了一個強大的會話管理系統,使您能夠輕鬆地以高級別的安全性創建、驗證、刷新和撤銷用戶會話。

  • 角色管理:Supertokens 還包括一個角色管理系統,可讓您輕鬆地將用戶分配到特定角色,並控制他們在應用程序中可以執行的操作。這是通過爲會話分配角色來實現的,因此您可以微調不同用戶的訪問級別。

閉源替代方案

  • 授權0

  • 奧克塔

🔎 他們在這份榜單上的表現如何

  • ~28K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:3.5/5

  • 釋放速度:3/5

  • 支持節奏:4/5

Appwrite 是一個流行的開源後端即服務 (BaaS) 平臺,它提供各種工具和功能來構建功能豐富的現代應用程序。對於尋求開源且高度可定製的 BaaS 平臺的開發人員來說,這是一個絕佳的解決方案。使用 Appwrite,您可以輕鬆爲應用程序設置後端,並利用實時數據庫、文件存儲、無服務器功能等功能。

優點

  • 更好地記錄自託管實例。

  • 容易上手。

缺點

  • • 沒有託管選項,因此它不是完全無服務器的,但如果你有法律要求自己託管BaaS,這仍然是比從頭開始構建自己的後端更好的選擇。

  • 你必須處理網絡服務器安全

使用 Appwrite,您可以

  • 設置身份驗證:Appwrite 提供了完整的用戶管理系統,允許開發人員輕鬆地爲他們的應用程序添加身份驗證和授權。

  • 管理數據存儲:Appwrite 提供靈活且可擴展的解決方案,使開發人員能夠輕鬆存儲、檢索和查詢數據。

  • 編寫函數:Appwrite 提供了函數的運行時,允許開發人員創建自定義後端邏輯和集成,而無需維護服務器。

  • 配置 webhook:當有新用戶註冊您的應用時,您可以收到短信通知。您還可以使用 webhook 觸發操作,例如在應用的某個文檔更新時清除緩存。

閉源替代方案

  • Firebase

🔎 他們在這份榜單上的表現如何

  • ~24K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:4/5

  • 釋放速度:3/5

  • 支持節奏:4/5

Astro 是一個用於構建網站的新框架,它允許您使用輸出零 JavaScript 靜態站點的 JavaScript 框架。默認情況下,Astro 不會向客戶端提供 JavaScript,而是將組件呈現爲 HTML。這有助於提高網站的性能,因爲更多的 JavaScript 會導致加載時間變慢。如果您確實需要在網站上使用 JavaScript,Astro 提供了通過客戶端指令使用部分水合的選項。這些指令允許您指定何時以及如何水合組件或將 JavaScript 添加到其中。

優點

  • 該模式提供了基於組件的架構的所有優點,例如可重用性和可維護性。

  • 網站對 SEO 友好,因爲所有靜態內容都在服務器上呈現。

缺點

  • 關於這個主題(Astro 的島嶼建築)的爭論並不多。

  • 許多框架聲稱支持該模式,這使得在它們之間進行選擇變得困難。

Astro 的一大優點是它支持流行的組件庫,如 React/Preact (JSX)、Svelte、Vue 和 Web 組件,讓已經熟悉這些工具的開發人員可以輕鬆快速地啓動和運行。

Astro 的自我定位是:

  • 以內容爲中心:Astro 旨在構建內容豐富的網站。這包括大多數營銷網站、發佈網站、文檔網站、博客、作品集和一些電子商務網站。

  • 服務器優先:Astro 儘可能地利用服務器端渲染而不是客戶端渲染。這是傳統服務器端框架(PHP、Ruby on Rails 等)幾十年來一直使用的方法。但您無需學習第二種服務器端語言即可解鎖它。

  • 完全靈活:Astro 是一個一體化 Web 框架,擁有構建網站所需的一切。Astro 包括組件語法、基於文件的路由、資產處理、構建流程、捆綁、優化、數據獲取等。

🔎 他們在這份榜單上的表現如何

  • ~24K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:4/5

  • 釋放速度:3/5

  • 支持節奏:4/5

近年來,GraphQL 作爲 REST API 的替代品而備受關注。GraphQL 是一種查詢語言,允許客戶端從服務器請求特定形狀的數據,從而實現客戶端和服務器之間更高效、更靈活的通信。

Nhost 是一個基於雲的後端平臺,它利用 GraphQL 幫助開發人員更快地構建和部署無服務器應用程序。Nhost 提供了一系列功能,可輕鬆構建可擴展且功能豐富的應用程序,包括用戶管理、數據存儲、無服務器功能、實時通信等。

優點

  • 根據數據庫中的表和列提供即時實時 GraphQL API。

  • 支持無服務器功能。

缺點

  • 實時選項有限。

使用 Nhost 的一個主要好處是,它允許開發人員利用 GraphQL,而不必擔心設置和維護自己的 GraphQL 服務器的複雜性。

使用 Nhost,您可以設置,

  • Auth:Nhost 提供完整的用戶管理系統,可輕鬆爲您的應用程序添加身份驗證和授權。這包括對電子郵件/密碼、社交登錄等流行身份驗證方法的支持。

  • 無服務器功能:Nhost 使您能夠創建自定義後端邏輯和集成,而無需維護服務器。這樣可以輕鬆地向您的應用程序添加自定義功能並根據需要進行擴展。

  • 實時 GraphQL API:Nhost 包含一個實時通信引擎,允許您管理訂閱以實時同步數據。

閉源替代方案

🔎 他們在這份榜單上的表現如何

  • ~49K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:4/5

  • 釋放速度:3/5

  • 支持節奏:4/5

Hoppscotch 是一款開源 API 測試工具,可幫助開發人員快速輕鬆地測試和調試他們的 API。它是一款輕量級工具,可用於發送 HTTP 請求並分析 API 的響應。

優點

  • 輕便且快速。

  • 文檔生成器。

  • 對 WebSocket 的支持還允許 SSE、Socket.IO 和 MQTT

缺點

  • 文檔很少

  • 缺少測試自動化功能

  • 需要通過 CLI 添加一些功能。

Hoppscotch 的一個關鍵特性是其簡單性。它具有簡單直觀的界面,使開發人員可以輕鬆開始進行 API 測試。它還包含各種功能,可輕鬆自定義和自動化 API 測試,包括對變量的支持、環境管理等。

Hopscotch 附帶,

  • REST 和 GraphQL 支持:Hoppscotch 同時支持 REST 和 GraphQL API,使其成爲一種多功能工具,可用於測試使用多種技術構建的 API。

  • 實時平臺:Hoppscotch 包含一個實時平臺,允許開發人員測試和調試其套接字或通道連接。這樣可以輕鬆識別和修復出現的問題。

  • API 文檔:Hoppscotch 允許開發人員快速輕鬆地創建全面的 API 文檔。這對於幫助其他開發人員理解和使用您的 API 特別有用。

  • PWA 支持:Hoppscotch 包含對漸進式 Web 應用程序 (PWA) 的支持,使開發人員可以輕鬆測試和調試其 PWA 所使用的 API。

閉源替代方案

🔎 他們在這份榜單上的表現如何

  • ~33K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:5/5

  • 釋放速度:5/5

  • 支持節奏:4/5

NocoDB 是一個開源項目,它提供了一個基於 Web 的平臺來構建和管理在線數據庫。它設計簡單靈活,允許用戶創建自定義數據庫和工作流程以滿足他們的特定需求。

優點

  • 分配和跟蹤任務,可進行第三方集成

  • 將您的 SQL 數據庫變成智能電子表格

缺點

  • 無雲版本(私人測試版開放)

NocoDB 的主要功能之一是其可自定義的數據模型。用戶可以創建自定義數據庫表並定義字段和它們之間的關係。這允許用戶以適合其特定用例的方式對其數據進行建模。

使用 NocoDB,您可以

  • 設置豐富的電子表格界面:帶有多種操作,允許配置完整的電子表格功能,包括 CRUD 操作、查看權限類型以及共享基礎和視圖的能力。

  • 設置自動化:NocoDB 包含對自動化的支持,可讓您自動執行重複任務和工作流程。這可以幫助您在處理數據時節省時間並提高效率。

  • 配置無頭 API:NocoDB 包含無頭 API,允許您以編程方式訪問和操作數據。這對於想要構建與 NocoDB 配合使用的自定義集成或應用程序的開發人員尤其有用。

閉源替代方案

他們在這個榜單上的表現如何

  • ~51K GitHub ⭐

  • 社區貢獻的價值:4/5

  • 新功能開發的價值:5/5

  • 釋放速度:5/5

  • 支持節奏:4/5

Strapi 是一個開源內容管理系統 (CMS),允許開發人員爲內容豐富的應用程序構建和管理 API。它設計簡單靈活,允許開發人員快速爲其應用程序構建和部署 API。

優點

  • 快速且可擴展

  • 內置身份驗證系統

  • 多種自動化工作流程

缺點

  • 難以遷移現有 API

  • TypeScript 支持有限

Strapi 的主要功能之一是其基於插件的架構。Strapi 包含一系列插件,允許開發人員輕鬆地向其 API 添加功能,例如支持文件上傳、電子郵件發送等。這些插件可以輕鬆安裝和配置,從而可以輕鬆自定義 API 的功能。

除了插件架構之外,Strapi 還包含一個用戶友好的管理面板,允許開發人員和內容編輯者輕鬆管理其內容。這包括支持創建和管理內容類型以及預覽和發佈內容。

使用 Strapi,您可以獲得

  • GraphQL 或 RESTful:Strapi 允許開發人員根據需要選擇使用 GraphQL 或 RESTful API。這使其成爲一個靈活的平臺,可用於爲各種應用程序構建 API。

  • Webhooks:Strapi 包含 webhooks 支持,允許開發人員根據特定條件觸發自定義事件和操作。這對於構建集成和自動化工作流程特別有用。

  • 身份驗證和權限:Strapi 包含一個用戶管理系統,允許開發人員輕鬆地向其 API 添加身份驗證和授權。這包括對電子郵件/密碼、社交登錄等流行身份驗證方法的支持。

  • 國際化:Strapi 支持國際化,允許開發人員輕鬆構建支持多種語言的 API。這對於構建迎合全球受衆的應用程序尤其有用。

閉源替代方案

  • 內容豐富

感謝您閱讀這篇文章!我很想聽聽您的想法和您的開源項目列表。