Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.1.0

pocketbase_server_flutter

Starten Sie den Pocketbase-Server direkt von Android/iOS mit Flutter

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
138
Likes
35
Pub-Punkte
130

Paket installieren

flutter pub add pocketbase_server_flutter

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das pocketbase_server_flutter-Paket ermöglicht Entwicklern das direkte Starten eines PocketBase-Servers innerhalb von Flutter-Anwendungen auf Android, iOS, Web, macOS, Windows und Linux. Es vereinfacht die Backend-Einrichtung, indem es den Datenbankserver in die App integriert – ideal für Prototypen, lokale Entwicklung oder leichte Backend-Anforderungen. Das Paket nutzt native Binärdateien für jede Plattform, um Kompatibilität und Leistung zu gewährleisten. Besonders nützlich ist es für Apps, die Echtzeitdaten, Authentifizierung und Dateispeicherung benötigen, ohne externe Serverinfrastruktur.

Anwendungsfälle

  • Lokale Entwicklung von Flutter-Apps mit eingebettetem Backend
  • Schnelle Prototypenerstellung für Full-Stack-Anwendungen
  • Offline-first-Anwendungen mit Synchronisierungsfunktionen
  • Bildungprojekte, die Full-Stack-Flutter demonstrieren
  • Einfache CRUD-Anwendungen mit integrierter Datenbank

Hauptmerkmale

  • Integriert PocketBase-Server in Flutter-Anwendungen
  • Unterstützt alle wichtigen Plattformen einschließlich Mobil- und Desktopgeräte
  • Automatisierte Server-Start und -Verwaltung
  • Echtzeit-Datenbank und Authentifizierung
  • Leichtgewichtig und einfach zu integrieren

Geeignet für

  • Flutter-Entwickler, die Full-Stack-Anwendungen erstellen
  • Anfänger lernen die Backend-Integration
  • Teams prototypisieren MVPs schnell
  • Projekte, die eine lokale Datenbank mit Echtzeitfunktionen benötigen
  • Apps, die minimale Serverwartung erfordern

Hinweise

  • Nicht geeignet für Produktionsumfänge
  • Erhöhtes App-Größe aufgrund eingebundener Server-Binärdateien
  • Erfordert sorgfältige Behandlung des Server-Lebenszyklus
  • Eingeschränkte Skalierbarkeit im Vergleich zu cloudbasierten Lösungen
  • Mögliche Sicherheitsrisiken, wenn öffentlich verfügbar

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.