當前位置: 妍妍網 > 碼農

35.5k star,開箱即用的一款go語言後端計畫

2024-06-28碼農

開源、go語言、後端、單個檔,當這些關鍵詞組合在一起的時候,這就不是一個簡單的計畫了,它將整個後端以單個檔提供服務。

如果你是go語言學習者,那麽這個計畫值得學習。

如果你司正在有做saas服務的需求,那麽這個後端計畫可以直接拿過來使用。

pocketbase

pocketbase簡介

PocketBase是一個開源的Go後端框架,它以單個檔的形式提供了一個即時的後端服務。這個框架特別適合於快速開發小型到中型的Web套用和行動應用。它的設計哲學是簡單性和易用性,使得開發者能夠專註於他們的產品而不是後端的復雜性。

demo

pocketbase有哪些特點?

  • 嵌入式資料庫 :PocketBase使用SQLite作為其嵌入式資料庫,支持即時訂閱功能,這意味著客戶端可以即時接收數據更新。

  • 檔和使用者管理 :它內建了檔和使用者管理功能,允許開發者輕松地處理使用者認證和授權。

  • 管理儀表板 :提供了一個方便的管理儀表板使用者介面,使得管理數據和使用者變得簡單直觀。

  • REST-ish API :PocketBase提供了一個簡單的REST風格API,使得與前端的整合變得輕松。

  • 擴充套件性 :透過JavaScript VM外掛程式,開發者可以使用JavaScript來擴充套件PocketBase的功能。

  • pocketbase如何快速開始

    1. 下載和安裝 :從GitHub的Releases頁面下載適合您平台的預構建可執行檔。

    2. 執行服務 :解壓下載的檔,並在解壓目錄中執行 ./pocketbase serve 命令來啟動服務。

    3. 自訂套用 :您可以使用PocketBase作為一個Go庫來構建您自己的客製套用。以下是一個最小範例:

    package main
    import (
    "log"
    "net/http"
    "github.com/labstack/echo/v5"
    "github.com/pocketbase/pocketbase"
    "github.com/pocketbase/pocketbase/apis"
    "github.com/pocketbase/pocketbase/core"
    )
    funcmain() {
    app := pocketbase.New()
    app.OnBeforeServe().Add(func(e *core.ServeEvent)error {
    // 添加新的"GET /hello"路由到套用路由器(echo)
    e.Router.AddRoute(echo.Route{
    Method: http.MethodGet,
    Path: "/hello",
    Handler: func(c echo.Context)error {
    return c.String(200"Hello world!")
    },
    Middlewares: []echo.MiddlewareFunc{
    apis.ActivityLogger(app),
    },
    })
    returnnil
    })
    if err := app.Start(); err != nil {
    log.Fatal(err)
    }
    }

    1. 初始化依賴 :執行 go mod init myapp && go mod tidy 來初始化依賴。

    2. 啟動套用 :執行 go run main.go serve 來啟動套用。

    3. 構建可執行檔 :執行 CGO_ENABLED=0 go build 來構建一個靜態連結的可執行檔,然後使用 ./myapp serve 來啟動建立的可執行檔。

    總結

    PocketBase是一個強大而靈活的後端框架,它透過簡化後端開發流程,使得開發者能夠快速地構建和部署套用。無論您是在尋找一個輕量級的後端解決方案,還是需要一個可延伸的平台來構建復雜的套用,PocketBase都能夠滿足您的需求。

    官網:https://pocketbase.io/

    開源地址:https://github.com/pocketbase/pocketbase

    最近整理了2023年最火的軟體神器,回復關鍵字 2023合集 獲取

    推薦閱讀 ⬇️ 都是高贊

    PS:求求啦! 在看 支持下吧!