Was WeWeb ist und wofür man es nutzt
WeWeb ist ein visueller Frontend-Builder, kein Website-Builder. Der Unterschied ist entscheidend: WeWeb baut Web-Anwendungen — Tools mit Benutzerauthentifizierung, Datenbankoperationen, komplexen UI-Logiken. Nicht Blogs oder Marketing-Websites (dafür gibt es Webflow).
Wofür WeWeb ausgezeichnet ist: - **SaaS-Frontends**: der UI-Layer einer SaaS-Anwendung, verbunden mit Supabase oder Xano als Backend - **Interne Tools**: HR-Dashboards, Projektmanagement-Tools, Daten-Reports - **Kunden-Portale**: Bereiche, wo Kunden ihre Bestellungen, Tickets oder Konten verwalten - **Marktplätze**: Anzeige von Produkten/Dienstleistungen mit Suche, Filter und Checkout
WeWebs technischer Hintergrund: es generiert eine Vue.js-Anwendung, die über Vercels CDN gehostet wird. Das bedeutet global schnelle Ladezeiten und unbegrenzte Skalierung — das Frontend ist nur statische Dateien.
Für den deutschen Markt: WeWeb ist bei deutschen SaaS-Agenturen und Mittelstandsprojekten sehr beliebt, weil es Supabase EU-Region nativ unterstützt und damit DSGVO-konforme Apps ohne Kompromisse ermöglicht.
Erstes Projekt einrichten
Erstelle ein Konto auf weweb.io (kostenlos im Staging). Neues Projekt → Name und Beschreibung.
**Design-System einrichten**: WeWeb hat ein eingebautes Design-System mit Farben, Typographie und Spacing. Gehe zu Design → Design Tokens und definiere: - Primary Color: deine Hauptmarkenfarbe - Neutral Colors: Grauabstufungen für Text und Hintergründe - Font Family: z.B. Inter (ausgezeichnet für B2B-Apps) - Border Radius: wie rund sollen Buttons und Cards sein?
**Supabase verbinden**: Add Plugin → Supabase → Project URL und Anon Key eingeben. WeWeb liest dein Supabase-Schema und macht alle Tabellen als Datenquellen verfügbar.
**Authentifizierung aktivieren**: Mit aktiviertem Supabase-Plugin → Authentication → Enable. WeWeb erstellt automatisch Login/Logout-Actions und einen Auth-State, den du für bedingtes Rendering nutzen kannst.
Collections und Daten anzeigen
WeWebs Daten-Konzept dreht sich um "Collections" — Datensätze, die an eine Datenquelle gebunden sind:
1. **Collection erstellen**: Data → Collections → Add Collection → Supabase → deine Tabelle → Filter hinzufügen (z.B. nur Zeilen des aktuellen Nutzers) → Felder auswählen
2. **In einer Liste anzeigen**: Ziehe ein Container-Widget auf den Canvas → bind es an deine Collection (Data-Binding-Panel) → Container wird zu einer Liste: für jedes Element in der Collection wird eine Instanz des Containers erstellt
3. **Felder binden**: Innerhalb des Container-Kinder-Widgets: klicke auf ein Text-Widget → Value → bind an ein Collection-Feld (`item.title`, `item.created_at`, etc.)
4. **Filter und Suche**: Füge ein Input-Feld hinzu, gebunden an eine Seiten-Variable `searchQuery`. In der Collection: Filter → title contains `searchQuery`. Die Liste filtert automatisch wenn der Nutzer tippt.
Row-Level-Security in Supabase stellt sicher, dass WeWeb nur Zeilen zurückgibt, die der angemeldete Nutzer sehen darf — du musst keine Autorisierungslogik im Frontend schreiben.
Formulare und Daten schreiben
Daten in Supabase schreiben mit WeWeb:
1. **Formular-Layout**: Erstelle ein Seiten-Layout mit Input-Feldern (WeWebs Input-Komponente oder UI-Kit-Felder). Jedes Feld: bind an eine Seiten-Variable (`newItemTitle`, `newItemDescription`, etc.)
2. **Submit-Action**: Button → OnClick → Add Action → Supabase → Insert Row → deine Tabelle → Felder auf Seiten-Variablen mappen (title: `newItemTitle`, etc.)
3. **Feedback**: Nach erfolgreichem Insert: Show Notification ("Eintrag erstellt"), Variablen zurücksetzen, Collection neu laden (damit die neue Zeile in der Liste erscheint)
4. **Validierung**: WeWeb hat eingebaute Formular-Validierung — required Fields, E-Mail-Format, Mindestzahl Zeichen. Aktiviere sie in der Input-Komponente-Einstellungen.
5. **Update und Delete**: Update-Action folgt demselben Muster, aber mit PATCH statt INSERT. Delete: Button → Action → Supabase → Delete Row → Filter: `id = item.id`. Nach dem Löschen Collection neu laden.
Navigation und mehrere Seiten
WeWeb-Apps haben mehrere Seiten, verbunden durch Navigation:
**Seiten erstellen**: Pages-Panel → + Add Page → Name und URL-Slug (z.B. `/projects/:id` für eine Detail-Seite mit Dynamic Parameter)
**Navigation implementieren**: Button oder List-Item-Click → Action → Navigate → Seite auswählen → Parameter übergeben (z.B. `id: item.id`)
**Dynamic Parameter in Zielseite**: In der Zielseite-Query: filtere Supabase nach `id = url_parameter.id`. Zeige dann die Details des spezifischen Eintrags.
**Navigation Guards**: Für Seiten, die Authentifizierung erfordern: Page Settings → Access Control → Authenticated Users Only. WeWeb leitet nicht-angemeldete Nutzer zur Login-Seite weiter.
**Layout und Navigationsleiste**: Erstelle eine Header-Komponente mit dem App-Logo, Navigationslinks und einem User-Avatar-Dropdown (mit Logout-Option). Füge diese Komponente auf jeder Seite ein — WeWeb unterstützt wiederverwendbare Komponenten, die einmal bearbeitet überall aktualisiert werden.
Deployen und live gehen
WeWeb hostet deine App automatisch auf einem globalen CDN (Vercel). Um die App produktionsbereit zu machen:
1. **Custom Domain**: Settings → Domains → deine Domain hinzufügen (app.deinprodukt.de). WeWeb konfiguriert DNS-Records — du musst nur einen CNAME-Record bei deinem Domain-Provider setzen.
2. **Environment Variables**: Für Produktions- vs Staging-Unterschiede: Project Settings → Environments → Variablen setzen (z.B. SUPABASE_URL kann für Staging und Produktion verschieden sein)
3. **Publish**: Publish-Button → Select Environment (Production) → Publish. WeWeb baut und deployed die App auf dem CDN. Erste Deployments dauern 2–3 Minuten, danach 30–60 Sekunden.
4. **DSGVO-Elemente sicherstellen**: Datenschutzrichtlinie-Link im Footer, Cookie-Banner wenn Tracking-Scripts genutzt werden, Impressum (in Deutschland gesetzlich vorgeschrieben für kommerzielle Websites).
5. **Monitoring**: WeWeb integriert sich mit PostHog, Google Analytics und anderen Analytics-Tools. Aktiviere Event-Tracking für Schlüsselaktionen (Registrierung, erster Hauptaction, Zahlungs-Klick) um die Nutzungs- und Konversionsrate zu messen.