Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.1.0

pocketbase_server_flutter

Inicie o servidor Pocketbase diretamente do Android/iOS com flutter

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
138
Curtidas
35
Pontos Pub
130

Instalar pacote

flutter pub add pocketbase_server_flutter

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote pocketbase_server_flutter permite que desenvolvedores iniciem um servidor PocketBase diretamente em aplicativos Flutter para Android, iOS, Web, macOS, Windows e Linux. Ele simplifica a configuração do backend ao incorporar o servidor de banco de dados no aplicativo, ideal para prototipagem, desenvolvimento local ou necessidades leves de backend. O pacote utiliza binários nativos para cada plataforma, garantindo compatibilidade e desempenho. É especialmente útil para aplicativos que exigem dados em tempo real, autenticação e armazenamento de arquivos sem infraestrutura de servidor externa.

Casos de uso

  • Desenvolvimento local de aplicativos Flutter com backend embutido
  • Prototipagem rápida de aplicativos full-stack
  • Aplicações de primeira linha offline com recursos de sincronização
  • Projetos educacionais demonstrando Flutter full-stack
  • Aplicativos CRUD simples com banco de dados embutido

Principais recursos

  • Embebe o servidor PocketBase em aplicativos Flutter
  • Suporta todas as principais plataformas, incluindo móvel e desktop
  • Início automático e gerenciamento de servidor
  • Banco de dados em tempo real e autenticação
  • Leve e fácil de integrar

Indicado para

  • Desenvolvedores Flutter construindo aplicativos full-stack
  • Iniciantes aprendendo integração de backend
  • Equipes prototipando MVPs rapidamente
  • Projetos que precisam de banco de dados local com recursos em tempo real
  • Aplicativos que exigem manutenção mínima do servidor

Considerações

  • Não adequado para implantações em escala de produção
  • Tamanho do aplicativo aumentado devido aos binários do servidor embutidos
  • Requer manipulação cuidadosa do ciclo de vida do servidor
  • Escalabilidade limitada em comparação com soluções hospedadas na nuvem
  • Riscos potenciais de segurança se expostos publicamente

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Pocketbase Server Flutter

pocketbase_server version

Run Pocketbase Server directly from Android/IOS with flutter

Screenshot 2023-09-16 at 12 09 12 PM

Usage

Checkout Pocketbase Server example app

Start pocketbaseServer
PocketbaseServerFlutter.start(
  superUserEmail: "test@user.com",
  superUserPassword: "password",
  hostName: await PocketbaseServerFlutter.localIpAddress,
  port: "8080",
);
Advanced Usage
// Get path to load resources using `path_provider`
final Directory staticDir = await getTemporaryDirectory();

// Directory to load static files (Optional)
final String staticFolder = "${staticDir.path}/pb_static/";

// Directory to load js hook files (Optional)
final String hooksFolder = "${staticDir.path}/pb_hooks/";

// Directory to save sqlite files and default data
final String dataFolder = "${staticDir.path}/pb_data/";

// add `pb_static` and `pb_hooks` folder in assets of your project, and load all files from assets to given path
await PocketbaseServerFlutter.copyAssetsFolderToPath(
  path: staticFolder,
  assetFolder: "pb_static",
  overwriteExisting: true,
)

await PocketbaseServerFlutter.copyAssetsFolderToPath(
  path: hooksFolder,
  assetFolder: "pb_hooks",
  overwriteExisting: true,
);

PocketbaseServerFlutter.start(
  superUserEmail: "test@user.com",
  superUserPassword: "password",
  hostName: await PocketbaseServerFlutter.localIpAddress,
  port: "8080",
  enablePocketbaseApiLogs: true,
  dataPath: dataFolder,
  staticFilesPath: staticFolder,
  hookFilesPath: hooksFolder,
);

Stop pocketbaseServer

PocketbaseServerFlutter.stop();

Listen to pocketbaseServer events, setup eventCallback

PocketbaseServerFlutter.setEventCallback(
    callback: (event, data){
        // Handle event and data
    },
);

Some helper methods

// To check if pocketBase is running (not reliable)
PocketbaseServerFlutter.isRunning

// To check pocketbaseMobile version
PocketbaseServerFlutter.pocketbaseMobileVersion

// To get the ipAddress of mobile ( to run pocketbase with this hostname )
PocketbaseServerFlutter.localIpAddress

Mobile Setup

  • IOS

If getting error related to Undefined symbol, Make sure to run pod install on ios directory, open IOS project in XCode

Click on Pods, Then select pocketbase_server_flutter from Targets list, and select Build Phases

Screenshot 2023-09-16 at 11 19 30 AM

Then in Link Binary With Libraries section, click on + button and search for libresolv.tbd and choose from result and click on Add

image

  • Android

Should work out of the box

Desktop Setup

Desktop requires pocketbaseExecutable path in start()

To get pocketbaseExecutable in app, add the executable in Assets and on runtime copy it from assets to another path using path_provider Or download the executable on Runtime

  • MacOS

Edit your Runner/**.entitlements file

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
	<dict>
		<key>com.apple.security.app-sandbox</key>
		<false />
		<key>com.apple.security.cs.allow-jit</key>
		<true />
		<key>com.apple.security.network.client</key>
		<true />
		<key>com.apple.security.network.server</key>
		<true />
	</dict>
</plist>
  • Windows, Linux

Should work out of the box

Resources

https://pocketbase.io/

Built with: pocketbase_mobile

Note

This is for running Pocketbase server from mobile, to connect with pocketbase server, use official pocketbase client plugin

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.