PocketBase - Бэкэнд с открытым исходным кодом для SaaS и мобильного приложения

• Нет отзывов

Автор

Описание

PocketBase — это серверная часть Go с открытым исходным кодом, состоящая из: встроеной базы данных SQLite, управление файлами и пользователями, удобная панель администратора и простой REST-API

Документацию и примеры можно найти на странице https://pocketbase.io/docs

PocketBase можно загрузить непосредственно как отдельное приложение или использовать в качестве фреймворка/инструментария Go, который позволяет вам создавать собственную бизнес-логику для конкретного приложения и по-прежнему иметь в конце один переносимый исполняемый файл.

Установка

# go 1.18+

go get github.com/pocketbase/pocketbase

Пример

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”

)

 

func main() {

app := pocketbase.New()

 

app.OnBeforeServe().Add(func(e *core.ServeEvent) error {

// add new “GET /hello” route to the app router (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),

},

})

 

return nil

})

 

if err := app.Start(); err != nil {

log.Fatal(err)

}

}

Запуск/сборка приложения такие же, как и для любой другой программы Go, т.е. просто go run и go build

PocketBase встраивает SQLite, но не требует CGO.

Если CGO включен, будет использоваться драйвер mattn/go-sqlite3 , иначе – modernc.org/sqlite . Вы можете включить и отключить CGO, установив для CGO_ENABLED переменной среды значение 1 или 0 соответственно.

 

Включайте CGO, только если вам действительно нужно сократить производительность запросов чтения/записи за счет усложнения кросс-компиляции.

 

Чтобы создать минимальный автономный исполняемый файл, такой как предварительно созданные на странице выпусков, вы можете просто запустить go build его внутри examples/base каталога.

 

Ссылка на гит: https://github.com/pocketbase/pocketbase

Похожие

Вход

Либо введите логин и пароль:

Продолжая, я соглашаюсь с

Пользовательским соглашением,

Политикой конфиденциальности,

Политикой возврата.

Регистрация

Регистрация на сайте возможна только через один из предложенных сервисов:

Продолжая, я соглашаюсь с

Пользовательским соглашением,

Политикой конфиденциальности,

Политикой возврата.

Оплата